---
title: "设置 App 自动化任务"
description: "基于官方 Codex App Automations 教程，讲清 automations 适合什么重复任务、worktree 怎么选、权限怎么控。"
verifiedAt: "2026-05-06"
---

import { Cards, Card } from 'fumadocs-ui/components/card';

Codex App Automations 用来在后台定期运行重复任务。有发现时进入 inbox；没有需要报告的内容时自动归档。复杂任务可以和 skills 结合。

> [!WARNING]
> Automation 是无人值守运行，不是“省一个点击”。创建前必须写清权限、范围、停止条件和结果审查方式。

<Cards>
  <Card title="Automations" href="https://developers.openai.com/codex/app/automations">
    官方 App 自动化任务说明。
  </Card>
  <Card title="Worktrees" href="/docs/codex/official/01-products/43-worktrees">
    写入型自动化优先隔离到后台 worktree。
  </Card>
  <Card title="Skills" href="/docs/codex/official/03-extensions/09-skills-reuse">
    重复流程先沉淀成 skill，再交给 automation 反复运行。
  </Card>
</Cards>

## 它解决什么

```mermaid
flowchart LR
    Schedule["schedule"] --> Run["background run"]
    Run --> Finding["findings"]
    Finding --> Inbox["inbox"]
    Run --> Silent["nothing to report"]
    Silent --> Archive["auto archive"]
```

适合 automation 的任务，通常有固定频率、固定范围、固定判断标准：

- 定期检查 PR 状态。
- 扫描最近提交风险。
- 汇总某个目录变化。
- 跟进长期命令是否完成。
- 提醒某个 review loop 继续推进。

不适合 automation 的任务：

- 目标模糊。
- 需要频繁人工判断。
- 会改大范围文件。
- 会触碰凭据或生产配置。
- 没有停止条件。

## Thread 还是 standalone

Thread automation 挂在当前 thread 上，适合需要保留同一段上下文的任务。比如持续跟进一个部署、一个 PR review、一个正在排查的问题。

Standalone automation 每次按 schedule 启动 fresh run，适合彼此独立的周期任务。比如每天看某个目录最近变化、每周生成文档过期报告。

判断原则很简单：

- 每次 run 都应该从干净上下文开始：standalone。
- 必须记住这段对话里的历史：thread automation。
- 任务范围还没稳定：先别自动化。

## Local project 还是 worktree

Git 仓库里，automation 可以在本地项目中运行，也可以在后台 worktree 中运行。

Local project 会直接碰当前 checkout，可能改到你正在编辑的文件。只适合只读任务，或你明确希望它处理当前工作区。

Worktree 会把 automation 的改动和你正在做的工作隔离开。涉及写文件、生成 patch、长期后台运行时，新手优先选 worktree。

未使用版本控制的项目没有这种隔离，automation 会直接在项目目录中运行。风险更高，只建议做只读任务。

## 权限怎么给

Automations 使用你的默认 sandbox settings。

- read-only：适合检查、总结、提醒。
- workspace-write：适合在明确范围内写入文件。
- full access：后台任务风险最高，除非在可重建环境里，不要默认启用。

需要特殊命令时，优先用 rules 选择性 allowlist，而不是把整个 automation 放到 full access。企业环境里，管理员还可以用 managed configuration 限制 approval policy 和 sandbox modes。

## Prompt 怎么写

Automation prompt 要能在未来反复运行，不能依赖“刚才我们说的那个”。

必须写清：

- 任务范围。
- 检查频率。
- 什么时候报告。
- 什么时候归档。
- 什么时候停止。
- 什么时候向用户要输入。

如果它会改文件，还要写清：

- 允许目录。
- 禁止目录。
- 验证命令。
- 输出格式。
- 失败时如何处理。

如果任务复杂，先做 skill。用 skill 定义稳定流程，再在 automation 中显式调用它，比把长 prompt 直接塞进 automation 更可维护。

## 常见坑

- 没手动测试 prompt 就设 schedule。
- 让 automation 在本地 checkout 写文件，干扰自己正在开发的改动。
- 把一次性模糊任务做成长期自动化。
- full access 后台运行，事后才发现改了不该改的文件。
- 没有停止条件，automation 一直报告低价值结果。
- 使用 worktree 后不清理历史 runs。
- 结果进 inbox 后不审查，以为自动化等于完成。

## 验收清单

- 普通 thread 手动跑过一次 prompt。
- scope、工具、模型和输出符合预期。
- 前几次 run 都逐条审查 inbox。
- 写入发生在 worktree 或允许范围内。
- 验证命令真实运行。
- 没有发现内容时能安静归档。
- 任务完成后能停止 automation 并清理不再需要的 worktree。

## 官方资料

- [Automations](https://developers.openai.com/codex/app/automations)
- [Codex App worktrees](https://developers.openai.com/codex/app/worktrees)
- [Rules](https://developers.openai.com/codex/rules)
- [Skills](https://developers.openai.com/codex/skills)
