← 返回更新日志

Codex rust-v0.121.0

2026-04-15 · GitHub 原文
## 新功能 - 新增 `codex marketplace add` 命令及应用服务器支持,可通过 GitHub、git URL、本地目录及直接的 `marketplace.json` URL 安装插件市场 (#17087, #17717, #17756)。 - 改进 TUI 提示历史记录,包括 `Ctrl+R` 反向搜索以及对已接受的斜杠命令的本地回忆 (#17550, #17336)。 - 新增 TUI 和应用服务器对记忆模式、记忆重置/删除以及记忆扩展清理的控制 (#17632, #17626, #17913, #17937, #17844)。 - 扩展 MCP/插件支持,新增 MCP 应用工具调用、带命名空间的 MCP 注册、并行调用选择加入以及 MCP 服务器的沙盒状态元数据 (#17364, #17404, #17667, #17763)。 - 为输出模态、转录完成事件、原始回合项注入以及符号链接感知的文件系统元数据添加实时和应用服务器 API (#17701, #17703, #17719)。 - 新增安全的 devcontainer 配置文件,支持 bubblewrap,并为 macOS 沙盒添加 Unix 套接字允许列表 (#10431, #17547, #17654)。 ## Bug 修复 - 修复 macOS 沙盒/代理对私有 DNS 的处理,并移除了 `danger-full-access` 仅拒绝列表的网络模式 (#17370, #17732)。 - 修复 Windows 当前工作目录/会话匹配,使 `resume --last` 和 `thread/list` 在路径使用 verbatim 前缀时能够正常工作 (#17414)。 - 修复 `prolite` 计划的速率限制/账户处理,并使未知的 WHAM 计划值可解码 (#17419)。 - 将 Guardian 超时与策略拒绝区分开,提供超时特定指引并显示在 TUI 历史记录条目中 (#17381, #17486, #17521, #17557)。 - 通过避免过早的线程卸载、容忍启动时信任持久化失败以及跳过 `fs/readDirectory` 中的损坏符号链接,稳定应用服务器行为 (#17398, #17595, #17907)。 - 修复 MCP/工具调用的边缘情况,包括扁平化的延迟工具名称、提示超时核算以及空的命名空间描述 (#17556, #17566, #17946)。 ## 文档 - 记录了安全的 devcontainer 配置文件及其 bubblewrap 要求 (#10431, #17547)。 - 为 TUI 编辑器添加了历史搜索行为的文档 (#17550)。 - 更新了应用服务器文档,涵盖新的 MCP、市场、回合注入、记忆重置、文件系统元数据、外部代理迁移以及 WebSocket 令牌哈希 API (#17364, #17717, #17703, #17913, #17719, #17855, #17871)。 - 记录了 WSL1 上 bubblewrap 的限制及 WSL2 的行为 (#17559)。 - 为扩展清理添加了记忆管道文档 (#17844)。 ## 杂项 - 通过固定 GitHub Actions、cargo 安装、git 依赖、V8 校验和以及 cargo-deny 源允许列表,加强了供应链和 CI 输入的安全性 (#17471)。 - 添加 Bazel 发布构建验证,确保发布专用的 Rust 代码在 PR CI 中被编译 (#17704, #17705)。 - 引入了 `codex-thread-store` crate/接口,并将本地线程列表功能移至其下 (#17659, #17824)。 - 要求工作区安装需使用经过审查的 pnpm 依赖构建脚本 (#17558)。 - 通过更广泛的绝对路径类型和移除未使用的辅助 API,减少了 Rust 维护面 (#17407, #17792, #17146)。 ## 更新日志 完整更新日志:https://github.com/openai/codex/compare/rust-v0.120.0...rust-v0.121.0 - #17087 添加市场命令 @xli-oai - #17409 修复 Windows exec-server 输出测试的随机失败 @etraut-openai - #17381 在协议类型中表示 Guardian 审查超时 @won-openai - #17399 TUI:强制核心边界 @etraut-openai - #17370 修复:在 macOS 沙盒中解除私有 DNS 的阻塞 @viyatb-oai - #17396 更新云要求解析失败消息 @alexsong-oai - #17364 [mcp] 支持 MCP 应用第 3 部分 - 添加 mcp 工具调用支持。 @mzeng-openai - #17424 稳定市场添加本地源测试 @ningyi-oai - #17414 修复 Windows verbatim 路径的 thread/list 当前工作目录过滤 @etraut-openai - #10431 feat(devcontainer):添加独立的secure客户配置文件 @viyatb-oai - #17314 随反馈上传传递回合 ID @ningyi-oai - #17336 fix(tui):本地回忆已接受的斜杠命令 @fcoury-oai - #17430 将关闭的 TUI 输入流处理为关闭 @etraut-openai - #17385 添加 use_agent_identity 功能标志 @adrian-openai - #17483 更新问题标记器代理标签 @etraut-openai - #17493 修复 @aibrahim-oai - #17419 支持 prolite 计划类型 @etraut-openai - #17416 在 /stop 后清除 /ps @etraut-openai - #17415 在退出时恢复 codex-tui 恢复提示 @etraut-openai - #17402 chore:重构名称和命名空间为单一类型 @sayan-oai - #17486 Guardian 超时后更改决策语义 @won-openai - #17521 澄清 Guardian 超时指引 @won-openai - #17547 [codex] 在安全 Docker devcontainer 中支持 bubblewrap @viyatb-oai - #17519 预算实时当前回合上下文 @aibrahim-oai - #17556 [codex] 支持扁平化的延迟 MCP 工具调用 @fc-oai - #17558 build(pnpm):要求审查依赖构建脚本 @mcgrew-oai - #17559 fix(sandboxing):拒绝 WSL1 bubblewrap 沙盒 @viyatb-oai - #17520 将用户文本镜像到实时 @aibrahim-oai - #17550 feat(tui):向编辑器添加反向历史搜索 @fcoury-oai - #17420 移除上下文状态行计量器 @etraut-openai - #17506 通过应用服务器公开指令来源 (AGENTS.md) @etraut-openai - #17566 fix(mcp) 暂停提示计时器 @dylan-hurd-oai - #17406 将 MCP 工具挂钟时间添加到模型输出 @pakrym-oai - #17294 通过沙盒辅助运行 exec-server 文件系统操作 @starr-openai - #17605 稳定 exec-server 进程测试 @etraut-openai - #17221 feat:在 0.0.0 上忽略密钥环 @jif-oai - #17216 从 exec-server 策略构建远程执行环境 @jif-oai - #17633 nit:更改合并模型 @jif-oai - #17640 fix:稳定性 exec 服务器 @jif-oai - #17643 fix:去重压缩 @jif-oai - #17247 使分叉的代理生成保持父模型配置 @friel-openai - #17470 修复流失败时自定义工具输出清理 @etraut-openai - #17417 为问卷发出计划模式提示通知 @etraut-openai - #17481 在狭窄布局中包装状态重置时间戳 @etraut-openai - #17601 抑制重复压缩和终端等待事件 @etraut-openai - #17657 修复 TUI 压缩项重放 @etraut-openai - #17595 信任持久化失败时不要失败线程启动 @etraut-openai - #17407 在技能加载和 codex_home 中使用 AbsolutePathBuf @pakrym-oai - #17626 feat:禁用记忆端点 @jif-oai - #17365 在提升的 Windows 沙盒设置中包含传统拒绝路径 @iceweasel-oai - #17638 feat:为避免重新加载策划的市场以进行工具建议发现… @jif-oai - #17398 app-server:仅卸载一段时间未使用的线程 @euroelessar - #17669 仅在规则需要时指定远程端口 @iceweasel-oai - #17691 修复 TUI 编译 @davidhao3300 - #17384 将第 2 阶段记忆模型更新为 gpt-5.4 @kliu128 - #17395 移除不必要的测试 @kliu128 - #17685 限制实时镜像的用户回合 @aibrahim-oai - #17699 更改实时工具描述 @aibrahim-oai - #17667 向包含的 mcps 添加 `supports_parallel_tool_calls` 标志 @josiah-openai - #17703 添加回合项注入 API @pakrym-oai - #17671 在 CI 中稳定 exec-server 文件系统测试 @starr-openai - #17557 guardian 超时修复 PR 3 - 超时的 UX 触摸 @won-openai - #17719 [codex] 为 fs 元数据添加符号链接标志 @pakrym-oai - #17146 [codex] 移除未使用的 Rust 辅助工具 @pakrym-oai - #17471 fix:固定输入 @viyatb-oai - #17717 [codex] 将市场添加重构为共享核心流程 @xli-oai - #17747 将插件加载重构为异步 @pakrym-oai - #17709 [codex] 为代码模式 V8 初始化 ICU 数据 @pakrym-oai - #17749 [codex] 仅在请求边界处 draining mailbox @tibo-openai - #16640 [codex-analytics] 功能管道和发射 @rhan-oai - #17761 收紧实时交接最终化 @aibrahim-oai - #17701 添加实时输出模态和转录事件 @aibrahim-oai - #17777 nit:功能标志 @jif-oai - #17637 feat:将上下文百分比添加到状态行 @jif-oai - #17665 在支持的模型上始终启用原始图像细节 @fjord-oai - #17374 [codex-analytics] 将会话来源添加到客户端元数据 @marksteinbrick-oai - #17489 将 updated-at 时间戳移动到唯一的毫秒时间 @ddr-oai - #17784 feat:codex 采样器 @jif-oai - #17732 fix:恢复 danger-full-access 仅拒绝列表模式 @viyatb-oai - #17234 将调试客户端输出重定向到文件 @rasmusrygaard - #17803 将 image_detail_original 保留为已移除的功能标志 @fjord-oai - #17372 app-server:准备并发运行初始化的 RPC @euroelessar - #17704 重构 Bazel CI 作业设置 @bolinfest - #17674 通过环境文件系统路由 apply_patch @starr-openai - #17702 修复远程技能弹出窗口加载 @starr-openai - #17830 [codex] 修复应用服务器初始化请求分析构建 @etraut-openai - #17389 [codex-analytics] 默认启用通用分析 @rhan-oai - #17659 线程存储接口 @wiltzius-openai - #17792 传播 AbsolutePathBuf @pakrym-oai - #17808 fix:应用补丁 bin 刷新 @jif-oai - #17838 添加实时线路跟踪日志 @aibrahim-oai - #17684 调整默认工具搜索结果上限 @malone-oai - #17705 添加 Bazel 验证发布构建作业 @bolinfest - #17720 使技能加载具有文件系统感知能力 @pakrym-oai - #17756 [codex] 支持本地市场来源 @xli-oai - #17846 修复 Guardian CI 测试栈溢出,应用 Box 以减少栈压力 @won-openai - #17855 在外部代理配置迁移中支持插件 @alexsong-oai - #17872 在 Guardian 审查会话中禁用钩子 @abhinav-oai - #17868 包装委托的输入文本 @guinness-oai - #17884 修复外部代理配置迁移中的 clippy 警告 @canvrno-oai - #17837 在核心测试中重用远程 exec-server @starr-openai - #17859 沙盒:移除死亡的 seatbelt 辅助工具并更新测试 @bolinfest - #17870 fix:清理通用 exec() 函数的契约 @bolinfest - #17871 fix:添加 WebSocket 能力令牌哈希支持 @viyatb-oai - #17763 通过 MCP 工具元数据发送沙盒状态 @aaronl-openai - #17654 在 macOS 沙盒中支持 Unix 套接字允许列表 @aaronl-openai - #17915 fix:cargo deny @jif-oai - #17913 feat:添加删除记忆的端点 @jif-oai - #17844 feat:清理记忆扩展 @jif-oai - #17921 chore:exp 标志 @jif-oai - #17917 [codex] 修复当前主 CI 阻塞问题 @sayan-oai - #17919 chore:重置时不关闭过去推出的记忆 @jif-oai - #17924 nit:稳定测试 @jif-oai - #17632 feat:记忆菜单 @jif-oai - #17404 使用命名空间注册所有 mcp 工具 @sayan-oai - #17941 nit:文档 @jif-oai - #17938 feat:在阶段 1 之前清理推出 @jif-oai - #17937 feat:重置记忆按钮 @jif-oai - #17883 移除 exec-server 文件系统沙盒请求预检 @pakrym-oai - #17386 在 use_agent_identity 后注册代理身份 @adrian-openai - #17907 修复 fs/readDirectory 以跳过损坏的符号链接 @willwang-openai - #17960 chore(features) codex 依赖 feat @dylan-hurd-oai - #17965 fix:将 is_azure_responses_wire_base_url 重命名为 is_azure_responses_provider @bolinfest - #17946 修复空工具描述 @shijie-oai - #17824 [codex] 添加本地线程存储列表 @wiltzius-openai - #17942 添加 CLI 更新公告 @shijie-oai - #17866 重构身份验证提供商以变更请求标头 @pakrym-oai - #17902 app-server:跟踪每个流的远程控制序列 ID @euroelessar - #17957 mcp:移除 codex/sandbox-state 自定义请求支持 @bolinfest - #17953 fix:传播日志数据库 @jif-oai - #17920 chore(tui) 清理 @dylan-hurd-oai - #17981 chore:临时禁用 @jif-oai