30 秒结论:先选对运行入口,再写定时 Prompt
需要读写本机项目,使用 ChatGPT 桌面 App 的 Scheduled task,并保持电脑开机、App 运行和项目目录可访问;只处理上传文件或已连接服务,使用网页 Scheduled;需要回到同一个聊天继续轮询,创建聊天内定时任务;需要服务器或 CI 长期调度,使用外部 cron / GitHub Actions 调用 codex exec,不要把它当成 App Automations。
Codex CLI 和 IDE 扩展当前都不提供 Scheduled 管理界面。它们可以先帮助你测试 Prompt、Skill 或脚本,但创建、暂停和查看 Scheduled 运行记录要去 ChatGPT 网页或桌面 App。不同入口决定能否读取本机文件、是否继承聊天上下文、电脑能否关机以及失败后去哪里看。
中文搜索常用 “Codex Automations”“自动化”“定时任务”和“cron”。它们有重叠,但不是完全相同的产品入口。先用下表分流,可以避免照着旧截图找不到按钮,或以为 CLI 里应该存在 codex schedule 管理界面。
Codex Scheduled、聊天续跑、App Automations 与 CLI cron 区别
| 路线 | 在哪里管理 | 每次上下文 | 本机项目 | 适合 |
|---|---|---|---|---|
| 网页独立 Scheduled | ChatGPT 网页 Scheduled | 每次从保存的 Prompt 开始 | 不能直接访问本机文件夹 | 连接器报告、上传资料检查、周期提醒 |
| 桌面独立 Scheduled | ChatGPT 桌面 App Scheduled | 每次产生独立运行 | 可选 Local 或 Worktree | 代码巡检、文档漂移、可审查修复 |
| 已有聊天定时续跑 | 当前 Chat / Codex 对话 | 返回同一聊天,沿用上下文 | 取决于聊天入口和项目 | 等待部署、轮询 PR、继续研究 |
| 外部 cron + codex exec | 操作系统、服务器或 CI | 由脚本显式提供输入 | 由 runner 工作目录和权限决定 | 可重复 CI、机器级计划任务、结构化输出 |
不要只用“是不是定时”来选择。每次应独立审查的任务适合 standalone Scheduled;需要记住当前调查脉络的轮询适合聊天内续跑;必须在无人桌面环境运行、要求严格日志和退出码的任务,更适合 CI 或外部调度器。若只是把重复流程整理成可复用说明,可先做成 Codex Skill,再由 Scheduled 显式调用。
如何创建 Codex 定时任务:先手动跑通,再设置周期
- 先在普通聊天测试一次
用真实但非敏感样例验证输入、工具、模型、权限和输出格式。手动运行都不稳定的 Prompt,变成定时任务后只会定期制造噪音。
- 选择网页或桌面入口
只需上传内容和连接服务时用 ChatGPT 网页;需要本机仓库或文件时用桌面 App,并确认当前工作区已启用 Scheduled。
- 选择 standalone 或当前聊天
每次从固定 Prompt 独立开始就创建 standalone;需要回到当前调查、部署或 PR 线程就设置聊天内续跑。
- 写清工作、时间和返回位置
告诉 ChatGPT 每次做什么、多久或何时运行、无变化时如何处理、何时停止,以及结果回当前聊天还是作为独立运行出现。
- 桌面项目选择 Local 或 Worktree
默认优先 Worktree 隔离修改;只有明确需要直接操作主工作区并能接受文件冲突时才选择 Local。
- 查看第一次和前几次运行
进入 Scheduled 检查 Active / Paused 状态、最近运行、输出和失败信息。确认结果可审查后再提高频率或扩大权限。
也可以直接在 ChatGPT 或 Codex 对话里描述任务和周期,让它起草或更新定时任务。例如:“每周一 09:30 检查这个项目上周合并的 PR,只报告没有负责人或测试失败的项目;没有异常就写无异常;每次新建独立运行。”创建后仍要打开 Scheduled 核对实际 Prompt、项目和时间。
官方参考:OpenAI Scheduled tasks。
Standalone Scheduled 与已有聊天定时续跑怎么选
| 判断 | 选择 standalone | 选择已有聊天续跑 |
|---|---|---|
| 上下文 | 每次都应从同一份耐久 Prompt 开始 | 必须保留当前聊天的调查与决定 |
| 结果 | 每次运行独立进入 Scheduled 收件箱 | 结果回到原聊天 |
| 频率 | 日、周、月或自定义 RRULE | 分钟级跟进、日常或每周检查 |
| 典型任务 | 日报、代码库巡检、文档漂移 | 等待 CI、轮询 PR、部署完成后复查 |
| 停止条件 | 达到日期、状态或人工暂停 | 完成当前目标或需要用户选择时停止 |
聊天内定时任务不是“永远记住一切”的替代品。Prompt 仍应写明每次检查什么、什么算重要、无变化时是否静默、何时停止或请求输入。Standalone 也不应依赖某次手动聊天里没有保存的口头约定;需要长期复用的规则放进 Prompt、项目资料或受版本控制的 Skill。
桌面 App:Local、Worktree 与非 Git 项目怎么选
- Git + Worktree:每次在隔离的后台 worktree 工作,适合可能产生修改的定时任务,不干扰你正在编辑的主工作区。
- Git + Local:直接操作主 checkout,能看到当前目录状态,但可能与人工未完成改动冲突。只适合明确需要本地即时状态且影响可控的任务。
- 非 Git 项目:定时任务直接在项目目录运行,没有 worktree 隔离;先备份并优先采用只读输出。
- 多项目:同一个 standalone Scheduled 可以在多个项目运行,但每个项目的依赖、权限和输出应单独验证。
项目型任务运行时,电脑必须保持开机,ChatGPT 桌面 App 必须运行,目标路径和外接磁盘也必须可用。频繁的 Worktree 任务会积累运行记录和工作树;定期归档不再需要的运行,避免长期固定保留无用 worktree。
先让任务只输出报告,并在一个测试仓库证明路径、命令和判断正确。需要修改代码时优先 Worktree,要求运行结束后给出 diff、测试与未解决问题,不要自动覆盖人工未提交更改。
执行时间、时区、错过运行与 RRULE 怎么设置
创建后先核对界面显示的下一次运行时间和时区,不要只相信自然语言里的“明天上午”。跨地区协作时,把时区写进任务说明,例如 Asia/Shanghai。需要高级周期时,桌面 Scheduled 支持编辑 RFC 5545 RRULE:
RRULE:FREQ=MONTHLY;BYMONTHDAY=1;BYHOUR=9;BYMINUTE=0
上例表示每月 1 日 09:00,但最终仍应以 Scheduled 界面解析出的时间为准。修改 RRULE 后检查下一次运行,不要一次性叠加多个未经测试的 BYDAY、BYHOUR 和时区条件。对于可能错过的本机任务,不要假设电脑重新开机后一定补跑;应在 Prompt 中用数据时间范围去重,并在 Scheduled 查看是否真的产生运行记录。
耐久 Prompt 的 7 个部分:避免每次都“失忆”
- 范围:明确项目、目录、仓库、连接器或数据窗口。
- 动作:每次只做稳定、可重复的检查或变更。
- 证据:要求引用文件、提交、测试、工单或可验证来源。
- 输出:固定摘要、异常、证据、建议和下一步结构。
- 无变化:规定返回“无新增异常”或保持静默,避免重复长报告。
- 停止条件:目标完成、连续失败、需要权限或需要用户决策时停止。
- 安全边界:禁止泄露凭证、删除数据、扩大权限或未经审查提交外部消息。
每次运行时:
1. 只检查最近 24 小时合并到 main 的变更;没有变更就返回“无新增变更”。
2. 运行仓库已有的只读检查,不安装新依赖,不修改权限。
3. 按“结论 / 证据 / 风险 / 建议”输出,并附文件或提交引用。
4. 需要写文件、访问新域名或外部发送时停止,并说明缺少什么。
5. 连续两次因同一条件失败时停止自动重试,等待人工处理。
需要调用 Skill 时,在桌面 App 的定时 Prompt 中显式写出 $skill-name,避免把关键步骤寄托在自动匹配。Prompt 或 Skill 更新后重新手动测试一次,再恢复周期。
Codex Automations 可复制模板:从低风险任务开始
模板 1:PR 与 CI 跟进
每 30 分钟检查当前聊天关联的 PR 和 CI。
只有状态发生变化、出现新的失败或需要我决定时才回复。
报告检查时间、PR 状态、失败检查名称、可验证原因和下一步。
不要合并 PR,不要修改权限,不要向外部发送消息。
PR 合并或关闭后停止此定时任务。
模板 2:每周代码库只读巡检
每周一 09:30(Asia/Shanghai)在隔离 Worktree 检查本项目。
只读取上周合并的提交、已有测试结果和 TODO;不安装依赖,不写生产配置。
输出:本周变化、失败测试、缺少负责人事项、文档漂移、建议优先级。
没有异常时明确写“本周无新增异常”。
模板 3:文档漂移检查
每天检查公开 API、命令和配置文档是否与当前代码一致。
每条差异必须给出代码位置、文档位置和最小修改建议。
先只生成报告;未经人工确认不要改文档、推送分支或创建 PR。
如果无法证明差异,标记为“待核对”,不要猜测。
这些模板刻意把“发送邮件、自动合并、删除资源、生产部署”排除在第一版之外。先证明低风险输出稳定,再逐步增加工具和动作,并为每一种外部副作用设置可核对的停止点。
Codex 定时任务不执行:按 8 层排查
- 任务状态与最近运行
在 Scheduled 确认任务是 Active 而不是 Paused / Completed,记录下一次运行、最近运行和第一条失败信息。
- 时间、时区与 RRULE
核对界面解析出的具体时间;跨时区、夏令时或自定义 RRULE 出错时先改成一次近未来的简单测试。
- 使用入口
确认任务创建在当前账号和工作区的网页或桌面 App。不要在 CLI 或 IDE 里等待一个不存在的 Scheduled 管理界面。
- 电脑、App 与路径
本机项目任务要求电脑开机、桌面 App 运行、磁盘已挂载、项目目录仍存在且当前用户可访问。
- Local / Worktree 与 Git 状态
检查基础分支、仓库权限和 worktree 创建是否成功;非 Git 项目则确认它会直接操作目标目录。
- Sandbox、网络与工具
Read-only 不能写文件;Workspace-write 仍可能阻止工作区外路径、网络或桌面 App。插件、连接器和 Skill 也必须在该任务环境中可用。
- Prompt 与上下文
Standalone 不会自动拥有某次聊天的隐含上下文;网页任务不能读取本机目录。把必要范围、来源和停止条件放进耐久 Prompt 或 Skill。
- 最小复现
暂停复杂任务,新建一个只在两分钟后输出当前时间和固定文字的测试。最小任务能跑再逐层加回项目、工具和写操作。
| 现象 | 优先检查 | 不要先做 |
|---|---|---|
| 完全没有运行记录 | Active、下一次时间、账号工作区、App 是否运行 | 直接重写 Prompt 或开 Full Access |
| 运行了但找不到文件 | 网页/桌面入口、项目路径、磁盘、Local/Worktree | 把整个用户目录加入工作区 |
| permission denied | Sandbox、工作区范围、网络和组织策略 | 永久改成 unrestricted |
| 每次内容重复或失忆 | standalone / 聊天续跑选择、耐久 Prompt、时间窗口 | 把整段历史无筛选复制进去 |
| 产生很多 worktree | 频率、归档、是否真的需要隔离写操作 | 手动删除不确定仍被引用的目录 |
权限与安全:无人值守不等于无限授权
Scheduled tasks 无人值守运行并使用默认 Sandbox 设置。OpenAI 当前说明,在组织策略允许时,定时任务使用 approval_policy = "never";这表示运行时不会等待临时批准,不表示所有操作自动获得权限。管理员如果禁止该策略,任务会回退到所选权限模式的审批行为。
- Read-only:适合第一版巡检;写文件、网络和桌面 App 操作会失败。
- Workspace-write:可修改工作区文件,但工作区外路径、网络或 App 仍可能被阻止。
- Full access:定时后台任务可以改文件、运行命令和访问网络,风险最高;不应作为“排错万能开关”。
- 外部系统:插件、连接器和 MCP 的权限仍独立存在;发送消息、创建 PR、删除资源等动作必须在 Prompt 中限定目标和条件。
涉及文件写入时保留 Git 检查点和 diff;涉及外部系统时默认只读并输出待办;涉及凭证时使用批准的 Secret 或连接方式,不把 Token、Cookie、Session 或恢复码写进 Prompt、Skill 和日志。权限问题可转到Codex Sandbox / permission denied 排查。
Codex Automations 定时任务常见问题
Codex 可以做定时任务吗?
可以。工作区启用后,可在 ChatGPT 网页或桌面 App 创建 Scheduled tasks。桌面 App 可以对本机项目选择 Local 或 Worktree;CLI 和 IDE 扩展当前不提供 Scheduled 管理界面。
Codex App 关闭后定时任务还会运行吗?
需要本机项目文件的任务要求电脑开机、ChatGPT 桌面 App 运行并能访问项目路径。网页 Scheduled 不直接读取你电脑上的文件夹。
Codex Automations 和 cron 有什么区别?
Scheduled 是 ChatGPT 网页或桌面 App 可管理的产品能力;cron 通常是操作系统或 CI 的外部调度器。用 cron 调 codex exec 是独立的自动化方案。
Codex CLI 能创建 Scheduled task 吗?
Codex CLI 当前没有 Scheduled 管理界面。可以用 CLI 测试 Prompt、Skill 或 codex exec 脚本,再在网页/桌面 App 创建 Scheduled,或让外部调度器调用 CLI。
Codex 定时任务为什么每次像新对话?
Standalone Scheduled 每次从保存的 Prompt 启动独立运行。需要沿用同一聊天上下文时,应在已有聊天里设置定时续跑,并明确停止条件。
Codex 定时任务支持 Worktree 吗?
桌面 App 对 Git 项目可以选择专用后台 Worktree,适合隔离定时任务修改;非 Git 项目会直接在项目目录工作。
Codex 定时任务可以使用 Skill 和 Plugin 吗?
可以。网页 Work mode 以及桌面 Work mode / Codex 中的定时任务可以使用可用的 Plugins,也可以使用 Skills;关键工作流建议在 Prompt 中显式指定 Skill。
如何关闭或暂停 Codex 定时任务?
进入 Scheduled,选择对应任务后暂停、更新或归档。完成一次性目标的聊天续跑应在 Prompt 中写明停止条件,避免无意义继续轮询。
来源与利益关系说明
本文由 Hi Codex 服务团队根据 OpenAI 当前 Scheduled tasks、Worktrees、Sandboxing、Permissions 与 Codex CLI 文档整理,并用 2026 年 7 月 21 日 Google 无个性化搜索结果核对中文搜索意图。团队提供独立人工充值协助,与 ChatGPT / Codex 套餐主题存在商业利益关系;与 OpenAI 不存在隶属、代理或官方授权关系。
Scheduled 的入口、工作区可用性、权限模型和界面可能更新,实际使用以 OpenAI 当前 Scheduled tasks 文档和你账号内界面为准。
如果你还在比较两种 coding agent 的自动化能力,可继续阅读 Codex vs Claude Code:定时任务、Hooks 与子代理对比。