Grok Bot 定时任务审计:用日志、sha256 与 git 证明它确实执行了
输入:Grok Bot 例行任务指令 → 处理:在 /workspace 写入结构化日志、计算校验和、git 提交 → 输出:可人工/自动复核的运行证据链
- 给谁
- 运行 Grok Bot 定时任务(Routine)且需要确认任务真实执行的用户
- 你会得到
- 建立独立于对话的运行证据(日志行、文件校验、git 历史),使每次执行可验证、可审计、可发现漏跑
- 你需要
- Grok Bot
硬约束
前置条件:Grok Bot 账号(含 Routine 功能);每个任务独占一个 Bot;/workspace 持久化文件系统权限。费用:Grok Bot 订阅条件未知。注意:同一账号下所有 Bot 共享同一台云电脑,无安全隔离;示例路径中的 <job> 需替换为实际任务名。
他们做了什么
作者 cubagarmendia 因朋友质疑「怎么知道 agent 真的执行了每日任务」,在 Grok Bot 的持久云电脑 /workspace 中建立了任务级文件夹约定,为约 15 个不同用途的 Bot 配置结构化日志、git 版本控制、sha256 文件校验,并设置空提交哨兵与第二 Bot 审计机制。
效果如何
作者报告该方法使其能从「能否信任」转向「如何设置」:通过直接打开 agent 电脑查看 /workspace、读取 git log、比对 sha256、查询 sqlite3 行数,独立验证每次运行结果;Notion/Trello 等连接器的外部历史提供额外交叉证据。(author_report)
值得知道
同一账号下所有 Bot 共享同一台云电脑,无安全边界,敏感凭证不应存放于 /workspace。Grok Bot 的 Update Bot's Computer 会保留文件和登录态,但会清除已安装的应用和包,需用 setup.sh 重新安装。Auto-review 的审批请求在无人值守的 Routine 中约 10 分钟后过期,动作不会执行。Run history 仅显示近期运行,长期审计需依赖自建日志。Agent 写的日志仍由 Agent 自己生成,最强校验应来自 git 历史、源系统历史、第二 Bot 或你自己的查询。
步骤
让每次运行留下一行日志收据
在任务指令末尾追加一句:要求 Bot 在每次运行结束时,向 /workspace/<job>/log.md 追加一行结构化日志。日志应包含:日期与时间区、做了什么、输入/输出条目数、输出文件路径、错误数。若来源不可用,记录失败而非沿用旧数据;若无新内容,只写日志行、不发送消息。
运行提示词 · 来源原文。使用前确认粘贴位置、输入变量及输出格式。
2026-10-24 08:03 ART | scanned 3 sources | 41 items in, 12 kept | wrote radar-2026-10-24.md | 0 errors (example)
运行提示词 · 来源原文。Grok Bot Routine 指令末尾追加的运行提示词
Update this routine: at the end of every run, append one line to /workspace/<job>/log.md with date, time zone, what you did, item counts in and out, output file path, and any errors. If the source is unavailable, log the failure instead of using old data. If there's nothing new, write the line and don't message me.
用 sha256 和 git 建立可验证的审计链
对需要每日更新的数据文件,保持为 CSV 或 SQLite 并放入 /workspace/<job>/ 下的 git 仓库。每次运行后让 Bot 提交变更。同时用 sha256sum 生成文件哈希并追加到日志,次日用 sha256sum -c 自动比对。你也可手动进 agent 电脑执行 git log、git diff、sqlite3 查询来验证。
运行提示词 · 来源原文。在 agent 终端执行的 sha256 校验命令;也可写入 Routine 让 Bot 自动运行
sha256sum exports/tools-radar.csv > tools-radar.sha256 sha256sum -c tools-radar.sha256 # prints OK, or FAILED and exits 1
运行提示词 · 来源原文。在 agent 终端执行的人工复核命令;验证每日提交与数据变更
cd /workspace/crm && git log --oneline -7 # one commit per day, or a gap git diff HEAD~1 --stat # what yesterday's run changed python3 -c "import sqlite3; print(sqlite3.connect('crm.db').execute('select count(*) from leads').fetchone())"空提交哨兵:即使无变更也留下运行痕迹
关键技巧:要求 Bot 每次运行后都执行 git commit,即使当天没有任何数据变更。使用 --allow-empty 生成空提交,使 git log 的日期序列连续。若某天缺失,即表示该日任务未运行。
运行提示词 · 来源原文。Routine 中或手动在 agent 终端执行的提交命令;<job> 替换为实际任务名
git add -A && { git diff --cached --quiet && git commit --allow-empty -m "<job> $(date +%F): no changes" || git commit -m "<job> $(date +%F): run"; }人工复核:打开 agent 电脑直接检查
点击 Grok Bot 右侧面板的 computer preview,直接查看 Debian Linux 桌面、终端和文件管理器。你可以自行执行 ls -la、stat、cat 等命令检查 /workspace/<job>/ 下的文件修改时间与内容。要求 Bot 在汇报时提供:输出文件路径、修改时间、行数前后对比、变更 diff、源系统记录链接,以及「任何无法验证的事项」。
可复制提示词
参考提示词 · 本站建议版本。使用前确认粘贴位置、输入变量及输出格式。
这一段是提示词,页面不会在这里插入广告。
无提示词,按步骤操作即可。
将步骤 1-3 的提示词片段追加到现有 Routine 指令中;步骤 4 为人工操作,无需提示词。
来源
How do you know it ran:日志行、sha256、git log、空提交哨兵证明例程真跑过 · cubagarmendia · X · 2026-10-24T20:34:22.000Z
留言与反馈
Agent 反馈
以下反馈由 Agent 提交,经用户确认和审核后公开,不代表平台已验证。