Refinex DevHubRefinex DevHub
DocsBlogProjectsSitesChangelogAbout
Assistant
你好,我可以基于当前页面内容回答问题、提炼重点,或者告诉你下一步应该继续读什么。
  1. Docs›
  2. Codex Web/Cloud:云端异步任务与环境配置
Overview
Codex 全景:产品矩阵、模型演进与定价
安装与首次运行:5 分钟从零到第一次对话
核心概念精讲:Prompting、Sandboxing 与 Approval
Codex CLI 深度指南:终端中的编码智能体
Codex App 深度指南:多智能体的指挥中心
IDE Extension 深度指南:编辑器内的 AI 搭档
Codex Web/Cloud:云端异步任务与环境配置
AGENTS.md:让 Codex 真正理解你的项目
config.toml 深度配置指南
MCP 集成深度指南
Agent Skills 深度指南
Subagents:多智能体并行工作流
集成:GitHub、Slack、Linear
自动化与程序化控制:Non-interactive、SDK、App Server
Codex Security:仓库安全扫描与威胁建模
企业部署与团队治理
Prompting 高级指南:从 Cookbook 到实战模式
终极实战:构建 AI 编码团队
  1. Docs›
  2. Codex Web/Cloud:云端异步任务与环境配置

Codex Web/Cloud:云端异步任务与环境配置

Codex 的云端模式让你可以把任务异步委派给远程环境,自己继续做其他事情。无论是长时间运行的重构任务、批量并行的代码生成,还是需要特定依赖的构建验证,云端模式都能胜任。

本篇将全面解析 Codex Web 界面、Cloud Environment 配置、互联网访问控制、任务生命周期,以及如何从 CLI 和 App 操控云端任务。

一、Codex Web 与 Codex Cloud 的关系

这两个词经常交替出现,先理清它们的关系:

概念含义
Codex Web网页界面(codex.openai.com)——提交任务、查看进度、审查结果、创建 PR 的主要入口
Codex Cloud云端执行环境 —— 实际运行任务的容器化基础设施,包含代码 checkout、依赖安装、命令执行
关系Codex Web 是前端入口,Codex Cloud 是后端引擎。你也可以通过 CLI、App、IDE Extension 提交任务到 Cloud
Mermaid
正在渲染 Mermaid 图表…
五个入口,同一个引擎

无论你从哪个客户端提交任务,它们都运行在相同的 Codex Cloud 基础设施上,使用相同的环境配置。

二、GitHub 仓库连接与配置

云端模式的第一步是连接 GitHub 账号。

2.1 设置步骤

  1. 访问 codex.openai.com
  2. 点击 Connect GitHub → 授权 Codex 访问你的仓库
  3. 选择要授权的仓库(可以是全部或指定仓库)
  4. 授权后 Codex 即可:
    • 读取仓库代码
    • 创建分支和 Pull Request
    • 响应 @codex 提及

2.2 从 GitHub 触发任务

连接后,你可以在 GitHub Issues 或 Pull Requests 中用 @codex 标记,Codex 会自动拾取并在云端执行任务。

权限提示

ChatGPT Plus、Pro、Business、Edu 和 Enterprise 计划均包含 Codex 使用额度。部分 Enterprise 工作区可能需要管理员先完成初始配置。

三、Cloud Environment 设置

环境配置是云端模式的核心——它决定了 Codex 在哪个容器中运行、安装什么依赖、能访问哪些秘密。

3.1 默认容器镜像:universal

Codex Cloud 使用一个名为 universal 的默认容器镜像,预装了常见语言和工具:

  • Python、Node.js、Go、Rust、Java 等常见运行时
  • 常用包管理器(npm、pip、cargo 等)
  • Git、curl 等基础工具

你可以在环境设置中通过 Set package versions 固定 Python、Node.js 等运行时的版本。详细的预装内容参见 openai/codex-universal Dockerfile。

