0.106.0
新增功能
- 为 macOS 和 Linux 添加了直接安装脚本,并将其作为 GitHub Release 资产发布,使用现有的平台 payload(包括
codex和rg)(#12740) - 扩展了 app-server v2 thread API,新增实验性的 thread 作用域实时端点/通知,以及
thread/unsubscribe流程,可在不归档 live thread 的情况下将其卸载 (#12715, #10954) - 将
js_repl提升到/experimental,增加了带用户可见警告的启动兼容性检查,并将经过验证的最低 Node 版本降低至22.22.0(#12712, #12824, #12857) - 在 Default 协作模式(而不仅是 Plan 模式)中启用了
request_user_input(#12735) - 使 API 用户可在 CLI 模型列表中看到
5.3-codex(#12808) - 通过基于 diff 的遗忘和感知使用情况的记忆选择改进了记忆行为 (#12900, #12909)
问题修复
- 通过重试与超时相关的 HTTP 400 握手失败,并在所选模型支持时优先使用 WebSocket v2,提升了实时 websocket 的可靠性 (#12791, #12838)
- 修复了 zsh-fork shell 执行路径可能丢弃沙箱包装器、绕过预期文件系统限制的问题 (#12800)
- 在 TUI 和 app-server 中新增共享的约 100 万字符输入大小上限,并返回明确的错误响应,以防止超大粘贴内容导致挂起/崩溃 (#12823)
- 改进了 TUI 本地文件链接的渲染:隐藏绝对路径,同时保留可见的行/列引用 (#12705, #12870)
- 修复了 TUI 中子代理的
Ctrl-C处理 (#12911)
其他变更
- 为内嵌的
codex-network-proxy策略决策与拦截添加了结构化 OTEL 审计日志 (#12046) - 移除了
steer功能开关,并在 TUI 输入框中统一使用始终启用的 steer 路径 (#12026) - 通过跳过子代理启动时开销高昂的历史元数据扫描,降低了子代理的启动开销 (#12918)
- 修复了 auth/onboarding 流程中过时的登录成功链接 (#12805)
- 澄清了远程/设备认证登录场景的 CLI 登录提示 (#12813)
完整变更日志:https://github.com/openai/codex/compare/rust-v0.105.0...rust-v0.106.0
- #12046 feat(network-proxy): 添加嵌入式 OTEL 策略审计日志 @mcgrew-oai
- #12712 将 js_repl 提升为实验性功能,并加入 Node 要求 @fjord-oai
- #12715 添加 app-server v2 thread realtime API @aibrahim-oai
- #12795 回滚 "fix(bazel): 在 memories 中用 include_str! 替换 askama 模板" @jif-oai
- #12791 处理 websocket 超时 @pakrym-oai
- #12800 fix: 在 zsh fork 执行中强制执行 sandbox envelope @bolinfest
- #12802 压缩时传递 session ID @rasmusrygaard
- #12732 feat(app-server): 添加 ThreadItem::DynamicToolCall @owenlin0
- #12807 添加简单的 realtime 文本日志 @aibrahim-oai
- #12805 更新 Codex 文档成功链接 @etraut-openai
- #12809 fix: 加固 zsh fork 测试并保持子命令审批确定性 @bolinfest
- #12808 使 5.3-codex 在 CLI 中对 API 用户可见 @sayan-oai
- #10954 feat(app-server): thread/unsubscribe API @owenlin0
- #12806 仅对 realtime 使用 preambles @aibrahim-oai
- #12830 回滚 "仅对 realtime 使用 preambles" @aibrahim-oai
- #12721 回滚 "确保 shell 命令技能触发审批 (#12697)" @celia-oai
- #12831 仅对 realtime 使用 preambles @aibrahim-oai
- #12735 在 Default 模式下启用 request_user_input @charley-oai
- #12814 feat: 根据已批准技能元数据限定 execve 会话审批范围 @bolinfest
- #12026 移除 steer 功能标志 @aibrahim-oai
- #12740 添加 macOS 和 Linux 直接安装脚本 @EFRAZER-oai
- #12838 将 websocket v2 用作模型首选的 websocket 协议 @pakrym-oai
- #12811 回滚 "添加技能审批事件/响应 (#12633)" @celia-oai
- #12758 feat: 在命令审批请求中包含可用决策 @bolinfest
- #12824 启动时 Node 不兼容则禁用 js_repl @fjord-oai
- #12813 澄清设备认证登录提示 @xl-openai
- #12848 尝试修复 Windows 流水线 @pakrym-oai
- #12856 第二次尝试修复发布 @pakrym-oai
- #12744 对额外根目录跳过系统技能 @xl-openai
- #12857 将 js_repl 的 Node 版本要求降低到 22.22.0 @fjord-oai
- #12865 修复 release 构建 take @pakrym-oai
- #12705 在 TUI markdown 中隐藏本地文件链接目标 @pash-openai
- #12823 强制实施用户输入长度上限 @etraut-openai
- #12417 core: 将设置 diff 更新打包到一个 dev/user envelope 中 @charley-oai
- #12884 chore: 新的 agents 名称 @jif-oai
- #12885 nit: 大写 @jif-oai
- #12870 tui: 恢复隐藏文件链接的可见行号 @pash-openai
- #12684 向 memory 文件添加 rollout 路径,并在读取时搜索它们 @wendyjiao-openai
- #12901 chore: 改进 awaiter 描述 @jif-oai
- #12900 feat: 记忆遗忘 @jif-oai
- #12905 chore: 清理 DB 运行时 @jif-oai
- #12918 对子代理跳过历史元数据扫描 @daveaitel-openai
- #12871 split-debuginfo @pakrym-oai
- #12909 feat: 使用 memory 用量进行选择 @jif-oai
- #12887 fix: 不要将 turn cwd 应用到元数据 @jif-oai
- #12911 fix: ctrl c 子代理 @jif-oai
- #12873 使用模型目录默认值作为推理摘要回退 @pakrym-oai