0.93.0
新增功能
- 新增可选的 SOCKS5 代理监听器,支持策略执行和配置门控。(#9803)
- Plan mode 现在会将提议的计划流式传输到专用 TUI 视图中,并新增一个受 feature gate 控制的
/plan快捷方式,用于快速切换模式。(#9786, #10103) - 新增
/apps,用于在 TUI 中浏览连接器,并支持应用提示词的@插入。(#9728) - App-server 现在可以在外部认证模式下运行,接受来自宿主应用的 ChatGPT 认证 token,并在需要时请求刷新。(#10012)
- 智能审批现在默认启用,对 MCP 工具调用提供显式审批提示。(#10286, #10200)
- 引入由 SQLite 支持的日志数据库,并改进了日志客户端、thread-id 过滤、保留策略和启发式着色。(#10086, #10087, #10150, #10151, #10229, #10228)
问题修复
- MCP 工具图像输出现在即使图像块不在首位或部分格式异常,也能可靠渲染。(#9815)
- 输入历史召回现在会恢复本地图像附件和富文本元素。(#9628)
- 文件搜索现在会跟踪会话 CWD 变更,并支持多根遍历且性能更好。(#9279, #9939, #10240)
- 恢复 thread 时不再更新
updated_at,直到首个 turn 实际开始。(#9950) - Shell 快照不再继承 stdin,从而避免启动脚本导致的挂起。(#9735)
- 当 WebSocket 代理失败时,连接会回退到 HTTP。(#10139)
其他变更
- 将 Rust 工具链升级至 1.93。(#10080)
- 更新了仓库中使用的 pnpm 版本。(#9992, #10161)
- 改进 Bazel 构建和 runfiles 处理,包括远程缓存压缩。(#10079, #10098, #10102, #10104)
- 记录了 app-server AuthMode 的使用与行为。(#10191)
完整变更日志:https://github.com/openai/codex/compare/rust-v0.92.0...rust-v0.93.0
- #9988 nit: 更好的工具描述 @jif-oai
- #9991 nit: 更好的未使用 prompt @jif-oai
- #9994 chore: 清理 orchestrator prompt @jif-oai
- #10001 backend-client: 添加 get_config_requirements_file @gt-oai
- #9992 将 pnpm 更新到 10.28.2 以解决安全问题 @mjr-openai
- #9993 role 类型中的 description @jif-oai
- #9944 TUI footer: 右对齐 context,并优雅降级快捷键摘要 + mode @charley-oai
- #9803 feat(network-proxy): 添加带策略执行的 SOCKS5 代理 @viyatb-oai
- #9950 fix(app-server, core): 将初始 context 写入 rollout 文件推迟到第一轮 @owenlin0
- #10003 feat: 支持在 SDK 中指定 --config flags @bolinfest
- #9797 移除 sandbox 全局变量。 @iceweasel-oai
- #10009 chore: 为 new() 方法引入 *Args 类型 @bolinfest
- #10011 真正修复 Windows Codex zip 的 pwd @iceweasel-oai
- #10007 从 SKILL.toml fallback 中移除 load @alexsong-oai
- #10008 为 DangerFullAccess sandbox 策略启用实时 web 搜索 @sayan-oai
- #9815 Fix: 无论顺序如何都渲染 MCP 图像输出 @Kbediako
- #9654 在 callback 响应中显示 OAuth 错误描述 @blevy-oai
- #10030 澄清外部编辑器环境变量消息 @joshka-oai
- #9949 改进询问用户问题的 UI footer @charley-oai
- #9359 tui: 稳定 WSL 上的快捷键覆盖层快照 @slkzgm
- #10040 fix: 支持按轮次更新 web 搜索模式 @sayan-oai
- #10041 fix: 允许 schema 中的 Notice 包含未知字段 @sayan-oai
- #9628 在调出输入历史(上/下)时恢复图片附件/文本元素 @charley-oai
- #9982 [skills] 在运行带依赖规格的 skils 时自动安装 MCP 依赖。 @mzeng-openai
- #9986 fix(core) info 清理 @dylan-hurd-oai
- #9941 失败的 elevated 设置的错误代码/消息详情 @iceweasel-oai
- #9489 feat(core) RequestRule @dylan-hurd-oai
- #10026 添加 exec 策略的 TOML 表示 @gt-oai
- #9821 feat: codex exec 自动订阅新线程 @jif-oai
- #10004 feat: sqlite 1 @jif-oai
- #10083 feat: 按日期排序 metadata @jif-oai
- #10092 更新 shell-tool-mcp.yml @dylan-hurd-oai
- #10079 [bazel] 启用远程缓存压缩 @zbarsky-openai
- #10025 优化 request_user_input 的 TUI 交互和选项 UX @charley-oai
- #10080 升级到 rust 1.93 @zbarsky-openai
- #10095 更新 shell-tool-mcp.yml @dylan-hurd-oai
- #9939 file-search: 提升文件查询性能 @nornagon-openai
- #10097 chore: 弃用旧 web 搜索 feature flags @sayan-oai
- #10034 compaction @aibrahim-oai
- #10028 允许在没有基础 experimental flag 的情况下启用 elevated sandbox @iceweasel-oai
- #10101 fix(ci) 修复 shell-tool-mcp 版本 v2 @dylan-hurd-oai
- #10043 添加
tui.notifications_method配置选项 @etraut-openai - #10104 [bazel] 修复构建 @zbarsky-openai
- #10102 默认启用压缩,更新测试助手 @sayan-oai
- #10111 fix(ci) 更多 shell-tool-mcp 问题 @dylan-hurd-oai
- #10115 更新 shell-tool-mcp 的 CI pnpm workflow,以使用 corepack 进行 pnpm 版本管理 @mjr-openai
- #10098 [bazel] 改进 runfiles 处理 @zbarsky-openai
- #10129 确保 auto-compaction 在轮次开始后启动 @aibrahim-oai
- #10116 chore(config) 将 personality 作为 feature @dylan-hurd-oai
- #10123 添加 app-server compaction item 通知测试 @aibrahim-oai
- #10114 chore(config) 更新 personality 指令 @dylan-hurd-oai
- #10128 从下拉菜单中移除 quit,但不从 autocomplete 中移除 [cli] @natea-oai
- #9728 [connectors] 支持 connectors 第 2 部分 - slash command 和 tui @mzeng-openai
- #10133 chore(core) personality 开发中 @dylan-hurd-oai
- #10125 无法启动 powershell 时发出指标 @iceweasel-oai
- #10134 fix(tui) 重新排序 personality 命令 @dylan-hurd-oai
- #10135 fix(ci) shell-mcp-tool 缺少 package.json @dylan-hurd-oai
- #10131 fix: 在 onboarding 期间忽略按键释放事件 @joshka-oai
- #10138 fix: 移除对 corepack 的引用 @bolinfest
- #10086 feat: 添加 log db @jif-oai
- #10089 feat: 异步 backfill @jif-oai
- #10087 feat: log db client @jif-oai
- #10149 chore: 改进 client @jif-oai
- #10161 nit: 更新 npm @jif-oai
- #10163 [experimental] nit: 尝试加速 apt-install @jif-oai
- #10164 [experimental] nit: 尝试加速 apt-install 2 @jif-oai
- #10150 feat: 向日志添加 thread ID + 在 client 中过滤 @jif-oai
- #10151 feat: 添加日志保留并在 90 天后删除 @jif-oai
- #10152 chore: 统一日志查询 @jif-oai
- #10175 添加 OpenAI docs MCP tooltip @joshka-oai
- #10171 feat: 减少 span 暴露 @jif-oai
- #10139 websockets 失败时回退到 http @pakrym-oai
- #10140 chore: 确保 pnpm-workspace.yaml 是最新的 @bolinfest
- #9017 更好地处理 ENV VAR 上的 skill depdenencies。 @xl-openai
- #10182 fix: 统一 shell-tool-mcp.yml 和 rust-release.yml 中的
npm publish调用 @bolinfest - #10180 添加 features enable/disable 子命令 @joshka-oai
- #10184 fix: /approvals -> /permissions @bolinfest
- #10179 移除 WebSocket wire format @pakrym-oai
- #10186 更新注释以更好地表明在主 slash command 菜单中跳过
quit的意图 @natea-oai - #10118 [Codex][CLI] 在 429 时显示模型容量指引 @ccy-oai
- #10012 feat(app-server): 支持外部 auth mode @owenlin0
- #10103 tui: 添加 feature-gated /plan slash command,以切换到 Plan 模式 @charley-oai
- #10191 chore(app-server): 记录 AuthMode @owenlin0
- #10130 [feat] 将 dynamic tools 持久化到 session rollout 文件 @celia-oai
- #10181 为 go plan 类型添加错误消息 @willwang-openai
- #10198 feat(tui): 将员工反馈跟进路由到内部链接 @joshka-oai
- #10194 从 yaml 加载 @alexsong-oai
- #10147 chore(personality) 带 fallback 的新 schema @dylan-hurd-oai
- #10200 MCP 工具调用批准(简化版) @mzeng-openai
- #10154 feat: 为
/ps添加输出 @jif-oai - #10217 nit: 实际运行测试 @jif-oai
- #10177 向启动 tooltip 添加社区链接 @joshka-oai
- #10210 Chore: plan mode 不包含 free form question,并始终包含 isOther @shijie-oai
- #10218 feat: backfill 计时指标 @jif-oai
- #10220 chore: 统一指标 @jif-oai
- #8991 会话命名 @pap-openai
- #10167 从云端获取 Requirements @gt-oai
- #10225 explorer prompt @jif-oai
- #10222 fix: 确保 shell 存在 @jif-oai
- #10232 chore: 不再清理 DB @jif-oai
- #10229 feat: 改进 logs client @jif-oai
- #10228 feat: 日志的启发式着色 @jif-oai
- #10237 nit: 修复包含多行 metadata 的 db @jif-oai
- #10208 feat: 重构 CodexAuth,使无效状态无法表示 @bolinfest
- #10212 chore(feature) 实验性:Personality @dylan-hurd-oai
- #10211 chore(feature) 实验性:Smart Approvals @dylan-hurd-oai
- #10190 从 requirements 加载 exec 策略规则 @gt-oai
- #10195 plan mode: 添加 TL;DR checkpoint 和 client 行为说明 @baumann-oai
- #10239 chore: 修复由合并竞争导致的构建中断 @bolinfest
- #9786 Plan mode: 流式传输提议的计划,发出 plan items,并在 TUI 中渲染 @charley-oai
- #10063 Tui: 隐藏 Code mode footer 标签 @charley-oai
- #10244 chore: 在类型名称中将 ChatGpt -> Chatgpt 重命名 @bolinfest
- #10238 Plan mode prompt @aibrahim-oai
- #10251 修复部署 @charley-oai
- #10255 plan prompt @aibrahim-oai
- #10253 让 plan 高亮使用弹窗灰色背景 @charley-oai
- #10207 跳过将 codex home 作为项目层加载 @daniel-oai
- #10256 更新文案 @pakrym-oai
- #9735 core: 防止 shell_snapshot 继承 stdin @swordfish444
- #10262 修复 main @pakrym-oai
- #10265 从 slash-command 列表中隐藏 /approvals @pakrym-oai
- #10267 更新 announcement_tip.toml @pakrym-oai
- #10240 file-search: 多根目录遍历 @nornagon-openai
- #10266 fix: 不要为 azure 自动启用 web_search @sayan-oai
- #9279 fix: 当 session CWD 变化时更新文件搜索目录 @yuvrajangadsingh
- #10249 在解析前验证 CODEX_HOME @etraut-openai
- #10272 chore: 为 TruncationPolicy 实现 Mul @bolinfest
- #10241 在 exec、app-server 中接入云端 reqs @gt-oai
- #10263 向 requirements 添加 enforce_residency @gt-oai
- #10276 向 WebSearchAction 添加缺失字段并更新 app-server 类型 @sayan-oai
- #10283 也为 business 开启 cloud requirements @gt-oai
- #10287 修复注释和文档中的小笔误 @ruyut
- #10286 feat(core) 开启 Smart approvals @dylan-hurd-oai