0.138.0
新增功能
/app命令现在可以在 macOS 和原生 Windows 上将当前 CLI 线程交接给 Codex Desktop,并且 Windows 工作区启动时可直接打开 Desktop,而不必停留在手动提示环节。(#25638, #26500)- 本地图片附件和独立图片生成现在会将其保存的文件路径暴露给模型,使后续编辑和文件引用更加可靠。(#25944, #25947)
- 推理强度选择更加灵活:TUI 为缺少
Alt键绑定的终端增加了备用快捷键,模型定义的强度级别现在会按模型所声明的顺序透传。(#25623, #26444, #26446) - app-server 集成现在可以读取账户令牌用量,Codex 认证在 CLI 和 app-server 流程中支持 v2 个人访问令牌。(#25344, #25731)
- 插件自动化获得了更丰富的结构化输出:add/remove 和 marketplace 命令支持
--json,插件列表 JSON 中包含 marketplace 来源,插件详情数据现在会暴露默认提示词、远程 MCP 服务器以及不可用的应用模板。(#26631, #26417, #25887, #26453, #26317)
问题修复
- Goal 工作流更可预测:在
/goal edit中多行粘贴不再提前提交,空闲自动轮次不会进入 Plan 模式,且目标在终轮失败后不再自动继续。(#26047, #26147, #26690) - 分叉线程现在会保留用户重命名的标题,而不再回退到原始的首次提示名称。(#26075)
- TUI 在流式输出时不再添加额外空白,取消的提示重新打开时光标位于末尾,让你可以自然地继续编辑。(#26636, #26457)
- TUI 配置写入失败现在会显示底层原因,使校验问题和只读文件系统问题更易于诊断。(#26537)
- 启动在各种环境下更具韧性,支持
/usr/bin/bash、更短的 Linux 代理套接字路径,并会预先刷新已过期的 OAuth 支持的 MCP 凭据。(#26538, #26553, #26482) - 工作区指令加载对远程和符号链接工作区更准确,因此能一致地选取正确的
AGENTS.md文件。(#26205, #26465)
其他变更
- TUI 启动时通过复用发现结果并只在关键路径上加载 hook 元数据,减少了重复的插件工作。(#26469, #26272)
resume --last现在会先通过状态 DB 查找最新的匹配会话,从而加快大型本地历史记录下的恢复速度。(#26462)- 得益于优化的字节扫描,大型 MCP/Ollama 流和长消息历史的处理速度大幅提升。(#26265)
- CLI README 已更新,移除了过时指引,并更好地匹配当前文档流程。(#26313)
完整更新日志:https://github.com/openai/codex/compare/rust-v0.137.0...rust-v0.138.0
- #26179 nit: 小幅更新 MAv2 提示词 @jif-oai
- #26175 feat: 为 git enrichment 添加防护 @jif-oai
- #26047 修复 /goal edit 中的多行粘贴 @etraut-openai
- #25700 core: 停止在 exec 中传递 SandboxPolicy @bolinfest
- #25925 [codex] 将用户 Bazel 设置复制到 Codex worktrees @anp-oai
- #26216 [codex] 将 Python SDK 固定到 runtime 0.137.0a4 @aibrahim-oai
- #25887 保留远程插件默认提示词 @ericning-o
- #25944 向模型暴露本地图像路径 @won-openai
- #25469 [profile-switcher][rust] -- [1/2] 添加 app-server 账户会话协议 @dhruvgupta-oai
- #26075 修复分叉线程名称继承 @etraut-openai
- #25960 恢复 code-mode 图像生成暴露的 Windows 覆盖测试 @won-openai
- #26226 [codex] 拆分 Python runtime 发布工作流 @aibrahim-oai
- #26254 feat: 对 multi-agent v2 配置进行编目 @jif-oai
- #26251 在远程压缩期间重写过大的工具输出 @pakrym-oai
- #26260 codex-pr-body: 避免机密引用 @anp-oai
- #26074 使用 Windows 设置标记作为完成信号 @abhinav-oai
- #26002 记录插件 MCP 服务器名称 @chrisdong-oai
- #25623 fix(tui): 添加推理强度回退快捷键 @fcoury-oai
- #25638 feat(tui): 添加 /app 桌面端交接 @fcoury-oai
- #26189 cli: 从安装上下文添加包路径 @bolinfest
- #25946 [codex-analytics] 上报压缩请求 token 数量 @rhan-oai
- #26252 ci: 使用 Azure Key Vault 对 macOS 发布产物进行签名 @eburke-openai
- #26367 chore: 冷静下来 @jif-oai
- #26147 在 Plan 模式中限制自动空闲轮次 @jif-oai
- #26172 将 host 加载的 skills 接入 skills 扩展 @jif-oai
- #26265 使用 memchr 优化无界字节扫描 @charliemarsh-oai
- #26396 减少 OpenTelemetry SDK 调试日志导致的 SQLite 争用 @zanie-oai
- #26272 在不加载其他插件能力的情况下加载插件 hooks @charliemarsh-oai
- #26313 简化 Codex CLI README @etraut-openai
- #25947 为独立图像生成添加已保存图像路径提示 @won-openai
- #26291 限制外部 agent 会话检测工作量 @stefanstokic-oai
- #26417 在插件列表 JSON 中暴露已配置的 marketplace 源 @mpc-oai
- #26436 app-server: 支持 -c 配置覆盖 @bolinfest
- #26435 external-agent-migration: 避免混合 MCP 传输配置 @stefanstokic-oai
- #26248 [codex-analytics] 在初始化时发出分叉线程 ID @kbazzi
- #26320 core: 允许从 code 模式中排除工具命名空间 @sayan-oai
- #25945 使用 Azure 工件签名环境密钥 @shijie-oai
- #26205 通过环境文件系统路由 AGENTS.md 加载 @anp-oai
- #26445 [codex] 修复 Windows 沙箱构建脚本 lint @pakrym-oai
- #23710 build: 对发布二进制文件使用 ThinLTO @anp-oai
- #26447 移除 response.processed websocket 请求 @pakrym-oai
- #26312 清理 experimentalFeature/enablement/set @mzeng-openai
- #26444 [codex] 支持模型定义的推理强度 @aibrahim-oai
- #26446 [codex] 使用模型公布的推理强度顺序 @aibrahim-oai
- #26466 使用 Winget 发布环境密钥 @shijie-oai
- #26465 [codex] 在 AGENTS.md 发现过程中保留逻辑路径 @anp-oai
- #26453 fix(app-server): 在插件读取中暴露远程 MCP 服务器 @ericning-o
- #26473 添加用于推送 CI 配置更改的 skill @anp-oai
- #26317 [codex] 在插件详情中暴露不可用的应用模板 @charlesgong-openai
- #26471 改进 Windows 沙箱设置刷新诊断 @iceweasel-oai
- #26431 降低插件服务的拉取频率 @beggers-openai
- #25000 ci: 测试 Windows 交叉构建 @cconger
- #25955 [codex] 发出沙箱结果遥测事件 @rreichel3-oai
- #26487 [codex] 添加 use_responses_lite 'override' 逻辑 @rka-oai
- #26482 fix(rmcp): 在启动前刷新过期的 OAuth token @anp-oai
- #26256 [codex] 使 Bazel 启动选项在各命令间保持稳定 @anp-oai
- #26499 core: 从 profile 派生 exec 策略的文件系统策略 @bolinfest
- #26215 feat(remote-control): 允许在禁用时进行配对 @apanasenko-oai
- #26480 [codex] 添加环境 shell 信息 @pakrym-oai
- #26210 加密 multi-agent v2 消息负载 @jif-oai
- #26566 nit: 文档 @jif-oai
- #25710 [codex] 通过 app-server 转发轮次审核元数据 @carlc-oai
- #26599 [codex] 保持 v1 spawn 元数据可见 @jif-oai
- #26610 refactor: 拆分 agent 控制模块 @jif-oai
- #25344 feat(app-server): 暴露账户 token 用量 [1 of 2] @fcoury-oai
- #26553 [codex] 修复过长的代理 socket 路径 @viyatb-oai
- #26537 显示 TUI 配置写入错误原因 @etraut-openai
- #26500 通过 deep link 打开 Windows 应用工作区 @etraut-openai
- #26551 修复控制命令的
/goal用法文本 @etraut-openai - #26554 在 TUI 回放中渲染代码注释指令 @etraut-openai
- #26623 feat: 在交付时重新加载 v2 agents @jif-oai
- #26532 在线程设置中要求绝对 cwd @pakrym-oai
- #26625 [codex] 允许在经代理路由的 Linux 沙箱中使用 socketpair @viyatb-oai
- #26538 [codex] 添加 /usr/bin/bash shell 回退 @pakrym-oai
- #26449 feat(remote-control): 添加配对状态传输 @hefuc-oai
- #26433 使轮次 diff 跟踪器支持多环境 @pakrym-oai
- #26636 fix(tui): 避免流式输出时出现重复空行 @fcoury-oai
- #26450 feat(app-server): 添加远程控制配对状态 RPC @hefuc-oai
- #26335 清理 Rust 发布工作流 @shijie-oai
- #26547 [1 of 2] 使 goal 扩展与核心行为对齐 @etraut-openai
- #26181 fix(tui): 修复 Windows composer 背景问题 @fcoury-oai
- #26457 fix(tui): 在末尾恢复已取消提示的 cursor @fcoury-oai
- #26307 [codex] 在 exec 策略中遵循 Windows 沙箱后端 @iceweasel-oai
- #26484 [codex] 添加轮次性能分析 @aibrahim-oai
- #26552 在 app-server API 中使运行时工作区根路径为绝对路径 @pakrym-oai
- #26462 对
resume --last优先使用 state DB @charliemarsh-oai - #26469 通过复用插件发现加速 TUI 启动 @charliemarsh-oai
- #26631 为插件子命令添加 JSON 输出 @mpc-oai
- #26669 [codex] 限制 WSL 本地 curated 发现 @xl-openai
- #26548 [2 of 2] 完成将 goal runtime 迁移到扩展 @etraut-openai
- #26674 protocol: 从 Op 中移除提交端 serde @pakrym-oai
- #26690 在终态轮次错误后阻止活跃 goal @etraut-openai
- #25936 [codex] 移除旧版远程插件启动同步 @xl-openai
- #26490 [codex] 对 Responses Lite 使用独立工具 @rka-oai
- #26013 [codex] 在 TUI 中门控终端可视化指令 @vie-oai
- #25731 [codex-rs] 支持 v2 个人访问 token @cooper-oai
- #26542 [codex] 发送 Responses Lite 传输头 @rka-oai
- #24852 permissions: 强制执行托管权限 profile 允许列表 @viyatb-oai
- #26698 [codex] 去重 skill 加载警告 @xl-openai
- #26716 从
just test中移除just bench-smoke。 @anp-oai