云端环境配置
云端环境允许自定义容器依赖和工具,让云端任务在正确配置的环境中运行。通过 Codex 设置中的"Environments"页面进行配置。
任务执行流程
提交任务后,Codex 按以下顺序执行:
- 创建容器,在指定分支/提交检出仓库
- 运行初始化脚本(及可选的维护脚本)
- 应用网络访问设置
- 进入循环:智能体执行代码编辑和验证命令
- 完成后显示结果和文件 Diff
默认容器
universal 镜像预装了常见语言、包和工具。可通过环境设置固定 Python、Node.js 等运行时的版本。
环境变量与密钥
| 类型 | 生命周期 | 说明 |
|---|---|---|
| 环境变量 | 整个任务执行期间 | 普通明文配置 |
| 密钥(Secrets) | 仅初始化阶段 | 额外加密,智能体阶段开始前移除 |
警告
密钥在智能体阶段开始之前会被移除,不会出现在模型的上下文中。
依赖安装
自动安装
Codex 自动识别并安装以下包管理器的依赖:
- npm、yarn、pnpm(Node.js)
- pip、pipenv、poetry(Python)
手动初始化脚本
使用自定义 bash 脚本安装额外工具或执行复杂初始化:
# 示例:安装 pyright 类型检查器
pip install pyright
# 示例:安装自定义依赖
apt-get install -y some-tool
备注
环境变量的 export 不会持久化到智能体阶段。需要持久化的变量,请写入 ~/.bashrc 或在环境设置中配置。
容器缓存
- 缓存有效期最长 12 小时
- 以下情况会自动使缓存失效:
- 初始化脚本变更
- 维护脚本变更
- 环境变量变更
- 密钥变更
- 也可以在环境页面手动重置缓存
网络访问
- 初始化脚本:有网络访问权限(用于下载依赖)
- 智能体阶段:默认离线,可通过配置开启
详见网络访问控制。