Codex 定时任务

怎么让 Codex 主动干活

主动的 Codex 不会在对话框里干等:常规的确认自己处理,按时间表运行,遇到 PR 或 Slack 消息就响应,做完向你汇报。OpenAI 对这几件事各有一个功能,其中一些 ChatGPT 也能用。这篇教程讲怎么设置、每个功能做不到什么,以及怎么给 Codex 一份长期的工作,而不是一次性的提示词。它们都缺一个心跳:按固定节奏唤醒同一个对话,让它去领下一个任务。我们会讲最接近的内置做法,以及 Crewmark 怎么补上。

“主动”对 Codex 意味着什么

默认的 Codex 是你问它才答。要让它主动起来需要三样东西,分散在产品的不同地方:

  • 不用事事等确认:选一个放行常规操作的权限模式。
  • 自己开始干活:用定时任务、事件触发或 cron 让它不用你开口就开工。
  • 知道下一步做什么:有待办和目标,每次运行都有有用的事可做。

分步骤:让 Codex 主动干活

  1. 选一个不会事事都停下来的权限模式

    在 CLI 里输入 /permissions。“Approve for me”只在操作看起来可能不安全时才问你,适合你不盯着的工作。“Full access”放开所有文件和网络限制,只适合隔离的机器。老教程里的 --full-auto 已经不再支持,改用 --sandbox workspace-write。

    /permissions
  2. 创建 Codex 定时任务(原 Automations)

    原来的 Codex Automations 现在叫 Scheduled tasks(定时任务)。在 Codex 对话里直接提:要做什么、什么时候跑、结果回到这个对话还是新开一个。可以每隔几分钟、每天或每周运行,在侧边栏的 Scheduled 页面管理。用到本地文件的任务需要电脑开着、应用在运行;在 Git 仓库里可以放到单独的后台 worktree 里做。Codex CLI 不能管理定时任务。

    每个工作日早上 9 点,检查这个仓库有没有失败的测试,
    能修的在后台 worktree 里修好,
    在这个对话里发一份总结。
  3. 用事件触发任务

    任务也可以不按时间,而是在有事发生时启动:收到新的 Gmail 邮件、指定 Slack 频道里有新消息、GitHub PR 有动静。事件触发要在 ChatGPT 网页版或手机端设置,需要符合条件的订阅;一个任务只能用事件或时间表其中一种。

  4. 用 codex exec 配 cron 定时运行

    codex exec 不打开交互界面直接运行 Codex:进度输出到 stderr,只有最终结果输出到 stdout,适合脚本和定时任务。不加 --sandbox workspace-write 时它是只读的。OpenAI 文档把定时任务列为用途之一,但没给 cron 示例,下面这个是我们写的。

    # crontab -e: every weekday at 9:00
    0 9 * * 1-5  cd ~/my-app && codex exec --sandbox workspace-write "Fix any failing tests and summarize what you changed" >> ~/codex-cron.log 2>&1
  5. 把 Codex 放进 GitHub 工作流

    GitHub Action openai/codex-action 在工作流里运行 Codex,触发条件由你决定。在 PR 下评论 @codex review 让它审查代码,或者让 @codex 修 CI 失败。在 Linear 里可以把 issue 直接分配给 Codex。

    # .github/workflows/codex.yml
    steps:
      - uses: openai/codex-action@v1
        with:
          prompt-file: .github/codex/prompts/review.md
          openai-api-key: ${{ secrets.OPENAI_API_KEY }}
  6. 用 hooks 在会话里响应事件

    Codex 的 hooks 在会话开始、调用工具前后、一轮结束等时刻运行你的命令。它们在 Codex 干活时做出反应,但不会启动 Codex。要让它开工,用定时任务或事件触发。

来源:OpenAI 的 Codex 定时任务文档(英文)

缺的那一块

加一个心跳:按节奏唤醒同一个对话去领下一个任务

心跳(heartbeat)是定期往同一个 Codex 对话里发的一句提醒,比如工作时间内每 30 分钟一次:看看你的工作,领下一个任务。定时任务是重复同一句提示词;心跳则一直用同一个对话,所以 Codex 记得上次做到哪,会从队列里拿下一项。这就是“重复执行的任务”和“持续干活的员工”的区别。

  1. 最接近的内置做法

    Codex 定时任务可以把结果发回同一个对话,所以可以把它的提示词写成心跳:“每 30 分钟看一下 TODO.md,领下一个没勾的任务,做完勾掉”。队列文件还是要自己维护,定时任务也不知道工作时间和其他 agent。

  2. 用 Crewmark:自带心跳

    Crewmark 的 daemon 在工作时间内每 15、30 或 60 分钟用 codex queue --resume 把心跳排进员工自己的 Codex 对话;看板就是队列,每次心跳员工领下一个 issue 并汇报进度。详见下文。

ChatGPT 呢?

ChatGPT 也能主动找你。ChatGPT 的定时任务可以给你发提醒、定期简报和它监控到的结果,在侧边栏的 Scheduled 页面管理。能建几个、多久跑一次取决于你的订阅。主动推送每日简报的 ChatGPT Pulse 已在 2026 年 6 月停用,OpenAI 建议改用定时任务来做每日简报。

和 Codex 的区别:ChatGPT 的任务只能用 ChatGPT 能接触到的东西,碰不到你的代码库。要在仓库里干活,用 Codex 定时任务或 codex exec。

该选哪一个

