上周我把 Codex CLI 升到最新版,想着终于能用 GPT-5.5 跑代码生成了。结果折腾了大半天,发现生成质量明显不对——后来抓了下请求日志,好家伙,model 字段写的是 gpt-5.5,实际 API 路由到的还是旧版。这个坑不止我一个人踩,掘金好几篇实战帖评论区都有人问"为什么感觉没变化"。今天把完整的配置流程、正确的 model 字段写法、API key 权限 scope、以及沙箱超时参数一次性讲清楚。

先说结论

配置项 错误写法 正确写法 后果
model 字段 gpt-5.5 gpt-5.5-2026-04-14 路由到旧快照
API key scope 默认 scope 需含 model.request + codex.sandbox 返回 403
沙箱超时 默认 60s 建议 180-300s 复杂任务中断
base_url 不填(默认官方) 可配聚合平台地址 影响延迟和可用性

环境准备

我的环境:macOS 14.5 / Node 20 / Codex CLI v0.9.3(codex --version 确认)

# 确认 Codex 版本,0.9.0 以下不支持 GPT-5.5 的新参数格式
codex --version

# 升级到最新
npm update -g @openai/codex

如果你还在 0.8.x,升级后配置文件格式有 breaking change,旧的 ~/.codex/config.yaml 里 model 字段的命名空间变了。

model 字段到底怎么填

这是最多人踩的坑。OpenAI 的模型命名规则在 GPT-5.5 这代改了——不带日期后缀的 gpt-5.5 是一个"浮动别名",指向的不一定是最新快照。

4 月 22 号我测的时候,gpt-5.5 实际指向的是 3 月底的 checkpoint,而 gpt-5.5-2026-04-14 才是当前最强的版本。怎么验证?调一下 /v1/models 接口:

from openai import OpenAI

client = OpenAI(
 api_key="your-key",
 base_url="https://api.ofox.io/v1"
)

# 列出所有可用的 gpt-5.5 变体
models = client.models.list()
for m in models.data:
 if "gpt-5.5" in m.id:
 print(m.id, m.created)

我跑出来的结果:

gpt-5.5-2026-04-14 1713052800
gpt-5.5-2026-03-11 1710115200
gpt-5.5 1710115200 ← 看,created 时间戳对应的是 3 月版本

所以 Codex 配置文件里必须写完整版本号:

# ~/.codex/config.yaml
model: gpt-5.5-2026-04-14
provider:
 base_url: https://api.ofox.io/v1
 api_key: sk-xxx

gpt-5.5 不会报错,但你用的不是最新模型。这个设计挺反直觉的,我一开始以为没后缀就是 latest。

API Key 权限 scope 配置

第二个坑:Codex CLI 在沙箱模式下执行代码,需要 API key 带特定权限 scope。如果你的 key 是从 OpenAI 后台随便建的,大概率会遇到这个报错:

{
 "error": {
 "message": "Insufficient permissions: this API key does not have access to codex.sandbox scope",
 "type": "permission_error",
 "code": "403"
 }
}

解决方法——去 OpenAI Platform → API Keys → 编辑权限,确保勾选:

  • model.request(基础调用权限)
  • codex.sandbox(沙箱执行权限)
  • codex.file_access(如果需要读写本地文件)

如果你用的是聚合平台(OpenRouter、ofox.io 这类),权限 scope 是在平台侧透传的,一般默认全开,反而不会遇到这个问题。我在 ofox.io 上用的 key 就没碰到 403,直接就通了。

graph TD
 A[Codex CLI 发起请求] --> B{API Key scope 检查}
 B -->|缺少 codex.sandbox| C[403 Permission Error]
 B -->|scope 完整| D[路由到 GPT-5.5-2026-04-14]
 D --> E{沙箱环境}
 E -->|超时 < 代码执行时间| F[Task Timeout]
 E -->|超时设置合理| G[返回结果]

沙箱超时参数配置

Codex 的沙箱模式会在隔离环境里执行 GPT-5.5 生成的代码。默认超时是 60 秒,对简单脚本够用,但稍微复杂一点的任务——比如让它写一个带测试的 Express 中间件然后跑 jest——60 秒根本不够。

报错长这样:

Error: Sandbox execution timed out after 60000ms
Task was terminated. Partial output saved to .codex/sandbox/last_run.log

配置方法:

# ~/.codex/config.yaml
sandbox:
 timeout_ms: 180000 # 3 分钟,一般够用
 max_retries: 2 # 超时后重试次数
 memory_limit_mb: 2048 # 内存上限
 network_access: false # 沙箱内禁止网络(安全考虑)

我测了几组数据:

任务类型 平均执行时间 建议 timeout
单文件工具函数 8-15s 60s(默认即可)
带单测的模块 25-45s 120s
多文件重构 + 测试 60-120s 180-300s
全项目脚手架生成 90-180s 300s

有个细节:network_access: false 是默认值,但如果你的任务需要 npm install,得临时开成 true。不过开了之后安全风险自己承担,我一般是先让 Codex 生成代码,再手动跑 install。

完整配置示例

把上面三个坑都避开的完整配置:

# ~/.codex/config.yaml
model: gpt-5.5-2026-04-14

provider:
 base_url: https://api.ofox.io/v1
 api_key: sk-your-key-here

sandbox:
 timeout_ms: 180000
 max_retries: 2
 memory_limit_mb: 2048
 network_access: false

# 可选:输出格式偏好
output:
 format: diff # diff | full | stream
 auto_apply: false # 生成后不自动写入文件,先 review

验证配置是否生效:

# 跑一个简单任务测试
codex "写一个 Python 函数,输入一个 URL 列表,并发请求后返回状态码" --dry-run

# dry-run 会打印实际发送的请求参数,确认 model 字段对不对

--dry-run 输出里能看到实际的 model 值,如果还是 gpt-5.5 没带日期,说明配置文件没被读到——检查路径和 YAML 缩进。

踩坑记录

坑 1:YAML 缩进导致配置静默失效

我第一次配的时候 provider 下面的 base_url 多缩进了一层,Codex 没报错但直接 fallback 到了默认的 api.openai.com。YAML 这东西,一个空格能坑你一小时。

坑 2:gpt-5.5-turbo 不存在

有些教程(可能是旧文章没更新)写的是 gpt-5.5-turbo,这个 model ID 根本不存在,会直接返回:

{"error": {"message": "The model 'gpt-5.5-turbo' does not exist", "type": "invalid_request_error", "code": "model_not_found"}}

GPT-5.5 这代没有 turbo 变体了,就是 gpt-5.5-2026-04-14

坑 3:沙箱内 Python 版本

Codex 沙箱默认用的 Python 3.11,如果你让它生成用了 3.12+ 语法(比如 type 语句)的代码,沙箱里跑会挂。可以在 config 里指定:

sandbox:
 python_version: "3.12"

但这需要你本地有对应版本的 Python。我也不确定这个配置项在所有 OS 上都生效,Windows 上我没测过。

小结

三个关键点:model 字段写完整日期版本号 gpt-5.5-2026-04-14、API key 要有 codex.sandbox scope、复杂任务把 timeout 拉到 180s 以上。配对了之后 Codex + GPT-5.5 的代码生成质量确实比上个月强了不少,尤其是多文件重构的场景,之前经常生成到一半断掉,现在基本能完整跑完。

折腾这些配置花了我大半天,希望这篇能让你少走点弯路。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