← 返回更新日志

Codex rust-v0.122.0

2026-04-20 · GitHub 原文
## 新功能 - 独立安装程序更加自包含,且 `codex app` 现在能在 Windows 和 Intel Mac 上正确打开或安装桌面应用 (#17022, #18500)。 - TUI 可打开 `/side` 对话以进行快速侧边提问,且队列输入现在支持在任务运行时使用斜杠命令和 `!` shell 提示符 (#18190, #18542)。 - 计划模式可在全新上下文中开始实施,并在决定是否延续规划线程前显示上下文使用情况 (#17499, #18573)。 - 插件工作流现包含标签页浏览、内联启用/禁用开关、市场移除功能,以及远程、跨仓库或本地市场源 (#18222, #18395, #17752, #17751, #17277, #18017, #18246)。 - 文件系统权限现支持拒绝读取的 glob 策略、受管制的拒绝读取要求、平台沙箱执行,以及忽略用户配置或规则的独立 `codex exec` 运行 (#15979, #17740, #18096, #18646)。 - 工具发现和图像生成现默认启用,支持更高细节的图像处理,并为 MCP 和 `js_repl` 图像输出提供原始细节元数据支持 (#17854, #17153, #17714, #18386)。 ## 错误修复 - 当其他客户端解决应用服务器批准、用户输入提示或 MCP 询问时,这些项会从 TUI 中消失,而不会留下过时提示 (#15134)。 - 远程控制启动现在能容忍缺失的 ChatGPT 认证,且通过应用服务器会话再次实现 MCP 启动取消 (#18117, #18078)。 - 恢复和分支的应用服务器线程现在会立即重放令牌使用情况,使上下文/状态 UI 从恢复状态开始 (#18023)。 - 加强了安全敏感流程:注销会吊销受管制的 ChatGPT 令牌,项目钩子和执行策略需要可信工作区,Windows 沙箱设置避免授予宽泛的用户配置文件和 SSH 根权限 (#17825, #14718, #18443, #18493)。 - 沙箱化的 `apply_patch` 写入在分割文件系统策略下正常工作,文件监视器现在能注意到开始监视后创建的文件 (#18296, #18492)。 - 修复了多个 TUI 的粗糙边缘,包括致命技能列表故障、无效恢复提示、重复的上下文状态栏条目、`/model` 菜单循环、冗余内存通知以及 iTerm2 的终端标题引号处理 (#18061, #18059, #18054, #18154, #18580, #18261)。 ## 文档 - 在 `SECURITY.md` 中添加了关于沙箱、批准和网络控制的安全边界参考 (#17848, #18004)。 - 记录了自定义 MCP 服务器批准默认值和执行服务器标准输入行为 (#17843, #18086)。 - 更新了应用服务器文档,涵盖插件 API 变更、市场移除、恢复/分支令牌使用重放以及警告通知 (#17277, #17751, #18023, #18298)。 - 为响应 API 代理添加了简短指南 (#18604)。 ## 杂项 - 将插件和市场代码拆分为 `codex-core-plugins`,将更多连接器代码移入 `connectors`,并继续拆分庞大的核心会话/轮次模块 (#18070, #18158, #18200, #18206, #18244, #18249)。 - 重构了配置加载和 `AGENTS.md` 发现,使其依赖于更狭窄的文件系统和管理器抽象 (#18209, #18035)。 - 通过 flake 修复、原生 Rust 测试分片、作用域仓库缓存、更强的 Windows clippy 覆盖率以及更新的 `rules_rs`/LLVM 固定版本,稳定了 Bazel 和 CI (#17791, #18082, #18366, #18350, #18397)。 - 添加了核心 CODEOWNERS 和更小的开发构建配置文件 (#18362, #18612)。 - 移除了过时的核心 `models.json`,并更新了发布准备以刷新活动模型目录 (#18585)。 ## 更新日志 完整更新日志:https://github.com/openai/codex/compare/rust-v0.121.0...rust-v0.122.0 - #17958 支持 Azure 响应提供程序的远程压缩 @ivanmurashko - #17848 [文档] 在 SECURITY.md 中添加安全边界参考 @evawong-oai - #17990 自动安装 start-codex-exec.sh 依赖项 @pakrym-oai - #17892 将 archive/unarchive 迁移到本地 ThreadStore @wiltzius-openai - #17989 [codex] 恢复远程执行服务器文件系统测试 @starr-openai - #15134 远程解决后清除过时的应用服务器请求 @ebrevdo - #18002 重新启用 @jif-oai - #17885 功能:支持替代市场清单和本地字符串 @xl-openai - #18003 [文档] 回滚 PR 17848 的额外更改 @evawong-oai - #17714 在 MCP 图像输出上支持原始细节元数据 @fjord-oai - #17022 显著改进独立安装程序 @efrazer-oai - #17853 [mcp] 为先前调用但当前缺失的工具添加虚拟工具。 @mzeng-openai - #18004 [文档] 恢复 PR 17848 的 SECURITY.md 更新 @evawong-oai - #17896 澄清实时 v2 上下文和交接消息 @bxie-openai - #17742 移除 yolo 的网络代理 @won-openai - #17999 [codex] 使命令执行增量测试具备块容忍性 @euroelessar - #18033 功能:引入 codex-pr-body 技能 @bolinfest - #17877 启动 TUI 时显示 YOLO 模式的权限(如果已设置) @canvrno-oai - #18022 异步配置加载 @pakrym-oai - #17854 将 ToolSearch 更新为默认启用 @mzeng-openai - #17831 [codex][mcp] 向工具调用项添加资源 URI 元数据。 @mzeng-openai - #18070 将插件加载和市场逻辑提取到 codex-core-plugins 中 @xl-openai - #18078 通过应用服务器修复 MCP 启动取消 @etraut-openai - #17151 [codex] 通过联邦边缘路由 Fed ChatGPT 认证 @jackz-oai - #18006 修复:更多 flake @jif-oai - #18127 修复:Windows flake @jif-oai - #18137 细节:为记忆添加最小值 @jif-oai - #18135 调试:Windows flake @jif-oai - #18138 杂项:更多污染过滤 @jif-oai - #18134 杂项:统一记忆删除端点 @jif-oai - #18144 细节:移除一个 expect @jif-oai - #17791 稳定 Bazel 测试(超时调整和 flake 修复) @ddr-oai - #18117 修复:认证预检 @jif-oai - #18146 杂项:在 just 文件中使用 `justfile_directory` @jif-oai - #18085 [1/8] 添加 MCP 服务器环境配置 @aibrahim-oai - #18054 修复(tui):移除重复的上下文状态栏项 @etraut-openai - #17287 [code 模式] 从执行描述中延迟 mcp 工具 @sayan-oai - #18057 用当前线程名称预填充重命名提示 @etraut-openai - #18059 修复无效的 TUI 恢复提示 @etraut-openai - #17153 默认启动图像生成 @won-openai - #18042 使 yolo 跳过受管网络工具强制 @won-openai - #18154 修复:模型菜单弹出 @jif-oai - #17826 [codex] 添加远程线程存储实现 @wiltzius-openai - #18086 [2/8] 在执行进程 API 中支持管道标准输入 @aibrahim-oai - #18061 避免技能列表失败导致致命的 TUI 错误 @etraut-openai - #15979 功能(权限):添加 glob 拒绝读取策略支持 @viyatb-oai - #18055 改进已配置市场的外部代理插件迁移 @alexsong-oai - #17425 自动升级已配置市场 @xli-oai - #18035 将 AGENTS.md 发现重构为 AgentsMdManager @pakrym-oai - #18158 将更多连接器逻辑移入连接器 crate @pakrym-oai - #17843 为自定义 MCP 服务器添加服务器级批准默认值 @mzeng-openai - #18178 修复:更早释放锁;之前不必要地跨 send_event().await 持有 @bolinfest - #18000 使线程取消订阅测试具有确定性 @starr-openai - #17996 添加 codex_hook_run 分析事件 @abhinav-oai - #18184 修复:修复 examples/ 文件夹中的 clippy 问题 @bolinfest - #18023 修复(应用服务器):恢复和分支后重放令牌使用情况 @fcoury-oai - #18172 [codex] 使实时启动上下文截断具有确定性 @bxie-openai - #18192 限制 Windows Bazel 测试并发性 @starr-openai - #18200 [codex] 拆分 codex 操作处理器 @pakrym-oai - #17387 在 use_agent_identity 后注册代理任务 @adrian-openai - #18026 为钩子运行添加 OTEL 指标 @abhinav-oai - #18092 [codex] 更新实时 V2 VAD 静音延迟和 1.5 提示 @bxie-openai - #18188 添加标签页列表、单行渲染、列宽更改 @canvrno-oai - #18206 [codex] 拆分 codex 轮次逻辑 @pakrym-oai - #18169 对守护程序审查使用 codex-auto-review @jeffsharris - #18196 对未知线程 MCP 读取测试使用进程内应用服务器 @mzeng-openai - #18116 将市场添加移至插件命令下 @xli-oai - #18096 功能(沙箱):添加 glob 拒绝读取平台强制 @viyatb-oai - #17971 修复:弃用 use_legacy_landlock 功能标志 @viyatb-oai - #18209 重构配置加载以使用文件系统抽象 @pakrym-oai - #17862 流式传输 apply_patch 更改 @akshaynathan - #18244 拆分 codex 会话模块 @pakrym-oai - #17713 功能:添加可选提供程序运行时抽象 @celia-oai - #18182 功能:处理替代插件清单路径 @xl-openai - #18219 将 Computer Use 工具建议移至核心 @leoshimo-oai - #18231 codex:拆分线程/读取视图加载 @wiltzius-openai - #18126 修复(执行策略) 规则解析 @dylan-hurd-oai - #17825 [codex] 注销时撤销 ChatGPT 令牌 @sashank-oai - #18304 修复 Windows 执行策略测试 flake @etraut-openai - #17947 修复:减少可写根目录 @jif-oai - #18246 同步本地插件导入、异步远程导入、刷新缓存后… @alexsong-oai - #18097 在功能标志后延迟所有工具 @sayan-oai - #17563 添加 PermissionRequest 钩子支持 @abhinav-oai - #18338 细节:第二阶段临时 @jif-oai - #18267 在恢复选择器中支持 Ctrl+P/Ctrl+N @etraut-openai - #18261 修复(tui):使用 BEL 更新终端标题 @etraut-openai - #17740 功能(配置):支持受管制的拒绝读取要求 @viyatb-oai - #18249 将 codex 模块移至会话下 @pakrym-oai - #18351 文件系统抽象竞争后修复配置加载器测试 @bolinfest - #18021 Guardian -> Auto-Review @won-openai - #18140 功能:配置别名 @jif-oai - #17232 使应用工具提示默认值对应用策略悲观 @colby-oai - #17499 功能(tui):在计划实施提示中添加清除上下文 @fcoury-oai - #18352 codex:通过线程存储路由线程/读取持久化 @wiltzius-openai - #18263 启用对动态工具的工具搜索 @sayan-oai - #18350 ci:使 Windows Bazel clippy 捕获核心测试导入 @bolinfest - #18362 添加核心 CODEOWNERS @aibrahim-oai - #18366 ci:按作业作用域 Bazel 仓库缓存 @bolinfest - #17305 向 thread/list 和 new thread/turns/list api 添加排序/backwardsCursor @ddr-oai - #18020 [3/6] 添加推送的执行进程事件 @aibrahim-oai - #12640 更新 models.json @github-actions - #18373 在 /status 中显示默认推理 @aibrahim-oai - #18379 归属自动化 PR Babysitter 审查回复 @etraut-openai - #18087 [4/6] 抽象 MCP stdio 服务器启动 @aibrahim-oai - #18370 性能(tui):延迟启动技能刷新 @fcoury-oai - #18222 /plugins:添加 v2 标签页市场菜单 @canvrno-oai - #18227 [codex] 传播速率限制达到类型 @richardopenai - #18380 执行服务器:保留 fs 助手运行时环境 @starr-openai - #18381 移除连接器目录请求的层约束 @xl-openai - #18211 重构:缩小异步锁守卫生命周期 @bolinfest - #18017 [codex] 向市场清单添加跨仓库插件源 @xli-oai - #18398 重构:对共享接收器使用可克隆的异步通道 @bolinfest - #18296 修复:修复 apply_patch 的 fs 沙箱助手 @viyatb-oai - #18397 [codex] 将 rules_rs 和 llvm 升级到最新 BCR 版本 @zbarsky-openai - #18082 bazel:使用原生 rust 测试分片 @bolinfest - #18384 更新图像调整大小以适应 2048 平方边界 @pakrym-oai - #17277 功能:向插件 API 添加远程插件字段 @xl-openai - #18395 /plugins:添加内联启用开关 @canvrno-oai - #14718 修复:信任门控项目钩子和执行策略 @viyatb-oai - #17891 [TUI] 启动 TUI 时添加外部配置迁移提示 @alexsong-oai - #18369 功能/自动审查开发消息标记 @won-openai - #18298 功能:预算技能元数据并将修剪作为警告显示 @xl-openai - #18449 [codex] 描述未安装的跨仓库插件读取 @xli-oai - #18220 [codex] 添加所有者提示应用服务器 API @richardopenai - #17752 [codex] 添加市场/移除应用服务器 RPC @xli-oai - #18382 添加最大上下文窗口模型元数据 @aibrahim-oai - #18325 回滚 "[codex] 仅在请求边界清空邮箱" @jif-oai - #18386 将图像输出更新为默认高细节 @pakrym-oai - #18499 修复当前工作目录不可用时的插件缓存 panic @etraut-openai - #18212 [5/6] 连接执行器支持的 MCP stdio @aibrahim-oai - #18573 功能(tui):在计划实施提示中显示使用的上下文 @fcoury-oai - #18500 在 macOS (Intel) 和 Windows 上支持 `codex app` @etraut-openai - #18542 在 TUI 中队列斜杠和 shell 提示 @etraut-openai - #18524 为外部官方市场添加回退源 @alexsong-oai - #18571 记录实时会话 ID @aibrahim-oai - #18585 移除未使用的 models.json @aibrahim-oai - #18190 添加 `/side` 对话 @etraut-openai - #18580 避免冗余内存启用通知 @etraut-openai - #18443 不在 USERPROFILE 上授予 Windows 沙箱 ACL @efrazer-oai - #18493 从 SSH 配置依赖项中过滤 Windows 沙箱根目录 @efrazer-oai - #17978 每个线程持久化和预热代理任务 @adrian-openai - #18604 添加 responses-api-proxy 的 tldr 文档 @andmis - #18601 放宽快速模式计划使用副本 @pash-openai - #18596 杂项(multiagent) 技能说明开关 @dylan-hurd-oai - #18599 修复(guardian) 在守护线程中禁用技能消息 @dylan-hurd-oai - #18612 创建 dev-small 构建配置文件 @andmis - #18440 在 TUI 恢复提示中使用线程 ID @etraut-openai - #18605 TUI:移除简单的 legacy_core 重新导出 @etraut-openai - #18625 添加 `codex debug models` 以显示模型目录 @andmis - #18221 [codex] 添加工作区所有者使用提示 UI @richardopenai - #17980 [codex] 在 use_agent_identity 后使用 AgentAssertion 下游 @adrian-openai - #17751 [codex] 添加市场/移除应用服务器 RPC @xli-oai - #18644 功能:为代理添加内存 2 头部 @jif-oai - #18353 杂项:morpheus 改为路径 @jif-oai - #18649 修复:main 2 @jif-oai - #17721 稳定市场/移除 installedRoot 测试 @xli-oai - #18492 修复:文件尚不存在时的 FS 监视器 @jif-oai - #18646 功能:添加 `--ignore-user-config` 和 `--ignore-rules` @jif-oai - #18652 细节:telepathy 改为 chronicle 在测试中 @jif-oai - #18654 修复:子代理的执行策略加载 @jif-oai - #18651 功能:chronicle 别名 @jif-oai