方式会不会自己开工电脑要不要开着适合
Approve for me不会,但你交代后很少停下要做任务时少被打断
本地文件的定时任务会,按时间表要,应用在运行每天在仓库里干活
网页端定时任务会,按时间表不用不需要本地文件的工作
事件触发的任务会,Gmail、Slack 或 GitHub 有动静时不用响应消息和 PR
codex exec + cron会,按你的 cron要完全由你掌控的脚本
Codex GitHub Action会,按工作流触发不用代码审查和修 CI
ChatGPT 定时任务会,按时间表不用提醒和简报
把定时任务当心跳会,按时间表,结果发回同一个对话本地文件要一个 agent 按 TODO 文件干活
Crewmark 心跳会,工作时间内每 15–60 分钟,在同一个对话里要有任务清单、目标和工作时间的 agent

这些功能还留给你自己的事

上面每种方式都能启动一次运行,但没有一个会决定 Codex 这周该忙什么:

  • 定时任务每次都重复同一句提示词,不会从待办里接下一件事,也不知道上次哪些没做完。
  • 没有一块共享的看板让你给 Codex 派活,看哪些在做、做完了、卡住了。
  • 没有工作时间,也没有目标,没法让它在月底前把某个数字提上去。
  • Codex 和 Claude Code 一起用时,要维护两套提示词、两套时间表,看两个地方。
用 Crewmark

给 Codex 一份长期的工作

Crewmark 把一个 Codex 对话变成有岗位、有目标、有工作时间和心跳的 AI 员工,和你的 Claude Code 员工用同一块看板派活。它跑在你真正的 Codex 里,用的是你已经付费的 ChatGPT 订阅。

  1. 雇一个员工,连上它的 Codex 对话

    选一个岗位,在 Codex 里运行 Crewmark 给你的设置命令。这个对话就成了这名员工,两次醒来之间它记得做过的事。

  2. 设定工作时间和心跳

    你电脑上的后台小程序 Crewmark daemon 在工作时间内每 15、30 或 60 分钟,用 codex queue --resume 把员工的心跳提示词排进这个对话;下班时间不打扰它。

  3. 在看板上分配 issue

    你分配 issue 或在 issue 下评论时,消息会送进同一个对话,Codex 自己接新活,不用你复制粘贴过去。

  4. 用数字衡量它

    给每个员工一个 KPI。它围绕这个数字安排 issue,在看板上推进,汇报进度,需要你拍板时给你发私信。

一起用效果最好

小的重复杂事交给 Codex 自己的定时任务,持续的工作交给 Crewmark:把员工对话的权限设成“Approve for me”,让每次心跳都真正干成事;PR 审查继续用 @codex review。用的是 Claude Code?看 怎么让 Claude Code 主动干活。

常见问题

Codex 的心跳是什么?

定期往同一个 Codex 对话里发的提醒,比如工作时间内每 30 分钟一次,让它看看手上的工作、领下一个任务。因为是在同一个对话里继续,Codex 记得之前做过什么。最接近的内置做法是让定时任务把结果发回同一个对话;Crewmark 内置了心跳,还带工作时间和作为队列的看板。

Codex Automations 去哪了?

改名叫 Scheduled tasks(定时任务)了。在 Codex 对话里直接提出来创建,在应用的 Scheduled 页面管理;文档地址仍以 /automations 结尾。

codex --full-auto 还能用吗?

不能,--full-auto 已经不再支持。要让 Codex 改文件用 --sandbox workspace-write,或者用“Approve for me”权限模式,只在操作看起来不安全时才问你。

Codex 怎么设置定时任务或 cron?

在 Codex 应用里直接让它建一个定时任务;用自己的调度器的话,在 cron 里调用 codex exec,需要改文件就加 --sandbox workspace-write。代码仓库还可以在工作流里用 Codex 的 GitHub Action。

Codex 定时任务为什么没有运行?

查四件事。要用本地文件的任务,需要电脑开着、Codex 应用开着,项目也还在磁盘上。在 ChatGPT 网页版里,工作区要开启定时任务。任务用的模型如果已经下线,要换一个模型。还有,只读模式下改文件、联网的命令都会失败;任务需要改文件就换成 workspace-write。

Codex 定时任务能在原来的对话里给我发消息吗?

能。在对话里创建的任务会带着上下文回到同一个对话,可以按分钟、每天或每周运行。单独创建的任务每次运行都会新开一个对话,结果显示在 Scheduled 页面。

能用 Codex CLI 创建定时任务吗?

不能。定时任务在 Codex 桌面应用或 ChatGPT 网页版里创建和管理,CLI 和 IDE 插件没有 Scheduled 页面。用 CLI 的话,改用 cron 调用 codex exec。

ChatGPT 能主动给我发消息吗?

能,通过定时任务和事件触发的任务。主动推送每日简报的 ChatGPT Pulse 已在 2026 年 6 月停用,OpenAI 建议改用定时任务做每日简报。

电脑关机时 Codex 还能干活吗?

网页端定时任务、事件触发、Codex 云端任务和 GitHub Action 可以。用到本地文件的方式,包括本地定时任务、cron 和 Crewmark,都需要电脑开着。想让它通宵干活,请看 Codex 长时间任务。

用 Crewmark 要额外付 token 费吗?

不用。员工跑在你自己的 Codex 里,用的是你已有的 ChatGPT 订阅,没有第二份 token 账单。

已于 2026 年 11 月 2 日对照 OpenAI 的 Codex 官方文档核对;定时任务相关的回答于 2026 年 11 月 8 日核对。

让 Codex 成为你的第一个 AI 员工

给它一个岗位、一个目标、工作时间和心跳,然后派给它第一个 issue。