0.96.0
新增功能
- 在 v2 app-server API 中新增
thread/compact作为异步触发 RPC,客户端可立即启动 compaction,并单独跟踪其完成情况。(#10445) - 新增通过
codex.rate_limits事件实现 websocket 侧的速率限制通知,并在 ETag/reasoning 元数据处理上与 websocket 保持一致。(#10324) - 在所有非 Windows 平台上启用了
unified_exec。(#10641) - 受约束的 requirement 值现在包含来源信息(source provenance),从而支持在
/debug-config等 UI 流程中进行可感知来源的配置调试。(#10568)
问题修复
- 修复了 TUI
request_user_input浮层中的Esc处理:当备注打开时,Esc现在会退出备注模式,而不是中断会话。(#10569) - Thread 列表现在会优先查询状态 DB(包括已归档 thread),仅在需要时才回退到文件系统遍历,从而提升列表的正确性和健壮性。(#10544)
- 修复了 thread 路径查找,要求解析后的文件确实存在,从而防止无效的 thread-id 解析。(#10618)
- 动态工具注入现在会在单个事务中运行,以避免部分状态更新。(#10614)
- 完善了 approval-policy 提示中使用的
request_rule指引,以纠正规则行为。(#10379, #10598)
其他变更
- 将状态数据库辅助工具迁移至带版本号的 SQLite 文件名方案,并在运行时初始化期间清理旧版状态文件。(#10623)
- 扩展运行时遥测能力,加入 websocket 计时指标,并简化了核心客户端底层管道中的内部元数据流转。(#10577, #10589)
- 更新了
thread/compact的 app-server 文档,以阐明其异步行为和线程繁忙生命周期。(#10445) - 更新了 TUI 文档,以匹配
request_user_input中特定模式的Esc行为。(#10569)
完整变更日志:https://github.com/openai/codex/compare/rust-v0.95.0...rust-v0.96.0
- #10569 tui: 让 Esc 在显示 notes 时清除 request_user_input notes @charley-oai
- #10577 feat: 将 webscocket 计时记录到运行时指标 @apanasenko-oai
- #10445 添加 thread/compact v2 @aibrahim-oai
- #10589 将元数据计算移出 client @pakrym-oai
- #10379 fix(core) 更新 request_rule 指南 @dylan-hurd-oai
- #10598 fix(core) 微调 Request Rule 指南 @dylan-hurd-oai
- #10544 优先使用 state DB 线程列表,而非文件系统 @jif-oai
- #10614 fix: dyn tools 注入使用单一事务 @jif-oai
- #10568 Requirements: 为受约束的 requirement 值添加 source @gt-oai
- #10611 chore: 简化用户消息检测 @jif-oai
- #10618 fix: 确保文件存在于
find_thread_path_by_id_str_in_subdir中 @jif-oai - #10619 nit: 清理 @jif-oai
- #10324 为 websockets 添加 codex.rate_limits 事件 @rasmusrygaard
- #10623 将 state DB 路径辅助工具迁移到带版本的文件名 @jif-oai
- #10638 更新测试,停止使用 sse_completed fixture @pakrym-oai
- #10641 feat: 落地 unified_exec @jif-oai