0.81.0
新增功能
- 默认 API 模型已切换为 gpt-5.2-codex。(#9188)
codex mcp-server中的codex工具现在会在响应中包含threadId,以便与codex-reply工具配合使用,修复了 #3712。文档已更新至 https://developers.openai.com/codex/guides/agents-sdk/。(#9192)- 无头运行现在会自动切换为设备代码登录,因此无需浏览器即可完成登录。(#8756)
- Linux 沙箱可将路径以只读方式挂载,从而更好地防止文件被写入。(#9112)
- 支持在
tui中渲染部分工具调用
问题修复
- 备用屏幕(alternate-screen)处理现在不会再破坏 Zellij 的 scrollback,并新增了配置项/标志用于控制该行为。(#8555)
- 在只读沙箱策略下运行时,Windows 现在会在执行不安全命令前正确弹出提示。(#9117)
- Config.toml 和规则解析错误现在会报告给 app-server 客户端/TUI,而不再静默失败。(#9182, #9011)
- 规避了代理发现过程中 macOS 系统配置引发的崩溃。(#8954)
- 无效的用户图片上传现在会返回错误,而不再被静默替换。(#9146)
其他变更
- 新增 Bazel 构建支持,并为贡献者提供了
just bazel-codex辅助命令。(#8875, #9177)
- 在
docs/中发布为config.toml生成的 JSON Schema,用于验证配置。(#8956) - 为无法可靠支持 bracketed paste 的终端记录了 TUI paste-burst 状态机。(#9020)
完整变更日志:https://github.com/openai/codex/compare/rust-v0.80.0...rust-v0.81.0
- #8756 [device-auth] 检测到无头环境时,改为显示设备登录流程。@mzeng-openai
- #8930 feat: clb 工具初版 @jif-oai
- #8966 nit: 重命名会话指标 @jif-oai
- #8969 chore: 构建 spec 时使用不可变 btree @jif-oai
- #8968 chore: 将 otel provider 移到 trace 模块外 @jif-oai
- #8973 chore: 添加 MCP 调用指标 @jif-oai
- #8970 chore: 添加审批指标 @jif-oai
- #8975 chore: 工具调用指标 @jif-oai
- #8901 chore: 更新指标时间性 @jif-oai
- #8954 规避 system-configuration 库中的崩溃 @etraut-openai
- #8873 fix(app-server): 从 initialize JSON-RPC 请求中设置 originator 头 @owenlin0
- #8909 添加用于禁用 /feedback 的配置 @gt-oai
- #8985 chore: 删除 telemetry 文件 @jif-oai
- #8986 回滚 "fix(app-server): set originator header from initialize JSON-RPC request" @jif-oai
- #8978 nit: 重命名为 analytics_enabled @jif-oai
- #8963 renaming: 将 task 重命名为 turn @jif-oai
- #8555 fix: 添加 tui.alternate_screen 配置和 --no-alt-screen CLI 标志,用于 Zellij 回滚 @hjanuschka
- #8875 feat: 添加使用 Bazel 构建的支持 @zbarsky-openai
- #8988 fix(app-server): 从 initialize 设置 originator 头(re-revert) @owenlin0
- #8766 fix: 加固 arg0 helper 的 PATH 处理 @viyatb-oai
- #8949 记录未处理的 SSE 事件 @pakrym-oai
- #8996 添加分层 agent 提示词 @pakrym-oai
- #9003 删除 announcement_tip.toml @pakrym-oai
- #8940 重构远程模型测试以使用 TestCodex 构建器 @aibrahim-oai
- #8981 在非默认时将模型提供商信息添加到 /status @gt-oai
- #8984 为 responses 错误消息添加 URL @gt-oai
- #9008 fix: 将 .git 添加到 .bazelignore @bolinfest
- #9010 fix: 将 AGENTS.md 作为集成测试的仓库根标记 @bolinfest
- #8950 为附加图像添加标签,使 agent 能理解消息内标签 @charley-oai
- #9032 回滚 "Delete announcement_tip.toml" @jif-oai
- #9018 fix: 也支持远程 arm64 构建 @zbarsky-openai
- #8983 feat: collab 1 的测试框架 @jif-oai
- #9088 feat: 为 collab 添加 wait 工具实现 @jif-oai
- #9090 feat: 为 collab 添加 close 工具实现 @jif-oai
- #8971 添加静态 MCP 回调 URI 支持 @WhammyLeaf
- #9099 nit: 添加 docstring @jif-oai
- #8994 feat: 将 fork 接入 Codex CLI @apanasenko-oai
- #9071 chore(deps): 在 /codex-rs 中将 tui-scrollbar 从 0.2.1 升级到 0.2.2 @dependabot
- #9072 chore(deps): 在 /codex-rs 中将 ts-rs 从 11.0.1 升级到 11.1.0 @dependabot
- #9074 chore(deps): 在 /codex-rs 中将 which 从 6.0.3 升级到 8.0.0 @dependabot
- #9075 chore(deps): 在 /codex-rs 中将 clap 从 4.5.53 升级到 4.5.54 @dependabot
- #9076 chore(deps): 在 /codex-rs 中将 tokio-util 从 0.7.16 升级到 0.7.18 @dependabot
- #8957 feat: 热重载 MCP 服务器 @shijie-oai
- #9107 移除未使用的 conversation_id 头 @pakrym-oai
- #9080 为图像附件添加一些测试 @charley-oai
- #9114 提取单个 responses SSE 事件解析 @pakrym-oai
- #8961 动态组装 sandbox/approval/network 提示词 @aibrahim-oai
- #9102 添加模型客户端会话 @pakrym-oai
- #8246 fix(tui): 在 transcript 覆盖层中显示进行中的合并工具调用 @Chriss4123
- #9127 复用 WebSocket 连接 @pakrym-oai
- #9117 fix: 在 Windows 上对不安全命令进行提示 @bolinfest
- #9128 WebSocket 追加支持 @pakrym-oai
- #9077 默认在轮次中途发送消息。使用 Tab 排队消息 @aibrahim-oai
- #9049 处理来自空粘贴事件的图像粘贴 @aibrahim-oai
- #8952 迁移界面使用 Markdown @aibrahim-oai
- #9109 更新工具调用摘要的启发式规则,以检测文件修改 @etraut-openai
- #9138 在页脚显示 Tab 排队提示 @aibrahim-oai
- #9140 使用 thread rollback 实现 Esc 回溯 @aibrahim-oai
- #9143 chore: 改进 collab 工具的错误处理 @jif-oai
- #9147 nit: collab 发送输入清理 @jif-oai
- #9129 支持 response.done 并添加集成测试 @pakrym-oai
- #8798 ollama: 内置项默认使用 Responses API @drifkin
- #8956 为 config.toml 添加生成的 jsonschema @sayan-oai
- #9122 修复 /review 期间排队消息的问题 @charley-oai
- #9126 fix: 在会话结束时丢弃 session span @apanasenko-oai
- #9101 通过
requirements.toml限制 MCP 服务器 @gt-oai - #9020 fix(tui): 记录 paste-burst 状态机 @joshka-oai
- #9118 feat(app-server): 添加 --analytics-default-enabled 标志 @owenlin0
- #9130 全新的工具提示 @mzeng-openai
- #9134 fix(windows-sandbox-rs) 升级 SETUP_VERSION @dylan-hurd-oai
- #9121 test(tui): 添加确定性的 paste-burst 测试 @joshka-oai
- #8661 修复 MCP 启动在轮次中途完成时的 spinner/Esc 中断 @2mawi2
- #9165 允许用 Esc 关闭 skill 弹窗。@xl-openai
- #9169 修复 WebSocket 测试的不稳定问题 @pakrym-oai
- #9011 fix: 对格式错误的规则在 TUI 中报告合适的错误 @bolinfest
- #9166 fix: #9011 的集成测试 @bolinfest
- #9177 feat: 向 justfile 添加 bazel-codex 条目 @bolinfest
- #9175 WebSocket 测试服务器脚本 @pakrym-oai
- #9136 更新 models.json @github-actions
- #9168 清理模型管理器 @aibrahim-oai
- #8933 [CODEX-4427] 改进解析后的命令 @aibrahim-oai
- #9174 在 ETag 匹配时刷新缓存 TTL @aibrahim-oai
- #9124 fix(tui): 加固 paste-burst 状态转换 @joshka-oai
- #9186 TUI 迁移使用离线缓存 @aibrahim-oai
- #9182 改进 app server 客户端的配置和规则错误处理 @etraut-openai
- #8997 chore: 阐明 unified_exec 的默认 shell @sayan-oai
- #9192 feat: 向 MCP 服务器消息添加 threadId @bolinfest
- #9188 更改 API 默认模型 @aibrahim-oai
- #9150 feat: 将 rc 文件 source 添加到 shell 快照 @jif-oai
- #9155 fix: shell 快照清理 @jif-oai
- #9146 feat: 如果用户发送的图像是无效图像,则返回错误 @jif-oai
- #9197 feat: 仅在文件存在时 source shell 快照 @jif-oai
- #9145 fix: 移除 TUI 中重复的等待标题 @jif-oai
- #9194 内联渲染 exec 输出增量 @aibrahim-oai
- #9156 chore: 对空 write_stdin 限制最小 yield 时间 @jif-oai
- #9105 feat: 为 thread 监听器添加自动刷新 @jif-oai
- #9112 feat: 在 Linux sandbox 中添加只读 bind mount 支持 @viyatb-oai
- #9179 为 review 使用当前模型 @pakrym-oai