← 返回更新日志

Codex rust-v0.105.0

2026-02-25 · GitHub 原文
## 新功能 - TUI 现在为围栏代码块和差异内容提供语法高亮,新增带实时预览的 `/theme` 主题选择器,并为浅色和深色终端使用更优的、感知主题的差异颜色。(#11447, #12581) - 您现在可以通过按住空格键来录制和转录音频输入,直接在 TUI 中口述提示词。(#3381) - 多代理工作流更易于运行和跟踪:`spawn_agents_on_csv` 可通过内置进度/ETA 从 CSV 分发任务,子代理也更易于跟踪,支持昵称、更清爽的选择器以及可见的子线程审批提示。(#10935, #12320, #12327, #12332, #12570, #12767) - TUI 新增便捷命令:`/copy` 复制最新的完整助手回复,而 `/clear` 和 `Ctrl-L` 可清除屏幕但不丢失线程上下文,其中 `/clear` 还能开启全新的聊天。(#12444, #12520, #12613, #12628) - 审批控制更灵活:Codex 现在可为命令请求额外的沙盒权限,您可以自动拒绝特定类型的审批提示,而无需完全关闭审批功能。(#11871, #12087) - 应用服务器客户端可对线程进行更多操作:`thread/list` 可按标题搜索,线程状态在读取/列出响应和通知中公开,`thread/resume` 内联返回最新回合,使重连损失更小。(#11776, #11786, #12578) ## Bug 修复 - TUI 中换行的长链接仍可点击,这也修复了几个视图中相关的裁剪和布局问题。(#12067) - 修复了多个 TUI 交互边缘情况:在更多终端中排队消息编辑现在可用,在最终答案仍流式传输时按回车不再导致后续提示卡住,审批对话框现在能响应正确的请求 ID。(#12240, #12569, #12746) - 聊天组合器中的 `@` 解析更可靠,因此像 `npx -y @scope/pkg@latest` 这样的命令不再意外打开文件选择器或阻止提交。(#12643) - 应用服务器 WebSocket 处理更稳健:线程监听器在断开后仍存活,Ctrl-C 在重启前会等待进行中的回合,发送 `permessage-deflate` 的 WebSocket 客户端现在可以成功连接。(#12373, #12517, #12629) - Linux 沙盒化命令现在获得一个最小的 `/dev`,修复了需要熵或其他标准设备节点的工具中的失败。(#12081) - `js_repl` 现在能更清晰地报告未捕获的内核故障,之后干净地恢复,并能正确附加嵌套工具调用中的 `view_image` 结果。(#12636, #12725) ## 文档 - 添加了包含 Bugcrowd 报告指南的公开安全策略。(#12193) - 更新了安装和本地工作流文档,以使用 `cargo install --locked cargo-nextest`,并避免常规的 `--all-features` 构建,除非您特别需要完整的特性覆盖。(#12377, #12429) ## 更新日志 完整更新日志:https://github.com/openai/codex/compare/rust-v0.104.0...rust-v0.105.0 - #12071 如果启用功能则使用 V2 WebSocket @pakrym-oai - #12052 feat(core): zsh exec bridge @owenlin0 - #12072 为代理消息线程项添加消息阶段 @mousseau-oai - #12077 移除了 configtoml 中的 experimental_mode @won-openai - #12036 codex-api: 实时 WebSocket session.create + 类型化的入站事件 @aibrahim-oai - #12073 添加模型可见上下文布局快照测试 @charley-oai - #12096 更新问题标签脚本以包含安全检查标签 @etraut-openai - #11944 [js_repl] js_repl 可指定 node 模块解析路径 @aaronl-openai - #11798 fix: 受限读取:/System 对 macOS 平台权限过于宽松… @leoshimo-oai - #12015 在 TUI 配置中启用默认状态行指示器 @jif-oai - #12124 feat: 阶段 1 和阶段 2 端到端延迟 @jif-oai - #12121 feat: 阶段 2 使用情况 @jif-oai - #12120 feat: 内存使用指标 @jif-oai - #12133 feat: 验证代理配置文件路径 @jif-oai - #12137 nit: 更改阶段 1 的模型 @jif-oai - #12069 在 js_repl_tools_only 模式下停止过滤模型工具 @fjord-oai - #12135 feat: 更好的 rollout summaries 别名 @jif-oai - #12157 在审查委托期间禁用协作工具 @jif-oai - #11802 修复了应用服务器令牌刷新逻辑中的一个漏洞 @etraut-openai - #12105 fix: 文件监视器 @jif-oai - #12167 memories: 将 rollout summary 别名上限提高到 60 @zuxin-oai - #12177 js_repl: 规范化 node_modules 边界检查的路径 @fjord-oai - #12025 应用服务器对 Windows 沙盒设置的支持。 @iceweasel-oai - #12187 fix: 移除引用 @zuxin-oai - #12180 [apps] 临时应用块。 @mzeng-openai - #11786 应用服务器:通过读取/列出和通知公开加载的线程状态 @euroelessar - #12038 state: 为线程和无线程进程日志强制执行 10 MiB 日志上限 @charley-oai - #12203 稳定应用服务器分离的审查和运行恢复测试 @charley-oai - #12211 [apps] 更新应用允许列表。 @mzeng-openai - #12081 fix(linux-sandbox): 在 bwrap 沙盒中挂载 /dev @viyatb-oai - #12164 更新功能标志通知的文档链接 @etraut-openai - #12231 调整 memories rollout 默认值 @jif-oai - #12152 feat: 子代理注入 @jif-oai - #12233 feat: 添加 shell 快照失败原因 @jif-oai - #12193 docs: 添加 codex 安全策略 @viyatb-oai - #12228 feat: 添加可配置的 write_stdin 超时 @jif-oai - #11787 为自定义服务器调整 MCP 工具审批处理 @colby-oai - #12179 将上一回合上下文跟踪移至 ContextManager 历史记录 @charley-oai - #12244 从历史记录加载时恢复阶段 @mousseau-oai - #12101 客户端模型信息覆盖 @sayan-oai - #12251 添加可配置的代理生成深度 @jif-oai - #12254 chore: 为所有人增加堆栈大小 @jif-oai - #12250 feat: 在 ue 上无超时模式 @jif-oai - #12255 chore: 合并 McpConnectionManager 的 new() 和 initialize() @bolinfest - #12256 还原“feat: 在 ue 上无超时模式” @jif-oai - #12258 撤销 Bazel 测试 hack 的堆栈大小 @charley-oai - #12264 修复 flaky 测试 @jif-oai - #12087 feat: 添加具有细粒度提示拒绝控制的 Reject 审批策略 @bolinfest - #12253 在指标发射期间跳过已移除的功能 @jif-oai - #12265 澄清 Plan 模式中 cumulative proposed_plan 的行为 @charley-oai - #12266 应用服务器测试:通过优雅的子进程关闭减少间歇性的 nextest LEAK @bolinfest - #11953 通过 client_metadata 的 ws 回合元数据 @pash-openai - #11778 fix(bazel): 在 memories 中用 include_str! 替换 askama 模板 @rupurt - #11382 为 MCP 登录添加可配置的 MCP OAuth 回调 URL @dkumar-oai - #12274 [bazel] 修复 proc_macro_dep 库 @zbarsky-openai - #12054 feat(config): 添加 permissions.network 代理配置连接 @viyatb-oai - #12269 tests(thread_resume): 在恢复错误路径测试中中断进行中的回合 @bolinfest - #12009 更新 pnpm 版本以修复 cve-2026-24842 @mjr-openai - #12080 skill-creator: 在前置元数据解析中延迟加载 PyYAML @xl-openai - #12271 tests: 集中进行中回合清理助手 @bolinfest - #12286 应用服务器:修复 flaky list_apps_returns_connectors_with_accessible_flags 测试 @bolinfest - #11776 应用服务器:改进线程恢复重新加入流程 @maxj-oai - #11822 [apps] 将应用工具缓存存储在磁盘上以减少启动时间。 @mzeng-openai - #12221 memories: 向原始 memories 添加 rollout_summary_file 头并调整提示 @zuxin-oai - #12309 设置 memories 阶段推理努力常量 @jif-oai - #12315 chore: nit explorer @jif-oai - #12320 feat: 为子代理添加昵称 @jif-oai - #12328 chore: 更好的代理名称 @jif-oai - #12326 为阶段 2 禁用协作 @jif-oai - #12267 将 MCP 服务器上下文添加到 otel tool_result 日志 @colby-oai - #12327 feat: TUI 中子代理更清爽的界面 @jif-oai - #12332 feat: TUI 中更好的代理选择器 @jif-oai - #12344 feat: 如果不必要则不排队阶段 2 @jif-oai - #12340 fix: 简化 macOS 睡眠抑制剂 FFI @yvolovich-cyber - #12347 fix: 线程/读取时的昵称 @jif-oai - #12294 在回合之间重用连接 @pakrym-oai - #12287 应用服务器:添加 JSON 跟踪日志 @maxj-oai - #12140 重构网络审批以按主机/协议/端口范围 @viyatb-oai - #12300 js_repl: 在语法中阻止包装的有效负载前缀 @fjord-oai - #11368 fix(network-proxy): 添加 unix socket allow-all 并更新 seatbelt 规则 @viyatb-oai - #12275 js_repl: 移除 codex.state 助手引用 @fjord-oai - #12289 CODEX-4927: 在浏览器中显示本地登录权限拒绝 @daniel-oai - #12205 ci(bazel): 在远程镜像中从 node-version.txt 安装 Node @fjord-oai - #12312 feat: 添加配置 `allow_login_shell` @jif-oai - #12086 [apps] 实现应用配置。 @mzeng-openai - #12353 fix(core): 要求对破坏性 MCP 工具调用进行审批 @colby-oai - #12218 应用服务器:强化断开连接清理路径 @maxj-oai - #12291 核心测试:在审查套件中使用密封的模拟服务器 @viyatb-oai - #12374 [apps] 强制执行简单的 logo url 格式。 @mzeng-openai - #12377 docs: 安装 cargo-nextest 时使用 --locked @derekf-oai - #12370 添加将额外文件附加到反馈的能力 @pakrym-oai - #12306 将 sanitizer 移入 codex-secrets @viyatb-oai - #12379 阐明 model_catalog_json 仅在启动时应用 @sayan-oai - #12307 切换模式时显示模型/推理提示 @charley-oai - #12403 [apps] 修复网关 url。 @mzeng-openai - #12240 fix(tui): 在某些终端中排队消息编辑快捷键无法访问 @fcoury - #12405 [apps] 提高 MCP 工具调用超时。 @mzeng-openai - #12406 fix: 在 JSON 模式生成中明确列出名称冲突 @bolinfest - #12301 为 Thread 对象添加字段,用于给定线程的最新重命名集 @natea-oai - #12268 将实时 API 连接到核心 @aibrahim-oai - #12415 fix(nix): 在 linux 构建中包含 libcap 依赖 @rgodha24 - #12416 添加实验性实时 WebSocket URL 覆盖 @aibrahim-oai - #12303 改进 Plan 模式推理选择流程 @charley-oai - #12418 添加实验性实时 WebSocket 覆盖和文本镜像 @aibrahim-oai - #12381 fix: 解决 thread_resume_rejoins_running_thread_even_with_override_mismatch 中的 flakiness @bolinfest - #12422 feat: 在 App Server v2 中直接使用 OAI Responses API MessagePhase 类型 @bolinfest - #12376 test(app-server): 在 turn_start 测试中等待 turn/completed @yvolovich-cyber - #12408 在 JSON 模式代码生成中忽略 v1 @bolinfest - #12314 fix(core) 过滤不匹配的前缀规则 @dylan-hurd-oai - #12429 feat: 不鼓励使用 --all-features 标志 @bolinfest - #12252 修复压缩上下文重新注入和模型基线 @charley-oai - #12427 chore: 将配置诊断移出 codex-core @bolinfest - #12430 折叠等待的消息 @pakrym-oai - #12432 chore: 移除 codex-core 公共协议/shell 重新导出 @bolinfest - #12434 fix: codex-arg0 不再依赖 codex-core @bolinfest - #12435 refactor(core): 将嵌入式系统技能移入 codex-skills crate @bolinfest - #12440 chore: 删除空的 codex-rs/code 文件 @bolinfest - #12441 删除 AggregatedStream @pakrym-oai - #11293 feat(linux-sandbox): 通过 TCP-UDS-TCP 网桥实现仅代理出口 @viyatb-oai - #12410 配置文件级别的 model_catalog_json 覆盖 @sayan-oai - #12420 防止重放运行时事件强制活动状态 @etraut-openai - #12428 如果可用则首选 v2 WebSocket @pakrym-oai - #12419 改进图像的令牌使用估算 @etraut-openai - #12474 fix: 使技能加载器测试在 ~/.agents 技能下密封 @bolinfest - #12473 core: 在 TurnContext 中保留约束的审批/沙盒策略 @bolinfest - #12067 fix(tui): 在所有 TUI 视图中保持 URL 可点击性 @fcoury - #12469 将入站实时文本路由到回合开始或控制 @aibrahim-oai - #12479 还原“将入站实时文本路由到回合开始或控制” @aibrahim-oai - #12475 fix: 使实时对话 flakiness 测试顺序不敏感 @bolinfest - #12476 使 shell 检测测试 对 Nix shell 路径