自动化与远程:
你不在电脑前,它也在干活
前面十二课,Codex 干活时你都坐在电脑前。这一课让它更独立:到点自己开工的定时任务,在地铁上用手机遥控家里的电脑,在 GitHub 的 PR 里 @ 它一声就来审代码。学会之后最要紧的是分清两件事:每种方式在哪台机器上跑,越界时谁来批准。
时间紧就先看"入门"和第 7 节的演练;定时任务要真正放心地交出去,第 3 节的"没人盯着时的权限"一定要看。
不在电脑前,也能让它干活
四种方式,按"在哪跑"分成两类:前两种用的是你电脑上的项目,电脑得开着;后两种跑在 Codex Cloud 上,关了电脑也照跑。
@codex review 请它审;写 @codex 加一句话请它去改。Codex Cloud第 6 节@ChatGPT,或者把 Linear 工单指派给 Codex。Codex Cloud第 9 节定时任务在哪里建、在哪里管
| 入口 | 定时任务 | 说明 |
|---|---|---|
| ChatGPT 桌面 App | 能建、能管 | 能用你电脑上的本地项目,在项目文件夹或 worktree 里跑。本课主线。 |
| ChatGPT 网页版 | 能建、能管 | 工作区开了这个功能才有。能用上传的文件和连接的工具,但碰不到你电脑上的文件夹。 |
| Codex CLI、IDE 扩展 | 没有管理界面 | 可以先在里面把提示词、skill、脚本调好,再到 App 或网页版里定时。 |
示例项目 order-admin 已经在第 12 课连好了 GitHub,也发布了 Codex Cloud 环境;第 7 课给它的项目配置开了网络,所以 npm 联网不用每次批准。GitHub、GitLab、Slack、Linear 这几种集成,都要先把仓库连到 Codex、备好云端环境。
定时任务:定好闹钟,写好便条
定时任务(Scheduled tasks)就是:到点让 Codex 照一段写好的提示词干一次活。所有任务和每次运行的记录,都在侧栏的 Scheduled 里。
$名字 点名。官方建议:skill 定方法,定时任务定时间。两种定时,差在"每次从哪开始"
| 独立定时任务 | 在对话里定时 | |
|---|---|---|
| 每次运行 | 新开一个对话,从保存的提示词开始 | 回到同一个对话,带着之前的上下文接着做 |
| 结果在哪 | Scheduled 里,每次一条运行记录 | 写回那个对话 |
| 频率 | 自定义日程;复杂的写 RRULE(第 10 节) | 按分钟间隔,或者每天、每周的某个时间 |
| 适合 | 每次互不相干的检查;一个任务跑多个项目 | 盯着一件正在进行的事直到结束;持续的调研、审查循环 |
| 提示词还要写 | 每次做什么、怎样算完成 | 另外写清:什么情况值得报告、什么时候停下或来问你 |
在哪跑:本地项目还是 worktree
① 这台电脑开着;② ChatGPT 桌面 App 开着;③ 项目文件夹还在原来的位置。到点时电脑睡着了、App 关了,这次就跑不了。
Scheduled 视图:定时任务的收件箱
有发现的运行会出现在这里;需要你看的,会标一个未读点。下面是示意:
怎么建一个
没人盯着时,它能做什么
定时任务是无人值守的。你设的沙箱照样生效,但没有人点"允许":在组织允许的默认情况下,越界的操作不会停下来等你,而是直接失败。
第 3 课讲过,权限是两层:沙箱管它能碰什么,审批管什么时候停下来问你。定时任务的规矩是:
- 沙箱:用你默认的沙箱设置。
- 审批:组织允许的话,用
approval_policy = "never",也就是从不停下来问。所以沙箱外的事,要么事先放行,要么做不成。 - 如果管理员用
requirements.toml禁止了never,定时任务退回你所选权限档位的审批方式。
试一试:同一个定时任务,换一种沙箱
假设这是 order-admin 的依赖检查任务,而且项目还没开网络(默认设置)。切换三种沙箱:只读(read-only)、工作区可写(workspace-write,默认)、Full access,看它想做的几件事各自会怎样:
network_access = true)的话,工作区可写沙箱本身就允许联网,npm outdated 这一步能照做,演练里就是这样。- 从最窄的权限开始,真需要联网、需要更大的文件权限时再给。
- 放行一条具体命令,用 Rules(第 10 课)实验在沙箱外放行它,比整个放开好。
- 别用 Full access 跑定时任务:它可能不问你就改文件、跑命令、联网,没人盯着时风险更高。官方建议改用"工作区可写 + Rules"。
- 最稳的设计:让定时任务只出报告,要不要改、要不要推送,你看完报告再决定。
动手:写一个定时任务
选类型、频率、时间和运行位置,再写提示词。预览卡片会生成摘要和下次运行时间;提示词下面的体检会查它有没有写完成标准。先点几个示例看看。
界面为示意:真实 App 里的选项和叫法以你的 App 为准。下次运行时间按你电脑现在的时间推算;频率只列了文档写到的几种。
手机 Remote:遥控家里的电脑
Codex Remote 是 ChatGPT 手机 App 里的功能。手机就像遥控器:你在手机上发指令、点批准、看结果,活还在那台开着桌面 App 的 Mac 或 Windows 电脑上干。
第一次连上:四步
| 在手机上能做 | 说明 |
|---|---|
| 开新对话、接着旧对话 | 选电脑、选项目、说任务;也能接着电脑上已有的对话 |
| 中途插话、回答问题 | 跟在电脑前一样,发补充说明、纠正方向 |
| 批准命令和操作 | 它要越界时,批准卡片会出现在手机上 |
| 看结果 | 回复、改动的文件和 diff、测试结果、终端输出、截图 |
| 收通知 | 任务做完、或者需要你的时候 |
什么来自电脑,什么来自手机
手机只负责发出提示词、批准和后续消息。项目文件、命令、MCP 服务器、skill、浏览器、登录状态,全都用那台电脑上的;电脑上的沙箱、安全设置和批准规则,在远程时照样生效。手机和电脑之间走一层安全中继,电脑不会直接暴露在公网上。
电脑睡着、断网、关了 App,远程就断了。当远程主机用的电脑,最好接上电源,在 Settings > Connections 里打开保持唤醒(有这个选项的话)。Mac 笔记本开盖接电能一直连着;合上盖子就要接外接显示器;选了"睡眠"就会断。Windows 上用到 Computer Use 的任务,要保持登录会话不锁屏。
试一试:为什么连不上
打开或关掉下面的条件,看手机还能不能连上家里的电脑。
Remote 按批次开放,能不能用还要看你的工作区设置。手机上找不到入口(iOS 新版叫 Codex,旧版叫 Remote),先把 ChatGPT 手机 App 更新到最新。
GitHub 上的 @codex:请它审 PR
在 PR 的评论里写 @codex review,就像请一位只挑大毛病的同事来审。它读这个 PR 的改动,照着仓库里的规矩,发一份标准的 GitHub 代码审查。
先准备好
- 这个仓库连好了 Codex Cloud(第 12 课)。
- 在 Codex 的代码审查设置里选这个仓库,打开 Review code 下面的 Automatic review,这个仓库就开了代码审查。想让你自己的 PR 都自动审,再打开 Personal preferences 里的 Automatic review,用 Review trigger 选什么时候审:不用评论它也会审。配置自动审查需要这个仓库的推送或管理权限。
- 想让它照你的规矩审,准备好
AGENTS.md(第 5 课),下面细说。
试一试:这条评论会让 Codex 做什么
在评论框里写一句,或点下面的示例。
GitHub 上的审查只标 P0 和 P1 两级高优先级问题,评论少而准。没看到回应,先查三件事:这个仓库的代码审查开没开、仓库有没有连到 Codex、触发词是不是原样的 @codex review。
告诉它审什么:Code Review Rules
Codex 会在仓库里找 AGENTS.md,照其中的 ## Code Review Rules 一节审。规则写在离它管的代码最近的那个文件里:全仓库的放根目录,只管接口的放 src/api/AGENTS.md(第 5 课写过的那份)。每个改动的文件,都按根目录加上更近那份的规则来审。用 ### 小标题分组。
## Code Review Rules ### 订单接口 - 列表和导出接口不能返回完整的手机号和收货地址。 安全做法:只返回脱敏字段(手机号保留后 4 位)。 - 金额一律按"分"存整数,不要用浮点数计算。 例外:只在展示层格式化成"元"。
- 先写两三条,写审查人经常要解释的那类问题。
- 写后果和安全做法:为什么要紧、怎样才算没问题,它才分得清真问题和正常写法。
- 写结果,不写会改名的函数名;规则放在离代码近的地方。
- 格式、lint 这类机械检查留给 CI,别写进审查规则。
- 规则只是指导,代替不了测试、分支保护和必需的人工批准。拿一个有代表性的 PR 试审,看结果再增删。
/review还没推到 GitHub 的改动,在桌面 App 的输入框里打 /review,选 Review against a base branch(和基准分支比)或 Review uncommitted changes(没提交的改动)。它只报按优先级排好的问题,不改你的文件,结果作为行内评论出现在审阅面板里。项目在 PR 分支上、装好并登录了 GitHub CLI(gh auth login)时,App 还能直接显示这个 PR 的评论,让你在同一个对话里处理。
演练:一个周一上午
周五下午把依赖检查定成每周一的任务;周一在地铁上用手机看报告、批准一次提交;再到 PR 上请 Codex 审一遍。点"开始"一步步回放,中途的批准卡片你可以自己点。
画面为教学示意:包名、PR 编号、审查内容和 Codex 说的话都是虚构的;手机和 PR 页面只画功能,不是真实界面。定时、Remote、审查的基本规则依据官方文档,手机通知和 PR 上 Codex 的回复是示意。
练一练:这件事交给谁
8 个场景,每个选一种最合适的方式。选完会看到解析。
Slack、Linear、GitLab,还有通知
从团队常用的工具里直接派活,派出去的活都跑在 Codex Cloud 上。每个一句话讲清楚,再看怎么让 Codex 在需要你的时候叫你。
| 在哪 | 怎么叫它 | 结果回到哪 | 要先准备 |
|---|---|---|---|
| GitHub | PR 评论里 @codex review,或 @codex 加任务 | PR 上的审查;改动推回分支(有权限时) | GitHub 仓库连到 Codex;为仓库打开代码审查 |
| GitLab Beta | MR 评论里 @codex review,或 @codex 加任务 | MR 上的讨论和备注 | 连好 GitLab;为项目建云端环境(GitLab.com 上审查也要),建时打开 Enable Codex activity from GitLab |
| Slack | 频道里 @ChatGPT 加任务,写上是哪个仓库 | 讨论串里:开工时回一条,做完贴结果 | 工作区管理员部署好 Slack 应用、开了 Cloud delegation;有一个共享给工作区、已发布的云端环境 |
| Linear | 把工单指派给 Codex,或评论里 @Codex | 工单的 Activity 里写进度,做完贴总结和链接 | 连好 GitHub、建好环境;装 Codex for Linear |
- Slack:现在叫的是
@ChatGPT,不再是@Codex。要改代码时,它把活交给一个单独的 Codex Cloud 任务,用你的账号跑,只从共享给工作区的云端环境里挑,你的个人环境不算。所以请求里写清仓库,比如@ChatGPT 查一下 acme/order-admin 里退款测试为什么挂了,给个修法;接着改就在同一个讨论串里再@ChatGPT。跨组织共享的 Slack Connect 频道用不了。 - Linear:在 Linear 的分诊规则(Triage rules)里选 Delegate > Codex,新进分诊的工单会自动指派给它,用创建工单的人的账号跑。
- GitLab:默认情况下,手动请求的审查可以包括 P0、P1、P2,自动审查只看 P0、P1。自动审查在 Codex 的代码审查设置里选这个仓库打开 Automatic review,用 Review 选审谁的 MR,用 Trigger 选什么时候审。
- GitHub、GitLab 收到后会先回一个 👀。官方提醒:模型会犯错,回复和 diff 都要自己看过。
各个集成对套餐和工作区有要求,以你的账号为准;要在桌面 App、CLI 里本地读 Linear 工单,用 Linear 的 MCP 服务器(第 9 课)。
通知:需要你的时候叫你
命令行里的通知在 config.toml 里设置:终端什么时候提醒,回合结束时要不要运行一个外部程序。本地长任务想在你离开时继续跑,打开 Settings > General 里的 Prevent sleep while running。
一个帮安全和开发团队找漏洞、确认漏洞、修漏洞的应用安全代理。在桌面 App 里装上 Codex Security 插件,侧栏会多一个 Security,里面有 Scans、Findings、Repositories;GitHub 的 PR 上还可以写 @codex security review 做更深的安全审查 研究预览。本教程不展开,需要时读官方的 Codex Security 文档。
进阶与避坑
给已经用起来的人:事件触发、RRULE、worktree 越攒越多、远程的安全边界,以及别的教程里还在用的旧叫法。
别的教程里常见的写法,现在是这样:
- "Automations(自动化)":现在叫 Scheduled tasks(定时任务),侧栏里是 Scheduled。
- "thread automations"(让同一个对话定时醒来):现在叫在对话里定时(Scheduled task in a chat);官方术语表里也叫 Heartbeat。
- "定时任务只能在本地跑"或"只能在 worktree 跑":2026 年 3 月起,Git 仓库里两种都能选,还能单独选模型和推理强度。
- "
@codex review会把所有问题都列出来":GitHub 上只标 P0、P1。 - "Codex App 里的定时任务":Codex App 在 2026 年 7 月 9 日并进了 ChatGPT 桌面 App(第 1 课),定时任务也在那里。
能不能"有事就触发",而不是按时间?
@ChatGPT 拉进要盯的每个频道;GitHub 要让连接的应用能访问这个仓库。管理员可以用 Allow event-triggered scheduled tasks 权限控制能不能用。RRULE 是什么?
RRULE:FREQ=MONTHLY;BYMONTHDAY=1;BYHOUR=9;BYMINUTE=0。第 4 节的编辑器会按你的选择生成对应的写法(示意)。worktree 越攒越多怎么办?
定时任务和 skill 怎么配合?
$skill-name 点名一个 skill,流程就不靠它自己挑工具。官方的例子:先写一个个人 skill $recent-code-bugfix(找出并修掉自己最近一周引入的 bug),再定一个任务"检查我过去 24 小时的提交,用 $recent-code-bugfix 修"。skill 自己也能建定时任务,比如"看护一个 PR"的 skill 定时查 PR 状态、处理新的审查意见。定时任务里选了具体模型,要注意什么?
命令行里能不能定时?
codex exec),第 14 课讲。用手机遥控,安全吗?
除了手机,还能怎么远程?
~/.ssh/config 里、能 ssh 上去、远程装好并登录了 codex。③ 对话还能带着 Git 状态在本机和远程主机之间转交(Hand off)。别把 app server 直接暴露在公网上,要跨网络就用 VPN。批准请求没出现在手机上 / Remote 老断
- 在手机 App 里打开 Codex(旧版叫 Remote),确认手机和电脑是同一账号、同一工作区;再扫一次二维码,或在电脑上重新设置。
- 手机上看不到这台电脑:确认电脑上的 App 开着、允许了其他设备连接。很久没用的旧配对(文档写的是 2026 年 6 月 8 日以来没用过的),把两边 App 都更新后重新配对。
- 点 Add 时报错:重启电脑上的 ChatGPT 桌面 App 再试。
- 用着用着断了:看电脑是不是睡着了、断网了、关了 App。
为什么定时任务的结果和我手动跑的不一样?
小测验
8 道题,每题选完会立刻看到解析。
