第九章:后台任务和周期检查
Automations 是什么
Automations 是让 Codex 在后台或按计划执行重复任务的能力。
提示
适合:
- 每天检查测试是否失败。
- 每周总结依赖更新。
- 定期检查文档和代码是否漂移。
- 监控 PR、部署或 issue 状态。
- 生成团队例行摘要。
提示
不适合:
- 一次性问题。
- 目标不清楚的大改。
- 需要人工决策的高风险写操作。
App 中的创建方式
App 主线里可以直接自然语言创建:
每天早上 9 点检查这个项目的测试是否失败。如果失败,只汇总失败测试和可能原因,不要修改文件。
提示
创建后不要立刻信任它。先检查:
- App 是否显示 automation 名称和状态。
- 运行时间是否符合你的时区。
- 工作目录是否是目标项目。
- 是否只读或写入范围受限。
- 输出会回到当前线程、通知、PR 评论还是其他地方。
- 有没有暂停、删除或修改入口。
Automations 的三类常见任务
内嵌表格
| 类型 | 示例 | 权限建议 |
|---|---|---|
| 摘要 | 每周总结 open issues | 只读 |
| 检查 | 每天运行测试或 lint | 只读或最小写入 |
| 修复 | 自动修小问题并提交 PR | 必须明确范围和 Review |
学习阶段优先只读。
Cron、Heartbeat 和 Thread Follow-up 怎么理解
App 里的自动化可以理解成三类使用体验:
内嵌表格
| 类型 | 适合 | 注意 |
|---|---|---|
| 定时 / 周期任务 | 每天、每周、每小时检查 | 写清时区、目录、输出 |
| 当前线程稍后继续 | 30 分钟后提醒、稍后复查 | 适合短期 follow-up |
| 监控任务 | 盯 PR、部署、issue 状态 | 要写清停止条件 |
不要手写复杂调度语法给普通读者。App 用户优先用自然语言创建,再在 App 里 Review 生成的计划。
与 Skills 组合
Automation 管“什么时候运行”,Skill 管“怎么做”。
例子:
每周一上午运行 $dependency-review,总结 package.json 的依赖风险。不要自动升级依赖。
好处:
- Automation 保持短。
- Skill 里沉淀详细流程。
- 团队可以复用同一个 Skill。
与 Commands 的区别
内嵌表格
| 能力 | 触发方式 | 适合 |
|---|---|---|
| Command | 当前会话手动输入 | 立即执行 |
| Skill | 用户点名或自然语言触发 | 可复用流程 |
| Automation | 时间或后台事件触发 | 重复任务 |
不要用 Automation 做本来一次就能完成的事。
安全基线
内嵌表格
| 任务 | 建议 |
|---|---|
| 文档漂移检查 | 只读,输出报告 |
| 测试守护 | 先只读,失败后提醒 |
| PR 修复 | 用 worktree 或分支,必须 Review |
| 依赖升级 | 不自动合并 |
| 外部服务通知 | 限定目标 channel / repo |
所有自动化都要避免:
- 读取
.env*。 - 自动推送主分支。
- 自动删除文件。
- 自动扩大外部服务权限。
运行后验收
第一次运行后必须检查:
内嵌表格
| 验收项 | 通过标准 |
|---|---|
| 时间 | 按预期时间触发,不跨错时区 |
| 范围 | 只读/只写指定目录 |
| 输出 | 摘要足够人判断下一步 |
| 失败处理 | 失败时汇报原因,不无限重试 |
| 副作用 | 没有自动提交、推送、发错消息 |
| 暂停入口 | 能在 App 中暂停或删除 |
与 GitHub Action / CI 的区别
内嵌表格
| 类型 | 运行位置 | 适合 |
|---|---|---|
| App Automation | Codex App / 用户环境 | 个人和团队例行检查 |
| GitHub Action | CI runner | PR、push、仓库自动化 |
| CLI codex exec | 终端或脚本 | 无头一次性任务 |
| SDK | 自研系统 | 内部平台和复杂队列 |
不要把 App Automation 当成 webhook server。接协作平台、钉钉、企业微信或内部系统时,通常应由外部系统触发 CI / SDK / Cloud,而不是让桌面 App 暴露公网。
设计模板
8.1 只读摘要任务
每周五 17:00 总结本仓库本周 open PR 的状态,列出阻塞原因和需要人工决策的项。只读,不评论 PR。
8.2 测试守护任务
每天 9:00 在当前项目运行 npm test。如果失败,汇总失败测试名、错误摘要和相关文件。不要修改文件。
8.3 文档漂移任务
每周一检查 README、AGENTS.md 和 docs/ 是否与 package.json 的脚本一致。只输出 drift report,不修改文件。
8.4 小范围自动修复任务
每周三检查 docs 中失效的内部相对链接。只允许修改 docs/ 下的 markdown 链接,改完展示 diff,不自动提交。
常见问题
Q1:电脑关机时 App Automations 还会运行吗?
取决于当前 App 和环境能力。需要可靠持续运行时,优先考虑云端 runner、GitHub Action 或 Codex Cloud。
Q2:Automation 能自动修 bug 吗?
能,但不建议一开始就自动修。先做只读报告,再逐步放开小范围写入。
Q3:可以用配置文件批量管理 Automations 吗?
以当前 App 支持能力为准。教程不要臆造不存在的 .codex/automations.toml 主路径。