0.36.0
破坏性变更: 不再从环境中读取 OPENAI_API_KEY
API 登录不再是隐式的;我们不再从环境中读取 OPENAI_API_KEY。若要以编程方式使用 API key,请运行以下命令 一次:
codex login --api-key "your-api-key-here"
该值将被存储在 CODEX_HOME/auth.json 中。
下次运行 codex 时,将自动使用存储在 auth.json 中的 API key。
若要改用 ChatGPT 登录而不是使用 API key,请运行 codex login。
注意,codex logout 会移除存储在 auth.json 中的任何登录凭据 (API key 或 ChatGPT auth token)。
亮点
推出我们的最新模型 GPT-5-Codex GPT-5-Codex 在处理简单任务时更快、在处理复杂任务时更深入,提升了代码质量,并且借助 AGENTS.md 更易引导。了解更多
恢复旧会话
使用 codex resume 恢复旧对话 (#3537, #3625)。
统一执行与可靠性 统一执行改进 (#3288, #3479) 和竞态条件修复 (#3644);超时时包含命令输出 (#3576);当命令解析为 patch 时不执行 (#3382);改进 sandbox 超时处理 (#3435);修复不稳定测试 (#3596, #3564)。
认证与登录体验
- 登录体验打磨 (#3632);修复同时处于已登录状态并使用 API key 的问题 (#3611);修复登录 URL 中的多余字符 (#3639);修复自定义 provider 的
get_auth_status(#3581)。
JSON-RPC 与 MCP
JSON-RPC:SetDefaultModel 和 None 会清除默认值 (#3512, #3529)、UserInfo (#3428)、NewConversationResponse 中的 reasoning_effort (#3506);初始 MCP 接口和文档 (#3543, #3507, #3345);标准化 shell 描述 (#3514)。
TUI 引导与打磨 新的引导流程和动画 (#3398, #3631, #3590, #3627),恢复时保持一致的 header (#3615, #3592),改进间距/内边距 (#3469, #3471, #3472, #3474),更清晰的中断和状态样式 (#3470),处理大量 UX 细节问题 (#3650, #3534)。
核心平台
实验性自动上下文压缩 (#3446);扩展默认 sandbox (#3483);Azure Responses API 变通方案 (#3528);在 Azure 中保留更多 item ID (#3542);日志记录和 clippy 改进 (#3488, #3489);通过 nextest 运行 just test (#3508)。
所有已合并的 PR
- fix: 修改 MIN_ANIMATION_HEIGHT,使 show_animation 计算正确 (#3656)
- feat: 调整引导文案 (#3650)
- 修复登录过程中残留的多余登录 URL 字符 (#3639)
- 向 gpt-5 prompt 添加文件引用指南 (#3651)
- feat: 在小型终端上跳过动画 (#3647)
- chore: 重命名 (#3648)
- fix: 添加引用 (#3633)
- chore: 暂时设置
prerelease:true(#3645) - fix: 修复 unified exec 竞态条件 (#3644)
- feat: 更新启动画面 (#3631)
- chore(deps): 在 /codex-rs 中将 tracing-subscriber 从 0.3.19 升级到 0.3.20 (#3620)
- chore(deps): 在 /codex-rs 中将 slab 从 0.4.10 升级到 0.4.11 (#3635)
- 登录流程优化 (#3632)
- 修复 codex resume,使 flags (cd、model、search 等) 仍能生效 (#3625)
- feat: 收紧 preset 过滤,减少 storage load 日志,默认启用 rollout prompt (#3628)
- 在 resume 中显示 abort (#3629)
- 更改动画帧 (#3627)
- 初始 mcp add 接口 (#3543)
- chore: 更新 gpt-5-code 的 prompts (#3624)
- feat: 在 header 中添加 reasoning level (#3622)
- Revert "重构 transcript view 以处理 HistoryCells" (#3614)
- 恢复对话时显示 header (#3615)
- 使用 ChatGPT 登录时,确保覆盖 API key (#3611)
- 对于 apikey 不显示模型 (#3607)
- 修复使用自定义 provider 时的 get_auth_status 响应 (#3581)
- fix: model family 和 apply_patch 一致性 (#3603)
- fix(tui): 将 full-auto 更新为默认 preset (#3608)
- fix(core): 不稳定测试
completed_commands_do_not_persist_sessions(#3596) - 在 codespell 中跳过 frames 文件 (#3606)
- 为 chat widget 添加 session header (#3592)
- 追加完整的原始 reasoning 事件文本 (#3605)
- feat: UI 动画 (#3590)
- 修复 EventMsg Optional (#3604)
- 为 gpt-5-code 使用单一分支 (#3601)
- enable-resume (#3537)
- feat: 更新 model save (#3589)
- 修复不稳定的 windows 测试 (#3564)
- 修复 gpt-5-code 模型选择器 (#3598)
- 添加按 model family 区分的 prompts (#3597)
- 向模型发送 timeout 时包含命令输出 (#3576)
- 对齐用户历史消息前缀宽度 (#3467)
- 将模型升级提示置于 ChatGPT auth 之后 (#3586)
- chore: 更新
output_lines(),使其接收 struct 而不是 bools (#3591) - 在排队状态指示消息前添加间距 (#3474)
- 处理 compact 后的恢复/分叉 (#3533)
- 重构 transcript view 以处理 HistoryCells (#3538)
- 将 gpt-5-code 模型默认设为实验性 reasoning summaries (#3560)
- 在 azure 中为更多 item 类型保留 ID (#3542)
- 始终请求 encrypted cot (#3539)
- Review Mode (Core) (#3401)
- fix: NIT None reasoning effort (#3536)
- 修复 NUX UI (#3534)
- core: 扩展默认 sandbox (#3483)
- 添加 Azure Responses API 变通方案 (#3528)
- 如果命令解析为 patch,则不要尝试运行它 (#3382)
- 更新中断错误消息样式 (#3470)
- feat: 上下文压缩 (#3446)
- 在 composer footer 提示前添加间距 (#3469)
- 在 dropdown headers 和 items 之间添加间距 (#3472)
- feat: 将 reasoning effort 设为可选 (#3527)
- feat: 更改 SetDefaultModel RPC 的行为,使 None 清除该值。 (#3529)
- 标准化 shell 描述 (#3514)
- bug: 修复 model save (#3525)
- 为计时器时长格式添加间距 (#3471)
- 代码审查中的 MCP 文档变更请求 (#3507)
- chore: 添加
just test,其运行cargo nextest(#3508) - feat: 向 JSON-RPC server 添加 SetDefaultModel (#3512)
- feat: 在 NewConversationResponse 中包含 reasoning_effort (#3506)
- add(readme): IDE (#3494)
- 在 client traces 中记录 cf-ray header (#3488)
- bug: 默认使用 image (#3501)
- feat: TUI 引导 (#3398)
- 格式化 usage-limit CTA 时使用 PlanType enum (#3495)
- 添加更详细的 MCP server 使用文档 (#3345)
- fix: 改进
handle_sandbox_error超时处理 (#3435) - chore: 启用
clippy::redundant_clone(#3489) - 为整个 gpt-5 model family 分配相同特性 (#3490)
- fork 时清除 composer (#3445)
- fix: 在 gh 调用中 force=true 时使用 -F 而不是 -f (#3486)
- 向 rollout items 添加 Compact 和 Turn Context (#3444)
- NIT unified exec (#3479)
- 简化 auth 流程并协调 ChatGPT 与 API Key auth 之间的差异 (#3189)
- apply-patch: 对 replacements 排序并添加回归测试 (#3425)
- chore: rust-release.yml 应更新 latest-alpha-cli 分支 (#3458)
- fix: 添加检查,确保
generate_mcp_types.py的输出与codex-rs/mcp-types/src/lib.rs匹配 (#3450) - 将 forking 改为从文件读取 rollout (#3440)
- 统一执行 (#3288)
- feat: 向 JSON-RPC server 添加 UserInfo 请求 (#3428)
- fix: 确保
codex-rs/mcp-types/generate_mcp_types.py的输出与codex-rs/mcp-types/src/lib.rs匹配 (#3439) - 修复接受 trusted dirs 时覆盖 projects table 的问题 (#3434)
- 将 workspace roots 放入 environment context (#3375)