3.2 Setup Script(启动脚本)

用于安装项目特定的依赖和工具。在环境创建后第一时间执行。

自动设置:对于使用 npm、yarn、pnpm、pip、pipenv、poetry 的项目,Codex 可以自动检测并安装依赖。

手动设置:复杂项目可以自定义 setup script:

Bash
# 安装类型检查器
pip install pyright
​
# 安装依赖
poetry install --with test
pnpm install
环境变量注意

Setup script 在独立的 Bash 会话中运行,export 命令不会持久化到 agent 阶段。要持久化环境变量,请写入 ~/.bashrc 或在环境设置中配置。

3.3 Maintenance Script(维护脚本)

当缓存容器被复用时执行的可选脚本,用于更新依赖:

Bash
# 缓存容器可能基于旧提交,更新依赖
pnpm install

3.4 环境变量与 Secrets

类型可用范围安全性
Environment Variables全程可用:setup script + agent 阶段均可访问标准存储
Secrets仅 setup script 可用,agent 阶段前被移除额外加密层,仅在执行时解密

设计思路:Secrets 仅对 setup script 可见,这是有意为之的安全设计——防止 agent 在执行任意代码时泄露敏感信息。如果 agent 需要访问某个 API Key,建议在 setup script 中将其写入配置文件,而非直接暴露为环境变量。

3.5 容器缓存

Codex 会缓存容器状态以加速后续任务:

特性说明
缓存时长最长 12 小时
缓存创建clone 仓库 → checkout 默认分支 → 运行 setup script → 缓存
缓存复用checkout 任务指定分支 → 运行 maintenance script
自动失效修改 setup script、maintenance script、环境变量或 secrets 时
手动重置环境设置页点击 Reset cache
团队共享Business/Enterprise 用户的缓存在所有有权限的用户间共享

四、互联网访问控制

这是云端模式中最重要的安全配置之一。

4.1 两个阶段的网络策略

阶段网络访问说明
Setup Script 阶段✅ 始终开启需要下载依赖包和工具
Agent 阶段❌ 默认关闭可按环境单独开启,支持域名白名单和 HTTP 方法限制

4.2 Agent 阶段网络配置

Agent 阶段的互联网访问按环境单独配置:

开关状态:

  • Off(默认)— 完全封锁网络
  • On — 开启网络,可通过以下手段限制

域名白名单预设:

预设方案说明
None空白名单,从零添加域名
Common dependencies预设常用依赖域名(github.com、npmjs.com、pypi.org 等 70+ 域名)
All (unrestricted)允许所有域名(风险最高)

HTTP 方法限制:

可以仅允许 GET、HEAD、OPTIONS,屏蔽 POST、PUT、DELETE 等写入操作,进一步降低数据泄露风险。

4.3 互联网访问的安全风险

开启 Agent 网络访问的风险
  • Prompt 注入 — agent 可能读取不可信的网页内容并执行其中的指令
  • 代码/秘密泄露 — agent 可能将代码或敏感信息发送到外部
  • 恶意依赖 — 可能下载包含漏洞的依赖
  • 许可证问题 — 可能引入有许可证限制的内容

最佳实践:仅允许必要的域名和 HTTP 方法,并仔细审查 agent 的输出和工作日志。

4.4 网络代理

所有云端环境的出站流量都通过 HTTP/HTTPS 网络代理,这是 OpenAI 的安全和滥用防护层。

五、云端任务生命周期

理解一个云端任务从提交到完成的完整流程:

5.1 完整流程

Mermaid
正在渲染 Mermaid 图表…

5.2 各阶段详解

