0.118.0
新增功能
- Windows 沙箱运行现在可通过操作系统级出口规则强制仅使用代理网络,而不再仅依赖环境变量。(#12220)
- App-server 客户端现在可通过设备代码流程启动 ChatGPT 登录,这在浏览器回调登录不可靠或不可用时很有帮助。(#15525)
codex exec现在支持提示词加 stdin 的工作流,因此你可以通过管道传入输入,同时在命令行上传递单独的提示词。(#15917)- 自定义模型提供商现在可以动态获取并刷新短期 bearer token,而不再仅限于配置或环境变量中的静态凭据。(#16286, #16287, #16288)
问题修复
- 项目本地的
.codex文件现在即使在首次创建时也受到保护,填补了初始写入可能绕过正常审批检查的缺口。(#15067) - Linux 沙箱启动更可靠,因为 Codex 再次能在普通的多条目
PATH中找到受信任的系统bwrap。(#15791, #15973) - 由 app-server 支持的 TUI 恢复了若干缺失的工作流:hook 通知可正确重放,
/copy和/resume <name>再次可用,/agent不再显示过期线程,skills 选择器可以滚动到第一页之后。(#16013, #16021, #16050, #16014, #16109, #16110) - MCP 启动更稳健:本地服务器获得更长的启动窗口,失败的握手会再次在 TUI 中显示警告,而不再看起来像正常启动。(#16080, #16041)
- 在 Windows 上,
apply_patch更不容易失败,因为它不再添加可能触发不必要 ACL churn 的冗余可写根。(#16030)
完整变更日志:https://github.com/openai/codex/compare/rust-v0.117.0...rust-v0.118.0
- #15891 [plugins] 润色工具建议提示。@mzeng-openai
- #15791 fix: 从可信 PATH 条目解析 bwrap @viyatb-oai
- #15900 skills: 移除未使用的 skill 权限元数据 @bolinfest
- #15811 app-server: 拆分 transport 模块 @euroelessar
- #15067 保护 Linux 和 macOS 沙箱中首次创建项目 .codex 的操作 @rreichel3-oai
- #15903 [codex] 直接从 codex-login 导入 token_data @bolinfest
- #15897 sandboxing: 为 SandboxCommand.program 使用 OsString @bolinfest
- #15910 docs: 更新 AGENTS.md,不鼓励向 codex-core 添加代码 @bolinfest
- #15898 chore: 将 bwrap 配置辅助函数移到专用模块 @viyatb-oai
- #15906 chore: 从命令审批载荷中移除 skill 元数据 @bolinfest
- #15909 fix(network-proxy): network-proxy DNS 查询错误时故障关闭 @viyatb-oai
- #14495 在 GitHub Actions 中保留 bazel 仓库缓存 @siggisim
- #15522 bazel: 重新组织 bazelrc @sluongng
- #15923 codex-tools: 抽取共享工具 schema 解析 @bolinfest
- #15918 permissions: 移除 macOS seatbelt 扩展 profiles @bolinfest
- #12220 feat(windows-sandbox): 添加网络代理支持 @viyatb-oai
- #15931 fix: 将 MACOS_DEFAULT_PREFERENCES_POLICY 设为 MACOS_SEATBELT_BASE_POLICY 的一部分 @bolinfest
- #15933 fix: 在 actions/cache 构建 action 中使用 matrix.target 而不是 matrix.os @bolinfest
- #15928 codex-tools: 抽取 MCP schema 适配器 @bolinfest
- #15948 fix: 暂时将 rust-ci 超时增加到 45 分钟 @bolinfest
- #15921 [app-server-protocol] 为 app-server-protocol 引入通用 ClientResponse @rhan-oai
- #15120 chore: 重构网络权限,使用显式 domain 和 unix socket 规则映射 @celia-oai
- #15525 为 app server 添加 ChatGPT device-code 登录 @daniel-oai
- #15876 chore: 删除无用内容 @jif-oai
- #15954 chore: 将 pty 和 windows sandbox 迁移到 Rust 2024 @bolinfest
- #15986 feat: spawn v2 将任务名称设为必填 @jif-oai
- #16000 将 codex-utils-template 用于登录错误页面 @jif-oai
- #16001 将 codex-utils-template 用于审查提示 @jif-oai
- #15998 将 codex-utils-template 用于沙箱模式提示 @jif-oai
- #15995 将 codex-utils-template 用于协作模式预设 @jif-oai
- #15996 将 codex-utils-template 用于搜索工具描述 @jif-oai
- #15999 将 codex-utils-template 用于审查退出 XML @jif-oai
- #15985 feat: 将 spawn v2 作为 agent 间通信 @jif-oai
- #15973 fix(sandbox): 修复多条目 PATH 的 bwrap 查找 @viyatb-oai
- #15944 codex-tools: 抽取动态工具适配器 @bolinfest
- #15955 ci: 为 codex-rs 添加 Bazel clippy 工作流 @bolinfest
- #15953 codex-tools: 引入具名工具定义 @bolinfest
- #16027 fix: 修复 #15999 引入的 Windows CI 回归 @bolinfest
- #16036 fix: 在 SDK 集成测试中禁用 plugins @bolinfest
- #15946 规范化带连字符的服务器名称的 /mcp 工具分组 @pakrym-oai
- #16035 plugins: 清理过期的精选插件同步临时目录,并添加同步指标 @xl-openai
- #15934 添加基于用量的商业计划类型 @bwanner-oai
- #16031 codex-tools: 抽取 responses API 工具模型 @bolinfest
- #16013 修复 tui_app_server 的 hook 通知渲染和重放 @etraut-openai
- #16021 修复 tui_app_server 轮次完成时的 /copy 回归 @etraut-openai
- #16044 [mcp] 绕过只读工具检查。@mzeng-openai
- #16030 在 apply_patch 中不包含冗余的写入根路径 @iceweasel-oai
- #15922 移除旧版 TUI 拆分 @etraut-openai
- #15828 [codex] 固定 GitHub Actions 工作流引用 @hintz-openai
- #16046 ci: 使用 Bazel 构建的 codex 运行 SDK 测试 @bolinfest
- #16050 修复 tui_app_server 按名称恢复查找的回归 @etraut-openai
- #16014 修复 tui_app_server agent 选择器关闭状态的回归 @etraut-openai
- #16054 chore: 清理 argument-comment lint,并在 macOS 上推行 all-target CI @bolinfest
- #15917 支持 Codex CLI 为
codex exec进行 stdin 管道输入 @jliccini - #16057 shell-command: 在 Windows 上复用 PowerShell 解析器进程 @bolinfest
- #16063 refactor: 用 Python 重写 argument-comment lint 包装器 @bolinfest
- #15952 bazel: 启用完整的 Windows gnullvm CI 路径 @bolinfest
- #16067 ci: 在 Windows gnullvm 上运行 Bazel clippy @bolinfest
- #16071 fix: 清理剩余的 Windows argument-comment-lint 违规 @bolinfest
- #16072 ci: 将快速 PR Rust CI 与完整合并后 Cargo CI 拆分 @bolinfest
- #16074 bazel: 为单元测试二进制文件添加 Windows gnullvm 栈标志 @bolinfest
- #16026 fix(tui): 协作模式变更时刷新页脚 @fcoury
- #16112 更新 PR babysitter skill,以处理审查回复和解决 @etraut-openai
- #16104 将 tui_app_server 重命名为 tui @etraut-openai
- #16118 fix: 修复仅 Linux 代码中的 comment linter lint 违规 @bolinfest
- #16106 build: 将 argument-comment-lint 迁移到原生 Bazel aspect @bolinfest
- #16115 移除剩余的自定义提示支持 @etraut-openai
- #16116 移除 codex-tui app-server originator 变通方案 @etraut-openai
- #16047 codex-tools: 抽取工具 spec 模型 @bolinfest
- #16128 bazel: 刷新已过期的 macOS SDK pin @bolinfest
- #16129 codex-tools: 抽取已配置的工具 spec @bolinfest
- #16130 ci: 让 rust-ci-full Windows argument-comment-lint 继续使用打包的 wrapper @bolinfest
- #16126 core: 修复过期的精选插件缓存刷新竞态 @bolinfest
- #16132 codex-tools: 抽取 code mode 工具 spec 适配器 @bolinfest
- #16136 ci: 为 rust-ci-full 非 Windows argument-comment-lint 使用 BuildBuddy @bolinfest
- #16137 exec: 使 review-policy 测试不受外部环境影响 @bolinfest
- #16109 修复 tui app server 中 skills 选择器的滚动 @etraut-openai
- #16138 codex-tools: 抽取本地 host 工具 spec @bolinfest
- #16114 移除 TUI 语音转录功能 @etraut-openai
- #16080 [mcp] 增加 MCP 启动超时。@mzeng-openai
- #16141 codex-tools: 抽取协作工具 spec @bolinfest
- #16041 修复 app-server TUI 的 MCP 启动警告回归 @etraut-openai
- #16110 修复 tui_app_server 中 /agent 里的幽灵子 agent 条目 @etraut-openai
- #16154 codex-tools: 抽取实用工具 spec @bolinfest
- #16204 [codex] 规范化 MCP 启动快照测试中的 Windows 路径 @etraut-openai
- #16010 feat: 为 wait 添加 mailbox 概念 @jif-oai
- #16237 fix: ma1 @jif-oai
- #16193 codex-tools: 抽取发现工具 spec @bolinfest
- #16254 codex-tools: 抽取可发现工具模型 @bolinfest
- #16253 fix: 填补 Bazel argument-comment-lint CI 缺口 @bolinfest
- #16225 [codex-analytics] 重构 analytics 以使用 reducer 架构 @rhan-oai
- #16279 更新 code mode exec() 指令 @andmis
- #16120 ci: 通过原生 Bazel 运行 Windows argument-comment-lint @bolinfest
- #16286 auth: 为仅 bearer 来源泛化外部 auth token @bolinfest
- #16287 auth: 让 AuthManager 负责外部 bearer auth @bolinfest
- #16288 core: 支持模型提供商的动态 auth token @bolinfest