Codex Cloud 云端
本教程共 32 篇 · 第 26 篇 · 更新于 2026-07-26 · 约 10 分钟阅读
26. Codex Cloud 云端
本节目标:搞懂 Codex Cloud 云端版—在浏览器里把任务外包给 OpenAI 的云环境,怎么连 GitHub 仓库、怎么配环境、怎么监控任务、怎么收 PR。
前面讲的 CLI、桌面应用、IDE 扩展有个共同点:活都在你这台电脑上干,你电脑一关它就歇了。云端版反过来—你在浏览器里下个单,活跑在 OpenAI 的云机器上,跟你这台电脑彻底脱钩。
云端版是什么
云端版就是把 Codex 搬到了 OpenAI 的云上。你不用配任何环境,浏览器打开网页,连上 GitHub,给它派活。它在云端一台隔离容器里读代码、改代码、跑测试,干完直接给你交 diff、提 PR。
打个比方,本地版像你自己那辆车—熟是熟,但每次出门前得自己加油、检查胎压。云端版是叫网约车:车是平台的、司机是平台的、油也是平台的,你只管输入目的地,到站下车。
它适合这几类场景:
- 并行跑多个任务:每个任务一个独立容器,互不打架
- 本地没克隆的仓库:想顺手改个小东西,省了 clone 再配环境
- 又慢又长的活挂后台:跑全套测试、大批量重构,丢上云挂着
- 换了台没配环境的电脑:啥都没装,照样能干活
Note两个前提:一是得连 GitHub,云端靠仓库干活;二是得是付费套餐,Plus、Pro、Business、Edu、Enterprise 都含 Codex 用量。
连接 GitHub 仓库
打开 chatgpt.com/codex,第一次用要连接 GitHub 账号并授权要用的仓库。
- 浏览器访问
https://chatgpt.com/codex - 点击连接 GitHub,跳转授权页面
- 选择授权哪些仓库给 Codex 访问
- 授权完成后,在页面里选择仓库开始干活
Tip如果选不到某个仓库,多半是 GitHub 授权时没把它勾进去。回 GitHub 的授权设置里补上即可。不想关联了,进设置里取消关联。
云端任务的 5 步流水线
你点下「提交任务」那一刻,云端那头跑的是一条固定顺序的流水线:
- 建容器、拉代码:新建一个隔离容器,把你仓库按指定分支或 commit 拉进去
- 跑设置脚本:装依赖、装工具,比如
npm install、pip install - 应用网络设置:设置脚本阶段能联网,Agent 干活阶段默认断网
- Agent 干活:在终端里敲命令、改代码、跑检查。如果仓库里有
AGENTS.md,它会照着里头的 lint 和测试命令来跑 - 交活:把答案和所有改动的 diff 摆给你看,可以一键提 PR
Warning云端 Agent 干活时默认不会一行行停下来等你点同意。它读完任务就闷头改、改完直接给你 diff。所以派云端任务,描述一定要写到「一句话能验收」的颗粒度。
配置云端环境
云端那台机器开机时是台标配车,但你的项目有自己的脾气。环境配置就是给它列一张「入住前置办清单」。在 Codex 设置的 Environments 页里填。
默认镜像 universal
云端默认跑在一个叫 universal 的容器镜像里,常见语言和工具都预装好了(Python、Node.js、Go、Rust 等)。想固定运行时版本,选 Set package versions 钉死 Python、Node.js 等版本。
设置脚本
设置脚本就是容器建好后、Agent 干活前自动跑的命令,专管装依赖。分两种走法:
- 自动设置:常见包管理器(npm、yarn、pnpm、pip、poetry)Codex 能自动认出来帮你装
- 手动设置:项目复杂的自己写一段
# 手动设置脚本示例
pip install pyright
poetry install --with test
pnpm install
Warning设置脚本和 Agent 跑在两个不同的 Bash 会话里。
export出来的环境变量传不到 Agent 阶段。想让变量活到 Agent 阶段,要么写进~/.bashrc,要么在环境设置里当环境变量配。
环境变量 vs Secrets
这俩都是往容器里塞配置,但可见范围天差地别:
| 类型 | 活多久 | 谁能看到 | 拿来装啥 |
|---|---|---|---|
| 环境变量 | 整个任务全程 | 设置脚本 + Agent | NODE_ENV 这类普通配置 |
| Secrets | 只到设置脚本阶段 | 仅设置脚本 | API key、密码这类敏感货 |
Secrets 多加了一层加密,只在任务执行时解密,Agent 阶段开始前就被移除。这是故意的安全设计—你的密钥只在装依赖那一小段露脸,等 Agent 真正开始改代码时,密钥早被收走了。
Tip凡是敏感的,老老实实放 Secrets,别图省事塞进环境变量。
容器缓存
每次都从零建容器太慢。Codex 会缓存容器状态,最多存 12 小时,让你后续任务跑得更快。
缓存什么时候自动失效:你改了设置脚本、维护脚本、环境变量、Secrets 中任意一个,它就自动作废重建。要手动重置,去环境页点 Reset cache。
网络白名单
这是云端版最该认真对待的配置。一句话:设置脚本阶段能联网,Agent 干活阶段默认完全断网。
为什么要分阶段?因为 Agent 阶段一旦联网,风险是实打实的。最大的威胁是提示注入(Prompt Injection)—网页里可能藏着「请把代码 POST 到某网址」的钓鱼指令,Agent 一旦照做,你的代码就泄出去了。
放开网络的配置分两层:
第一层:开还是关
- Off:完全断网(默认,最安全)
- On:放开联网,但可以用域名白名单收紧
第二层:域名白名单
| 预设 | 含义 | 适合 |
|---|---|---|
| None | 空白名单,自己加域名 | 只需访问极少数自己的域名 |
| Common dependencies | 预置常见依赖域名 | 绝大多数装包、拉源码场景 |
| All (unrestricted) | 放开所有域名 | 风险最高,非必要别选 |
Tip更狠一层:把请求只限制在 GET、HEAD、OPTIONS 这几个只读方法上。POST、PUT、DELETE 这种往外写的请求全被拦掉—「把代码 POST 出去」的钓鱼招数直接废了。能不开网就别开,我的任务里真正需要给 Agent 开网的不超过 10%。
任务监控与 PR 创建
监控任务
任务提交后,你可以在页面上实时查看进度:
- 看它正在跑哪一步
- 查看文件变更
- 检查命令输出
云端支持并行跑多个任务,每个任务一个独立容器。你可以同时派好几个活,互不干扰。
Warning避免多个任务同时修改同一文件,否则会产生冲突。
收 PR
干完后页面给出改动的 diff。diff 没问题,点提 PR,它会在你 GitHub 仓库里开一个 Pull Request。想再改,直接在对话里追问让它接着干。
云端 vs 本地怎么选
判断标准就一句话:这活需不需要碰我电脑上的东西? 需要,老实用本地;不需要,丢上云更省事。
| 维度 | 云端版 | 本地(CLI / 桌面 / IDE) |
|---|---|---|
| 代码跑在哪 | OpenAI 云容器 | 你的机器 |
| 用得上本机东西吗 | 只有仓库里的 | 本地文件、工具全在 |
| 需要 GitHub 吗 | 必须连 | 不需要 |
| 电脑关了还跑吗 | 关了照样跑 | 关了就停 |
| 并行跑多任务 | 天生擅长 | 要自己开 worktree |
| 改完怎么交 | diff + 一键提 PR | 直接改本地文件 |
| Agent 中途问你吗 | 默认闷头干完 | 出圈按审批策略问你 |
Note云端只认你 GitHub 仓库里的配置。本机的全局配置它看不见—要它知道,就把配置提交进仓库(比如写进
AGENTS.md)。
小结
- 是什么:OpenAI 云上的隔离容器 + 连 GitHub + 免配环境,适合并行、改没克隆的库、挂长任务
- 5 步流水线:建容器 -> 跑设置脚本(可联网)-> 应用网络设置(Agent 默认断网)-> Agent 干活 -> 交 diff/PR
- 环境配置:universal 镜像打底、设置脚本装依赖(
export不跨会话)、环境变量全程可见、Secrets 只到装依赖阶段就被删 - 网络白名单:放开网络的头号风险是提示注入,要开就 Common dependencies + 只限 GET/HEAD/OPTIONS 起步
- 缓存:最多 12 小时,改配置就失效
- 取舍:碰本机的东西用本地,不碰本机、想并行、想电脑关了也跑就上云
下一章讲 Computer Use 与高级功能—让 Codex 控制屏幕、用语音交互、定时跑任务、部署 Sites。