步骤阶段说明
①提交任务通过 Web、CLI、App、IDE 或 GitHub @codex 提交任务描述
②创建容器基于 universal 镜像创建容器,checkout 指定分支/commit
③运行 Setup Script执行环境配置的启动脚本(缓存复用时改为 maintenance script)
④应用网络策略根据环境配置开启/关闭 Agent 的网络访问
⑤Agent 循环执行Agent 在循环中编辑代码、运行检查、验证结果(读取 AGENTS.md 获取项目规范)
⑥输出结果显示 agent 的回答 + 变更的文件 diff
⑦创建 PR满意结果后直接生成 GitHub Pull Request
⑧Follow-up不满意时追加要求,Codex 基于现有上下文继续工作

5.3 从不同客户端提交的差异

入口启动方式特点
Web 界面直接在 codex.openai.com 提交可视化管理,适合浏览和审查
CLIcodex cloud exec "prompt"可脚本化批量提交,支持 --attempts
App新线程选择 Cloud 模式与 Worktree/Local 线程统一管理
IDE Extension/cloud 切换或 Run in the cloud保留本地对话上下文,可本地 apply diff
GitHubIssue/PR 中 @codex直接在 GitHub 工作流中触发

六、从 CLI 操控云端任务

CLI 提供了一套完整的云端任务管理命令。

6.1 查看云端任务

Bash
# 打开云端任务列表(浏览器)
codex cloud
​
# 列出近期任务
codex cloud list

6.2 提交云端任务

Bash
# 基本提交
codex cloud exec "Add input validation to the signup form"
​
# 指定环境
codex cloud exec --env my-project-env "Fix the failing CI tests"
​
# 多次尝试(Best-of-N)
codex cloud exec --attempts 3 "Refactor the auth module to use JWT"

6.3 应用云端结果

Bash
# 将云端任务的 diff 应用到本地
codex apply

6.4 命令参考

命令说明
codex cloud在浏览器中打开云端任务列表
codex cloud list在终端列出近期云端任务
codex cloud exec "prompt"提交新的云端任务
codex cloud exec --env NAME指定云端环境
codex cloud exec --attempts N多次尝试,选择最佳结果
codex apply将云端任务的 diff 应用到本地

七、Best-of-N 多次尝试(--attempts)

--attempts 是云端模式的杀手级功能——让 Codex 并行运行多次尝试,然后你从中选择最佳结果。

7.1 工作原理

Bash
codex cloud exec --attempts 3 "Optimize the database query performance"
  1. Codex 并行启动 3 个独立容器
  2. 每个容器独立执行相同的任务
  3. 由于 LLM 的随机性,每次尝试可能产生不同的解决方案
  4. 你可以比较所有结果,选择最佳的一个

7.2 适用场景

场景推荐 attempts原因
有多种可能解决方案的重构任务3–5比较不同方案的优劣
复杂 bug 修复(不确定根因)2–3增加命中正确修复的概率
简单确定性任务1(默认)无需多次尝试
生成式任务(写文档、创建测试)2–3不同风格和角度的输出可供挑选
成本提示

每次 attempt 独立消耗计算资源和 token。--attempts 5 意味着 5 倍的资源消耗。建议对简单任务使用默认值 1,对关键任务使用 2–3。

八、适用场景与最佳实践

8.1 云端模式的理想场景

场景为什么用云端推荐入口
长时间运行任务不占用本地资源,不受电脑休眠影响Web / CLI
并行批量任务同时提交多个任务并行运行CLI (可脚本化)
需要特定依赖环境本地没装某些工具,云端环境已配置好Web / App
多方案探索--attempts 并行生成多个解决方案CLI
CI/CD 集成在 CI 流程中自动触发 Codex 任务CLI / GitHub Action
GitHub 工作流集成在 Issue/PR 中直接 @codex 触发GitHub

8.2 不适合云端的场景

  • 需要实时交互 — 需要反复对话微调的任务,本地模式更合适
  • 调试前端 UI — 需要看到界面效果,本地/Worktree 更方便
  • 涉及本地硬件/服务 — 云端无法访问你的本地数据库或设备

