← 返回更新日志

Codex rust-v0.128.0

2026-04-30 · GitHub 原文
## 新功能 - 新增持久化的 `/goal` 工作流,支持应用服务器 API、模型工具、运行时延续以及用于创建、暂停、恢复和清除的 TUI 控件。(#18073, #18074, #18075, #18076, #18077, #20082) - 新增 `codex update` 命令、可配置的 TUI 键位映射、计划模式提示、需要操作的终端标题,以及活跃轮次中的 `/statusline` 和 `/title` 编辑功能。(#19933, #18593, #19901, #18372, #19917) - 扩展权限配置文件,包括内置默认配置、沙箱 CLI 配置文件选择、当前工作目录(cwd)控制,以及供客户端使用的活跃配置文件元数据。(#19900, #20117, #20118, #20095) - 改进插件工作流,支持市场安装、远程包缓存、远程卸载、插件捆绑钩子、钩子启用状态以及外部代理配置导入。(#18704, #19914, #19456, #19705, #19840, #19949) - 新增外部代理会话导入功能,包括后台导入和导入会话标题处理。(#19895, #20284, #20261) - 使 MultiAgentV2 配置更明确,支持线程上限、等待时间控制、根/子代理提示以及 v2 特定的深度处理。(#19360, #19792, #19805, #20052, #20180) ## Bug 修复 - 修复了多个恢复和中断问题,包括陈旧中断挂起、持久化提供程序恢复、大型远程恢复响应以及缓慢的过滤恢复列表。(#18392, #19287, #19920, #19591) - 改进了 TUI 在终端大小调整重排、Markdown 列表间距、斜杠命令弹出布局、键盘清理、Shell 模式退出以及工作状态更新方面的可靠性。(#18575, #19706, #19511, #19625, #19986, #19939) - 强化托管网络行为,支持延迟拒绝、代理绕过默认值、解析目标检查、IPv6 主机匹配以及 `git -C` 批准处理。(#19184, #20002, #19999, #19995, #20085) - 修复了 Windows 沙箱和 PTY 边缘情况,包括伪控制台启动、提升的 runner 进程处理、核心 Shell 环境继承以及命名管道验证。(#20042, #19211, #20089, #19283) - 修复了 Bedrock 模型对 `apply_patch` 的支持、GPT-5.4 推理级别,并更新了 Bedrock GPT-5.4 端点/模型元数据。(#19416, #19461, #20109) - 修复了 MCP/插件边缘情况,包括 stdio 服务器清理、插件 MCP 批准持久化以及自定义 MCP 元数据隔离。(#19753, #19537, #19836, #19875) ## 文档 - 更新了捆绑的 OpenAI Docs 技能,以支持 GPT-5.5、`gpt-image-2`,并提供了更清晰的升级指南。(#19407, #19443, #19422) - 澄清了面向贡献者的文档,包括 PR 模板、Rust async trait 指南以及 README 措辞。(#19912, #20242, #19514) - 新增了已检入的 `codex-core` 公共 API 列表以及 ThreadManager 示例 crate。(#20243, #20141) ## 杂项 - 发布了 `codex-app-server` 发行版构件,停止发布 GNU Linux 二进制文件,并延长了发行工作流超时时间。(#19447, #19445, #20271, #20343) - 为 Python 应用服务器 SDK 包添加了 Codex 固定版本控制。(#18996) - 弃用了 `--full-auto`,引导用户使用明确的权限配置文件和信任流程。(#20133) - 通过 Bazel 设置迁移、发行冒烟测试锁定以及工作流固定/超时更新,稳定了 CI 和发行管道。(#19851, #19854, #19472, #19609) ## 更新日志 完整更新日志:https://github.com/openai/codex/compare/rust-v0.125.0...rust-v0.128.0 - #19124 使 MultiAgentV2 中断标记由助手生成 @jif-oai - #19354 杂项:为 max_concurrent_threads_per_session 设置别名 @jif-oai - #19360 新功能:在生成描述中显示多代理线程限制 @jif-oai - #19351 添加 agents.interrupt_message 用于中断标记 @jif-oai - #18392 修复轮次/中断挂起问题 @danwang-oai - #19380 杂项:从 Morpheus 中移除 MCP 插件和应用 @jif-oai - #18907 尊重用于禁用插件的工作区选项 @zamoshchin-openai - #19283 检查命名管道使用者的 PID @iceweasel-oai - #19407 为 GPT-5.5 更新捆绑的 OpenAI Docs 技能 @kkahadze-oai - #19163 强化包管理器安装策略 @mcgrew-oai - #19416 修复:为 Bedrock 模型使用 apply_patch 工具 @celia-oai - #19093 [codex] 从线程开始通知中省略 fork 轮次 @euroelessar - #19244 更新 Unix 套接字传输以使用 WebSocket 升级 @willwang-openai - #19170 在选择菜单编号和默认焦点中跳过禁用行 @canvrno-oai - #19414 权限:使旧配置文件转换独立于当前工作目录 @bolinfest - #18900 将 fork 和恢复读取迁移到线程存储 @wiltzius-openai - #19445 CI:停止发布 GNU Linux 发行版构件 @bolinfest - #19443 将 gpt-image-2 添加到捆绑的 OpenAI Docs 技能 @kkahadze-oai - #18584 [4/4] 遵循可流式 HTTP MCP 放置 @aibrahim-oai - #19447 CI:发布 codex-app-server 发行版构件 @bolinfest - #19422 澄清捆绑的 OpenAI Docs 升级指南措辞 @kkahadze-oai - #19266 [codex] 添加非本地线程存储回归测试 @wiltzius-openai - #19098 新功能:使用根别名压缩技能路径 @xl-openai - #19207 [codex] 将 Codex 应用工具调用 ID 转发到后端元数据 @rreichel3-oai - #19453 序列化遗留 Windows PowerShell 沙箱测试 @dylan-hurd-oai - #19234 将日志 DB 重构为 LogWriter 接口 @rasmusrygaard - #19461 修复:Bedrock GPT-5.4 推理级别 @celia-oai - #19449 权限:移除遗留的只读访问模式 @bolinfest - #19472 CI:固定 codex-action v1.7 @viyatb-oai - #19468 修复 Bazel cargo_bin runfiles 路径 @fjord-oai - #19410 移除 js_repl 功能 @fjord-oai - #18073 添加目标持久化基础(1/5)@etraut-openai - #18074 添加目标应用服务器 API(2/5)@etraut-openai - #18075 添加目标模型工具(3/5)@etraut-openai - #18076 添加目标核心运行时(4/5)@etraut-openai - #18077 添加目标 TUI UX(5/5)@etraut-openai - #19454 拆分批准矩阵测试组 @dylan-hurd-oai - #19514 修复 codex-rs README 语法 @etraut-openai - #19459 默认启用不可用的虚拟工具 @mzeng-openai - #19524 [codex] 移除未使用的 codex-mcp API 和重复的辅助函数 @aibrahim-oai - #19526 [codex] 按可见性排序 codex-mcp 项目 @aibrahim-oai - #19578 修复:将 Bazel 超时增加到 45 分钟 @bolinfest - #19287 在线程恢复时恢复持久化的模型提供程序 @etraut-openai - #19593 测试:将远程线程存储回归与插件预热隔离 @bolinfest - #19511 滚动时保持斜杠命令弹出列稳定 @etraut-openai - #19595 [codex] 为提升的 exec 绕过托管网络 @viyatb-oai - #19604 测试:在 Windows 上稳定应用服务器路径断言 @bolinfest - #19609 修复:恢复 Bazel 构建的 30 分钟超时 @bolinfest - #19389 保护 npm 更新准备就绪 @shijie-oai - #18575 修复(tui):在终端大小调整时重新排布滚动缓冲区 @fcoury-oai - #19610 在 response.completed 中支持 end_turn @andmis - #19640 [codex] 移除 responses 命令 @tibo-openai - #19683 测试:强化应用服务器集成测试 @bolinfest - #18904 新功能:从 JWT 登录/环境加载 AgentIdentity @efrazer-oai - #19606 权限:使运行时配置基于配置文件 @bolinfest - #19392 权限:从配置文件推导兼容性策略 @bolinfest - #19484 将应用服务器 JSON-RPC 错误处理提升到请求边界 @pakrym-oai - #19487 [codex] 将配置加载移至 codex-config @pakrym-oai - #19393 权限:将批准和沙箱使用者迁移到配置文件 @bolinfest - #19726 修复 codex-core 配置测试类型路径 @pakrym-oai - #19727 测试:将 core-all-test 分片数量增加到 16 @bolinfest - #19725 拆分 MCP 连接模块 @aibrahim-oai - #19605 删除未使用的 ResponseItem::Message.end_turn @andmis - #19394 权限:移除核心遗留策略往返 @bolinfest - #19733 允许 agents.max_threads 与 multi_agent_v2 配合使用 @andmis - #19395 权限:完成基于配置文件的应用表面 @bolinfest - #19739 远程沙箱配置的内联主机名解析 @abhinav-oai - #19734 权限:集中遗留沙箱投影 @bolinfest - #19058 添加 /auto-review-denials 重试批准流程 @won-openai - #19735 权限:仅存储受限的权限配置文件 @bolinfest - #19736 权限:将需求约束为配置文件 @bolinfest - #19737 权限:在边界处推导遗留 exec 策略 @bolinfest - #19779 添加 Codex 问题摘要技能 @etraut-openai - #19792 multi_agent_v2:将线程上限移至功能配置 @jif-oai - #18982 新功能:使用 git 支持的工作区差异进行内存合并 @jif-oai - #19809 允许在重试耗尽后进行第 2 阶段内存声明 @jif-oai - #19812 避免在干净工作区上重写第 2 阶段选择 @jif-oai - #19813 细节:再修复一次 @jif-oai - #19818 杂项:拆分内存 第 1 部分 @jif-oai - #19510 当不存在用户消息时隐藏重放预览 @etraut-openai - #19618 在提示历史中持久化 Shell 模式命令 @etraut-openai - #19709 渲染委托的补丁批准详情 @etraut-openai - #19490 简化插件、应用和技能处理器 @pakrym-oai - #19762 重构:使认证加载异步 @efrazer-oai - #19854 CI:将 npm 预发布冒烟测试固定到最近的 rust-release 运行 @bolinfest - #19851 CI:将 Bazel 设置迁移出已归档的 setup-bazelisk @bolinfest - #19491 简化账户和命令处理器 @pakrym-oai - #19771 修复:从 model_visible_specs 中过滤动态延迟工具 @sayan-oai - #19863 [codex-analytics] 移除 ga 标志 @rhan-oai - #19865 限制原始细节图像令牌估算 @fjord-oai - #19591 修复 TUI 中过滤的线程列表恢复回归 @etraut-openai - #19513 在输入时延迟批准提示 @etraut-openai - #19706 在代码块后保持 TUI Markdown 列表间距 @etraut-openai - #19841 权限:移除 cwd 特殊路径 @bolinfest - #19492 简化线程启动处理器 @pakrym-oai - #19874 [codex-backend] 在过滤的线程列表中优先使用状态 git 元数据 @joeytrasatti-openai - #19493 简化线程变更处理器 @pakrym-oai - #19862 [codex] 分片 exec Bazel 集成测试 @starr-openai - #18996 发布具有 Codex 固定版本控制的 Python SDK @sdcoffey - #19494 简化线程读取处理器 @pakrym-oai - #19839 [codex] 跟踪取消的推理流 @cassirer-openai - #19495 简化线程恢复和 fork 处理器 @pakrym-oai - #19497 简化轮次和实时处理器 @pakrym-oai - #18372 在终端标题中显示需要操作 @canvrno-oai - #19884 添加 MCP 应用功能标志 @mzeng-openai - #19498 简化审查和反馈处理器 @pakrym-oai - #19772 权限:将配置默认值推导为配置文件 @bolinfest - #19836 禁止自定义 MCP 使用 fileparams 元数据 @colby-oai - #19892 将 exec-server 文件系统 API 重构为 codex-file-system @miz-openai - #19452 稳定插件 MCP 固定测试 @dylan-hurd-oai - #19481 移除幽灵快照 @pakrym-oai - #19773 权限:在 TUI 线程状态中要求配置文件 @bolinfest - #19917 允许在活跃轮次中使用 /statusline 和 /title 斜杠命令 @canvrno-oai - #19763 重构:急切加载代理身份运行时 @efrazer-oai - #17689 [codex-analytics] 在默认标头中包含用户代理 @marksteinbrick-oai - #19912 澄清 PR 模板邀请要求 @etraut-openai - #19630 避免在线程关闭后持久化 ShutdownComplete @etraut-openai - #19774 权限:使 SessionConfigured 仅基于配置文件 @bolinfest - #19775 权限:推导快照沙箱投影 @bolinfest - #19920 允许大型远程应用服务器恢复响应 @etraut-openai - #19776 权限:将线程会话存储为配置文件 @bolinfest - #19899 应用服务器协议:将权限配置文件标记为实验性 @bolinfest - #19933 添加 `codex update` 命令 @etraut-openai - #19914 新功能:在安装时缓存远程插件包 @xl-openai - #19456 添加远程插件卸载 API @xli-oai - #19805 添加 MultiAgentV2 根和子代理上下文提示 @jif-oai - #19860 新功能:拆分内存 第 2 部分 @jif-oai - #19961 新功能:修复提示 2 @jif-oai - #19963 新功能:修复提示 3 @jif-oai - #19967 稳定内存第 2 阶段输入顺序 @jif-oai - #19970 新功能:在冷却期间从用户轮次触发内存 @jif-oai - #19904 修复:配置 AgentIdentity AuthAPI 基础 URL @efrazer-oai - #19990 新功能:当 Codex 速率限制较低时跳过内存启动 @jif-oai - #19998 新功能:内存内务处理 1 @jif-oai - #20000 新功能:内存内务处理 2 @jif-oai - #19832 为重新播放的消息保留助手阶段 @friel-openai - #19625 退出时重置 TUI 键盘报告 @etraut-openai - #18593 新功能(tui):添加可配置键位映射支持 @fcoury-oai - #19846 [sandbox] 在 Seatbelt 中强制执行受保护的工作区元数据路径 @evawong-oai - #20005 新功能:内存内务处理 3 @jif-oai - #19929 TUI:为工作分隔符使用累积轮次持续时间 @etraut-openai - #19753 终止关闭时的 stdio MCP 服务器以避免进程泄漏 @etraut-openai - #19473 将轮次开始时间戳添加到轮次元数据 @mchen-oai - #19875 从自定义 MCP 工具中剥离连接器来源元数据 @colby-oai - #19764 新功能:使用 JWKS 验证代理身份 JWT @efrazer-oai - #19847 在 Linux 沙箱中强制执行工作区元数据保护 @evawong-oai - #19509 在 mcp.tools.call 跨度上记录 MCP 结果遥测 @mchen-oai - #19907 澄清网络批准自动审查提示 @maja-openai - #19901 新功能(tui):从草稿中建议计划模式 @fcoury-oai - #19931 将本地 /resume cwd 过滤移至线程/列表 @canvrno-oai - #19986 修复(tui):让 esc 退出空 Shell 模式 @fcoury-oai - #19895 外部代理会话支持 @stefanstokic-oai - #20002 修复(network-proxy):收紧网络代理绕过默认值 @viyatb-oai - #19900 权限:添加内置默认配置文件 @bolinfest - #20045 在任务完成签名变更后修复计划模式提示测试 @canvrno-oai - #19432 [codex] 将令牌使用情况添加到轮次跟踪跨度 @charley-openai - #20001 修复(network-proxy):强化 Linux 代理桥接辅助工具 @viyatb-oai - #19959 修复日志 DB 批量刷新 flakes @dylan-hurd-oai - #17373 应用服务器:使用键控序列化运行初始化的 RPC @euroelessar - #19708 为代理身份加载云要求 @shijie-oai - #19999 修复(network-proxy):重新检查网络代理连接目标 @viyatb-oai - #20047 应用服务器:允许远程控制运行时功能覆盖 @euroelessar - #20052 使 MultiAgentV2 等待最小时间可配置 @jif-oai - #20008 tui:对沙箱状态使用权限配置文件 @bolinfest - #20068 应用服务器:在没有 SQLite 时禁用远程控制 @euroelessar - #20066 [rollout-trace] 在 rollout trace 中包含 x-request-id。@cassirer-openai - #19705 发现插件捆绑的钩子 @abhinav-oai - #18704 /plugins:添加市场安装流程 @canvrno-oai - #20085 修复:不要自动批准 git -C ... @owenlin0 - #20088 修复易失败的插件钩子环境测试 @abhinav-oai - #19995 修复(network-proxy):规范化网络代理主机匹配 @viyatb-oai - #20010 核心测试:使用权限配置文件提交轮次 @bolinfest - #20092 当认证刷新失败时返回 None @gpeal - #19919 应用服务器:通知客户端远程控制状态变更 @euroelessar - #20097 完善 Codex 问题摘要 @etraut-openai - #20011 核心测试:从权限配置文件构建用户轮次 @bolinfest - #20013 核心测试:将更多轮次迁移到权限配置文件 @bolinfest - #20015 核心测试:直接配置配置文件 @bolinfest - #20016 核心测试:发送带有权限配置文件的模型轮次 @bolinfest - #20100 增加插件钩子环境测试超时 @abhinav-oai - #20018 核心测试:将模型/个性轮次迁移到配置文件 @bolinfest - #20021 核心测试:将查看图像轮次迁移到配置文件 @bolinfest - #20024 核心测试:将安全检查轮次迁移到配置文件 @bolinfest - #20026 核心测试:将计划项目轮次迁移到配置文件 @bolinfest - #20027 核心测试:将工具测试迁移到权限配置文件 @bolinfest - #20028 核心测试:将权限消息测试迁移到配置文件 @bolinfest - #20030 核心测试:将 exec 策略轮次迁移到配置文件 @bolinfest - #20032 核心测试:将提示缓存轮次迁移到配置文件 @bolinfest - #20033 核心测试:将请求权限工具轮次迁移到配置文件 @bolinfest - #20034 核心测试:将 zsh-fork 权限迁移到配置文件 @bolinfest - #20035 核心测试:将紧凑轮次迁移到配置文件 @bolinfest - #20037 核心测试:将 rmcp 轮次迁移到配置文件 @bolinfest - #20040 核心测试:将 apply patch 轮次迁移到配置文件 @bolinfest - #20041 核心测试:将钩子轮次迁移到配置文件 @bolinfest - #20072 支持为特定工具禁用工具建议。@mzeng-openai - #19949 支持从外部检测和导入 MCP、Subagents、钩子、命令 @alexsong-oai - #19442 新功能:按模型提供程序禁用功能 @celia-oai - #20108 修复:为 apply patch 测试恢复实时事件提交路径 @bolinfest - #19939 设置转向消息后恢复 TUI 工作状态 @canvrno-oai - #20086 修复插件列表工作区设置测试隔离 @canvrno-oai - #20049 新功能:向应用服务器客户端公开提供程序能力边界 @celia-oai - #20109 新功能:更新 Bedrock Mantle 端点和 GPT-5.4 模型 ID @celia-oai - #20106 linux-sandbox:将辅助管道切换到 PermissionProfile @bolinfest - #20112 放宽技能描述预算警告 @xl-openai - #20058 添加环境提供程序快照 @starr-openai - #20133 杂项(cli) 弃用 --full-auto @dylan-hurd-oai - #20117 新功能(cli):添加显式沙箱权限配置文件 @viyatb-oai - #20139 删除 multi_agent_v2 followup_task 中断参数 @andmis - #20118 新功能(cli):添加沙箱配置文件控制 @viyatb-oai - #20144 修复迁移的钩子路径重写 @alexsong-oai - #20042 修复 Windows 伪控制台属性处理,用于沙箱 PTY 会话 @iceweasel-oai - #20186 细节:移除旧的内存内容 @jif-oai - #20180 使多代理 v2 忽略 agents.max_depth @jif-oai - #20082 对暂停的目标使用 /goal 恢复 @etraut-openai - #20172 TUI:移除核心协议依赖 [1/7] @etraut-openai - #19211 改进 Windows 进程管理边缘情况 @iceweasel-oai - #20123 [rollout-tracer] 在加密 ID 上匹配分析消息。@cassirer-openai - #20173 TUI:移除核心协议依赖 [2/7] @etraut-openai - #20174 TUI:移除核心协议依赖 [3/7] @etraut-openai - #20228 [codex-backend] 在 rollout-path 读取中优先使用 sqlite git 信息 @joeytrasatti-openai - #20141 添加 ThreadManager 示例 crate @pakrym-oai - #20046 测试协议:锁定代理间评论阶段 @friel-openai - #20064 在反馈上传中包含自动审查 rollout @won-openai - #20096 新功能:对技能和 MCP 使用远程安装的插件缓存 @xl-openai - #19184 修复:处理延迟的网络代理拒绝 @viyatb-oai - #20089 扩大 Windows 核心 shell 环境变量集。@iceweasel-oai - #17088 [codex-analytics] 摄入服务器请求和响应 @rhan-oai - #20091 [tool_suggest] 改进 tool_suggest 触发条件。@mzeng-openai - #20258 应用服务器:修复传出发送器测试设置 @sayan-oai - #20050 [应用服务器] 类型化客户端响应负载 @rhan-oai - #19966 在卸载前要求远程插件详细信息 @xli-oai - #20059 [应用服务器] 集中客户端响应分析 @rhan-oai - #19334 当默认端口忙时回退登录回调端口 @xli-oai - #20231 [apps] 添加应用 MCP 路径覆盖 @adaley-openai - #20242 文档:不鼓励使用 `#[async_trait]` 和 `#[allow(async_fn_in_trait)]` @bolinfest - #19620 将轮次元数据标头转义为 ASCII JSON @etraut-openai - #19537 [mcp] 修复插件 MCP 批准策略。@mzeng-openai - #19229 添加代理图存储接口 @rasmusrygaard - #20243 添加 codex-core 公共 API 列表 @pakrym-oai - #19435 停止在 Windows 上阻塞 unified_exec @iceweasel-oai - #19852 在 Linux 沙箱中强制执行工作区元数据保护 @evawong-oai - #20136 更新 Codex 登录成功页面 UX @rafael-jac - #20271 杂项:将发行构建超时从 60 分钟增加到 90 @bolinfest - #19778 添加钩子/列表应用服务器 RPC @abhinav-oai - #20261 从外部会话消费 ai-title 并添加结束标记 @alexsong-oai - #20284 在后台导入外部代理会话 @stefanstokic-oai - #20149 减少协作模式的表面 @pakrym-oai - #20282 tui:在 Ctrl-D 时从侧聊天返回 @etraut-openai - #20250 更新 codex_plugins_beta_setting(来自工作区设置)@zamoshchin-openai - #20080 [codex-analytics] 防止过时的 guardian 事件满足重复使用的审查 @rhan-oai - #20291 应用服务器:从 bespoke 事件中移除死 API 版本处理 @pakrym-oai - #20304 [plugins] 允许 MSFT 策划的插件在 tool_suggest 中 @mzeng-openai - #20095 权限:公开活跃的配置文件元数据 @bolinfest - #19840 添加持久化的钩子启用状态 @abhinav-oai - #20343 CI:增加 Windows 发行工作流超时 @bolinfest