0.142.0
新增功能
/usage现在可以显示并兑换已获得的用量限额重置额度,支持确认、重试,并会刷新可用状态。 (#28154, #28793)/plugins现在将远程插件整理到 OpenAI Curated、Workspace 和 Shared with me 分区中,同时符合条件的轮次可以推荐并安装相关插件。 (#26703, #28399, #28400, #27704, #28403)- 可配置的 rollout token 预算会跟踪各 agent 线程中的用量,提供剩余预算提醒,并在耗尽时中止轮次。 (#28746, #28494, #28707, #29423)
- App-server 客户端可以按线程和轮次级别将多 agent 委派配置为 disabled、explicit-request-only 或 proactive。 (#28685, #28792, #29324)
- 新增索引式网页搜索模式,允许实时搜索,同时将直接页面访问限制为服务器批准的 URL。 (#28489)
- Codex 现在可以接收按计划发送的 UTC 时间提醒,并直接查询当前时间,包括通过客户端提供的 app-server 时钟。 (#28822, #28824, #28835, #29011)
问题修复
- 修复了在 Linux 上使用
Ctrl+Z挂起并通过fg恢复后 TUI 渲染不可靠的问题。(#28342) - exec-server 进程和 stdio MCP 会话现在能够承受瞬时断连,包括签名 URL 刷新和可安全重试的 stdin 写入。(#28512, #28374, #28546, #28895)
- 远程环境现在可以跨操作系统保留执行器原生路径、shell、
AGENTS.md发现以及沙箱行为。(#28146, #28152, #28958, #28983, #29099, #29108, #29113, #29424) - 插件加载与安装现在能够处理根级 marketplace 布局、manifest 回退、多个技能路径、具有明确指引的下载错误,以及立即刷新工具。(#28771, #28789, #28790, #28863, #28951)
- 父 agent 现在会收到子 agent 的终止错误,而不再将失败的工作视为空的成功完成。(#28375)
- goal-first 线程重新能够被持久化,并通过
thread/list和thread/search返回。(#28808)
其他变更
- 通过推迟不必要的 DNS 工作、预热模型缓存、复用已解析的插件技能、并行化技能元数据读取,以及跳过冗余的目录同步,降低了启动和会话延迟。 (#28542, #28699, #28844, #29326, #29005)
- 通过移除每个事件的 WebSocket 负载日志记录,并过滤重复的遥测记录,减少了持久日志的频繁写入。 (#29432, #29457)
完整变更日志:https://github.com/openai/codex/compare/rust-v0.141.0...rust-v0.142.0
- #28396 [codex] 记录外部 agent 导入结果 @charlesgong-openai
- #27751 [codex] 在 account/read 中暴露 Bedrock 凭证来源 @celia-oai
- #28338 [codex] 压缩冷的 active rollout @jif-oai
- #28368 feat: 为 multi-agent v2 消息渲染类型化 envelope @jif-oai
- #28508 [tests] 让 Apps 不进入通用 core 测试 harness @jif-oai
- #28472 [codex] 澄清插件加载与运行时能力阶段 @xl-openai
- #28375 core: 将终态 subagent 错误暴露给父 agent @jif-oai
- #28542 perf(config): 延迟远程 sandbox 主机名查找 @fcoury-oai
- #28473 path-uri: 澄清无效主机路径错误 @anp-oai
- #28342 fix(tui): suspend 后恢复 TUI @fcoury-oai
- #28354 [codex] exec-server: 分块流式传输文件 @pakrym-oai
- #28553 chore: side prompt @jif-oai
- #27099 [codex-app-server-test-client & codex-app-server] Plugin Usage Analytics 冒烟测试 @jameswt-oai
- #28554 fix(tui): 高亮 C++ module 文件 @fcoury-oai
- #28467 [codex] code mode 输出被截断时清晰警告 @aibrahim-oai
- #27750 [codex] 添加增量 thread 历史变更 @wiltzius-openai
- #28154 feat(tui): 在 /usage 中添加 rate-limit 重置兑换 @jayp-oai
- #28562 ci: 在所有 bazel target 上运行 code-mode 单元测试 @cconger
- #27923 [codex] 通过环境文件系统路由 MCP 文件上传 @pakrym-oai
- #27100 [codex-app-server-test-client] 插件安装/卸载分析冒烟测试 @jameswt-oai
- #28581 [codex] 重新启用绝对 workdir 集成测试 @anp-oai
- #28468 code-mode: 扩展测试覆盖以锁定 cell 生命周期 @cconger
- #28587 [codex] 测试 exec 相对额外权限 @anp-oai
- #28577 澄清模型生成与 legacy app 路径类型 @anp-oai
- #28589 记录路径迁移的不变量。 @anp-oai
- #28146 app-server: 保留 target-native 环境 cwd @anp-oai
- #28595 告知 codex 关于 PathUri serde 兼容性。 @anp-oai
- #28399 [codex] [1/4] 添加 recommended plugin endpoint 缓存 @adaley-openai
- #28400 [codex] [2/4] 泛化插件建议展示 @adaley-openai
- #27704 [codex] [3/4] 激活 endpoint 插件推荐 @adaley-openai
- #28152 core: 原生渲染远程环境 cwd @anp-oai
- #28403 [codex] [4/4] 简化 recommended plugin 安装 schema @adaley-openai
- #26706 PAC 1 - 添加系统代理功能配置面 @canvrno-oai
- #27910 添加 thread recencyAt 用于侧边栏排序 @nornagon-openai
- #28627 回滚 "告知 codex 关于 PathUri serde 兼容性。 (#28595)" @anp-oai
- #28625 [codex] 按 auth 限制远程插件目录 @xl-openai
- #28629 [codex] core: 恢复绝对 turn context cwd @anp-oai
- #28642 thread-store: 修复响应 fixture 编译 @pakrym-oai
- #28580 [codex] 支持对象值的插件 MCP manifest @charlesgong-openai
- #28599 code-mode: 将 cell 状态移入 library actor @cconger
- #28471 [codex] 测试 code-mode 变量截断 @aibrahim-oai
- #28655 回滚 sidebar 排序的 thread recencyAt @pakrym-oai
- #28638 core: 移除冗余的 TurnContext 和 Prompt 字段 @pakrym-oai
- #28656 [codex] 持久化报告为 generating 的内置图像结果 @won-openai
- #28512 断开连接后恢复 exec-server 会话 @jif-oai
- #28546 exec 恢复期间退避 registry 重试 @jif-oai
- #28561 为 MAv2 inter-agent 消息添加 join key @jif-oai
- #28699 app-server: 保持模型缓存热 @jif-oai
- #28705 用 SkillsService 替换 SkillsManager @jif-oai
- #27965 [ez][codex-rs] 支持 apps._default.default_tools_approval_mode @zamoshchin-openai
- #28359 通过 Windows sandbox wrapper 运行 fs helper @iceweasel-oai
- #28628 [codex] 修复无效 skill frontmatter 标量 @charlesgong-openai
- #28632 告知 codex 避免更改 rollout 格式。 @anp-oai
- #28738 按执行环境限定命令审批范围 @jif-oai
- #19047 feat: 添加 run task identity 原语 @adrian-openai
- #28671 [codex] 使用兼容的迁移历史恢复 thread recency @nornagon-openai
- #28768 提取 TUI 插件目录渲染 @canvrno-oai
- #28389 [codex] 使用紧凑的 OpenAI 文档搜索查询 @kkahadze-oai
- #28681 unified-exec: 通过 exec-server 保留 PathUri @anp-oai
- #28731 [codex] 跟踪插件安装和导入遥测失败 @charlesgong-openai
- #28651 exec-server: 暴露环境 registry payload @viyatb-oai
- #28771 fix(plugins): 支持根本地 marketplace 插件 @caseychow-oai
- #28791 bazel: 刷新过期的 macOS SDK pin @anp-oai
- #28782 [codex] 跟踪 tools 构建延迟 @owenlin0
- #28778 path-uri: 解耦原生路径解析 @anp-oai
- #28774 feat(exec-server): 添加 Noise rendezvous 环境 @apanasenko-oai
- #28812 [codex] 为 response item 添加可选 ID @pakrym-oai
- #28784 fix(install): 支持旧版 awk 校验和解析 @fcoury-oai
- #28826 [codex] 为 realtime-routed turn 使用唯一 ID @guinness-oai
- #27986 [codex] 控制自动 realtime handoff 投递 @jiayuhuang-openai
- #28836 [codex] 支持 assistant realtime 追加文本 @guinness-oai
- #28374 重连时刷新已签名的 exec-server URL @apanasenko-oai
- #28825 将 selecte namespaces 暴露为直接模型 tools @won-openai
- #28790 [codex] 支持插件 manifest 路径列表 @charlesgong-openai
- #28851 为 codex 记录更多路径迁移指南。 @anp-oai
- #28780 unified-exec: 在命令事件中保留 PathUri @anp-oai
- #28605 [codex] 拆分插件与 skill 预热追踪 @mzeng-openai
- #28608 [codex] 将插件 namespace 传入 skill 加载 @mzeng-openai
- #28746 [codex] 添加 rollout token 预算配置 (1/N) @rka-oai
- #28766 添加网络环境 ID plumbing @jif-oai
- #28915 在 apply_patch 审批测试中避免 sandbox helper @jif-oai
- #28813 在 TUI 中断前暂停 active goal @etraut-openai
- #28895 恢复 exec 进程 stdin 写入 @jif-oai
- #28940 将 Windows argument lint 固定到 Windows 2022 @rka-oai
- #28914 将 MCP sandbox metadata 限定到 server environment @jif-oai
- #28911 添加 turn 级上下文贡献 @jif-oai
- #28808 修复 goal-first live thread 在 thread/list 中缺失 @etraut-openai
- #25019 [codex] 启动时初始化 exec-server OpenTelemetry @starr-openai
- #28943 [codex] 修复 Windows sandbox 运行时 ACL 刷新 @iceweasel-oai
- #28946 同步 realtime 通知测试请求 @rka-oai
- #28822 添加 Time Reminders 配置 (1/n) @rka-oai
- #28494 [codex] rollout 预算实现 (2/N) @rka-oai
- #27500 支持
openai/form扩展表单 elicitation @gpeal - #28949 [codex] 使 thread store turn 过滤器可选 @wiltzius-openai
- #28824 系统时钟的当前时间提醒实现 (2/n) @rka-oai
- #27812 [codex] 缓存插件 metadata 用于工具建议 @mzeng-openai
- #28854 apply-patch: 将路径作为 PathUri 传递 @anp-oai
- #28835 添加 app-server current-time 实现 (3/n) @rka-oai
- #26496 使 auto-review on-request prompt 更主动 @maja-openai
- #28947 [codex] 移除硬编码的 app ID 过滤器 @ericning-o
- #28959 TUI: 改进统一 mention 选择可见性 @canvrno-oai
- #27132 在 tool-call item 上发出 Trusted MCP App Identity @martinauyeung-oai
- #19049 feat: 让 ChatGPT auth 选择加入 agent identity @adrian-openai
- #28770 [connectors] 为 app accessibility 忽略合成链接 @adaley-openai
- #28863 [codex] 保留远程插件下载状态错误 @xl-openai
- #28958 core: 从外部环境加载 AGENTS.md @anp-oai
- #28789 [codex] 支持 marketplace 插件 manifest 回退 @charlesgong-openai
- #28993 [codex] 移除子 AGENTS.md prompt 实验 @pakrym-oai
- #28989 core: 将 AGENTS.md 路径记录为 URI @anp-oai
- #28983 core: 保持远程 exec 使用报告的 shell @anp-oai
- #28844 [codex] 在会话启动期间复用已解析的插件 skill @xl-openai
- #28953 core: 添加 UUIDv7 上下文窗口 ID @pakrym-oai
- #28951 [plugins] 远程安装后刷新插件与工具缓存 @adaley-openai
- #28856 始终对 realtime WebRTC 呼叫使用 AVAS @bakks
- #28814 [codex] 记录历史时为 response item 分配 ID @pakrym-oai
- #29005 [codex] 对远程插件跳过 curated repo 同步 @xl-openai
- #29011 [codex] 添加 clock current-time 工具 @rka-oai
- #29012 core: 为压缩后的替换历史分配 item ID @pakrym-oai
- #29022 [codex] 支持受保护资源 OAuth 发现 @xl-openai
- #28674 [1/3] core: 添加远程环境连接生命周期 @sayan-oai
- #28683 [2/3] core: 在快照中跟踪正在启动的环境 @sayan-oai
- #29025 [3/3] app-server: 配置环境连接超时 @sayan-oai
- #28685 添加按 turn 的 multi-agent 模式 @shijie-oai
- #28792 暴露 thread 级 multi-agent 模式 @shijie-oai
- #28707 [codex] 当 rollout 预算过期时中止 turn (token 预算 3/3) @rka-oai
- #28899 按环境限定网络审批范围 @jif-oai
- #29086 记录 raw response item 兼容性 @jif-oai
- #28489 添加 indexed web search 模式 @winston-openai
- #28942 为 orchestrator skill 和 MCP 添加配置开关 @jif-oai
- #29099 保持远程 exec 命令由 executor 原生执行 @jif-oai
- #29095 使用 cached 和 live web access 术语 @winston-openai
- #29042 [codex] 跟踪 pre-sampling skill 和持久化延迟 @rphilizaire-openai
- #29132 chore(deps): 升级 tokio-tungstenite @apanasenko-oai
- #29006 [codex] 在模型上下文之外保留 skill 描述 @charlesgong-openai
- #29154 允许在任务和 MCP 启动期间使用 resume 和 settings 命令 @etraut-openai
- #29256 core: 添加上下文窗口 lineage ID @pakrym-oai
- #29259 [codex] 原型验证 mcp_history thread hint 注入 @pakrym-oai
- #29255 [codex] 添加可配置的 token 预算压缩提醒 @pakrym-oai
- #29295 [codex] 简化 token 预算上下文 @pakrym-oai
- #29108 将 sandbox intent 传递到远程 exec server @jif-oai
- #29325 测试流水线化 scalar exec-server 请求 @jif-oai
- #29326 并行化 skill metadata 统计 @jif-oai
- #29329 对远程初始化超时测试使用受控时间 @jif-oai
- #29170 code-mode: 定义 transport-neutral 运行时类型 @cconger
- #29285 code-mode: 将会话所有权移入 runtime @cconger
- #29286 code-mode: 线性化 cell 终态 @cconger
- #29287 code-mode: 使会话关闭具有权威性 @cconger
- #29301 [prompting] 更新 plan mode prompt @rhan-oai
- #29288 code-mode: 保留被丢弃的 observation 输出 @cconger
- #29289 code-mode: 在完成时保留初始 yield @cconger
- #28260 [codex] 添加内部 auto-compaction 选择退出 @rhan-oai
- #29371 将 safety buffering 事件传播到 app-server 客户端 @fc-oai
- #29393 chore: 修复 merge race(auto-compaction 功能访问) @sayan-oai
- #29327 在 thread resume 期间持久化会话 ID @jif-oai
- #29324 简化 multi-agent 模式控制 @jif-oai
- #29113 在远程 exec server 内应用 sandbox intent @jif-oai
- #29001 添加 workspace messages app-server API @xli-oai
- #29432 停止记录每个 Responses WebSocket 事件 @jif-oai
- #29073 core: 在采样前刷新环境上下文 @sayan-oai
- #29455 fix(core): 在 x-codex-turn-metadata 中恢复 thread_source @owenlin0
- #29457 从持久日志中过滤噪声目标 @jif-oai
- #29429 移除图像准备 flag @rka-oai
- #29143 ci: 恢复使用 hermetic LLVM 0.7.9 的自定义 Windows runner @anp-oai
- #27102 [codex] 集中管理插件分析 metadata @jameswt-oai
- #26703 TUI Plugin Sharing 3 - 渲染远程插件目录 section @canvrno-oai
- #29424 以语义化方式报告远程 sandbox 拒绝 @jif-oai
- #28968 core: 将 metadata 重命名为 internal_chat_message_metadata_passthrough @owenlin0
- #29464 [sdk/python] 停止宣告 HTTP 图像 URL @rka-oai
- #28793 [codex] 修复 usage-limit 重置文案和状态 @jayp-oai
- #27982 [codex] 当父会话启动时启动 guardian 子会话 @jgershen-oai
- #29468 core: 移除未使用的 permissions cwd plumbing @bolinfest
- #26707 PAC 2 - 添加共享 auth 系统代理 contract @canvrno-oai
- #28991 允许没有 email 的 ChatGPT 账户 @efrazer-oai
- #29423 [codex] 配置 rollout 预算提醒阈值 @rka-oai
- #26678 permission profiles: 向客户端暴露可用性 @viyatb-oai
- #29476 [codex] 在 app-server test client 中处理 request_user_input @celia-oai
- #29479 fix(config): 处理 permission profile 评审后续事项 @viyatb-oai
- #29014 在 managed MITM 下遵循启动时的自定义 CA bundle @winston-openai
- #29480 chore: 升级 tungstenite fork pin @apanasenko-oai
- #27669 [codex-core-plugins] 将远程插件 ID 持久化到文件 @jameswt-oai