8.3 云端任务最佳实践

  1. 写好 AGENTS.md — 云端 agent 会读取它来了解项目规范和 lint/test 命令
  2. 配置完善的环境 — 确保 setup script 能正确安装所有依赖
  3. 最小化网络访问 — 默认关闭,仅在必要时开启并限制域名
  4. 善用容器缓存 — 避免频繁修改 setup script 导致缓存失效
  5. 先本地测试,再云端批量 — 小任务先本地验证效果,确认后再批量提交
  6. 审查每个 PR — 云端生成的 diff 仍需人工审查确认

九、实战:批量重构工作流

以下是一个利用云端模式批量处理任务的实战示例。

场景:将项目中所有 REST API 迁移为 GraphQL

Step 1 — 配置环境

  1. 在 Codex Web 中创建/检查环境配置
  2. 确保 setup script 包含必要的 GraphQL 工具链:
Bash
npm install
npm install -g graphql-cli

Step 2 — 批量提交任务

使用 CLI 脚本批量提交:

Bash
# 为每个 API 模块提交独立的迁移任务
for module in users orders products payments; do
  codex cloud exec --env my-project \
    "Migrate the $module REST API endpoints to GraphQL. \
     Follow the patterns in src/graphql/schema.ts. \
     Update tests and ensure they pass."
done

Step 3 — 监控进度

Bash
# 查看所有任务状态
codex cloud list

或在 Web 界面中查看每个任务的进度。

Step 4 — 审查结果

每个任务完成后:

  1. 查看 diff 和 agent 的工作日志
  2. 如需修改,追加 follow-up 要求
  3. 满意后为每个模块创建独立的 PR

Step 5 — 本地验证

Bash
# 将所有 PR 合并到测试分支后运行完整测试
codex apply
npm test

十、云端模式速查

Codex Web/Cloud 核心能力速查
  • Codex Web → 网页管理界面(codex.openai.com)
  • Codex Cloud → 后端容器化执行环境
  • 五个入口 → Web / CLI / App / IDE Extension / GitHub @codex
  • 环境配置 → universal 镜像 + Setup script + Maintenance script
  • 变量与秘密 → Environment Variables(全程)+ Secrets(仅 setup)
  • 容器缓存 → 最长 12h,修改配置自动失效
  • 网络控制 → Setup 始终联网;Agent 默认关闭,可按域名/方法限制
  • 任务生命周期 → 提交 → 容器 → Setup → Agent 循环 → Diff → PR / Follow-up
  • CLI 云端命令 → codex cloud exec + --env + --attempts + codex apply
  • Best-of-N → --attempts N 并行多次尝试,选择最佳结果
  • 适用场景 → 长时任务 / 并行批量 / 特定依赖 / 多方案探索 / CI 集成
← 上一篇
下一篇 →
一、Codex Web 与 Codex Cloud 的关系二、GitHub 仓库连接与配置2.1 设置步骤2.2 从 GitHub 触发任务三、Cloud Environment 设置3.1 默认容器镜像:universal3.2 Setup Script(启动脚本)3.3 Maintenance Script(维护脚本)3.4 环境变量与 Secrets3.5 容器缓存四、互联网访问控制4.1 两个阶段的网络策略4.2 Agent 阶段网络配置4.3 互联网访问的安全风险4.4 网络代理五、云端任务生命周期5.1 完整流程5.2 各阶段详解5.3 从不同客户端提交的差异六、从 CLI 操控云端任务6.1 查看云端任务6.2 提交云端任务6.3 应用云端结果6.4 命令参考七、Best-of-N 多次尝试(--attempts)7.1 工作原理7.2 适用场景八、适用场景与最佳实践8.1 云端模式的理想场景8.2 不适合云端的场景8.3 云端任务最佳实践九、实战:批量重构工作流场景:将项目中所有 REST API 迁移为 GraphQLStep 1 — 配置环境Step 2 — 批量提交任务Step 3 — 监控进度Step 4 — 审查结果Step 5 — 本地验证十、云端模式速查