# 🚀 CodeBuddy Code v2.100.0 发布

## 📦 版本信息

| 组件 | 版本 |
|------|------|
| CodeBuddy Code CLI | v2.100.0 |
| Agent SDK JS | v0.3.160 |
| Agent SDK Python | v0.3.159 |

## ✨ 新功能

### WaitForMcpServers 工具

新增内置工具，允许模型主动等待正在连接中的 MCP 服务器就绪。当 MCP 服务器尚未完成连接时，可调用此工具等待（最多 5 秒），服务器连接成功后其工具将自动注入工具列表。支持等待指定服务器或全部待连接服务器，返回各服务器的连接状态（已连接 / 失败 / 需认证 / 已禁用 / 未知），让 MCP 工具的"按需调用"更可靠。

### 安全审查内容剔除

当模型因安全审查终止本次回答时，本轮已产生的回答与思考内容将从有效会话中剔除，不再回传给后续请求，避免污染上下文；会话历史中以一条安全审查提示占位，重放与展示保持一致。

## 🔧 改进优化

- **网页获取加速**：远端 API 与本地 fetch 由原先的串行兜底改为并发竞争，远端胜出时自动取消本地请求，最坏耗时从 50s 降至约 30s；同时引入 15 分钟结果缓存，命中即跳过网络请求
- **网页获取体积控制**：远端 API 限制最大返回 100K 字符，超过 15K 字符自动触发 AI 摘要，降低对话上下文占用
- **网页获取可观测性**：新增 `webfetch.complete` / `webfetch.failed` 结构化埋点，覆盖来源（cache / api / local）、状态码、耗时、内容长度等字段，方便后台基于日志级别配告警
- **ToolSearch 连接提示**：当 MCP 服务器配置存在但尚未连接时，搜索结果会主动提示"还在连接中，可调用 WaitForMcpServers 等待"，引导模型走等待流程
- **Bash 沙盒审批解耦**：沙盒审批弹窗的编排逻辑拆分为 SafetyFilter 直通 / Bypass 自动放行 / UI 上抛三阶段独立模块，对外行为完全保持不变（敏感命令说明、120 秒超时降级、跨子会话回溯主会话等）
- **Bash 上下文环境变量**：Bash 工具子进程自动透传 `$CODEBUDDY_PROJECT_DIR` / `$CODEBUDDY_SESSION_ID`（以及兼容别名），方便 skill 与用户脚本读取项目上下文，与 hook 环境保持一致
- **IOA 模型更新**：新增两款长上下文基础模型，下线 6 款旧版模型，并升级默认推理模型版本

## 🐛 问题修复

- **AskUserQuestion 工具挂起**：修复偶发的工具调用永久挂起问题。新增 10 分钟超时兜底和单 waiter 路由兜底，避免 UI 消息丢失或路由分裂场景下用户回答后工具不返回
- **审批弹框误吃回车**：修复连续两次审批弹框时第一次的回车被新弹框误吃导致"自动通过/拒绝"的问题。新弹框 mount 后增加 80ms 焦点 grace period
- **ExitPlanMode 误批准**：修复 plan 内容尚未加载完成（界面显示 "Loading plan..."）时回车会误批准未阅读 plan 的问题，panel 层在 plan 内容就绪前禁止聚焦
- **缓存命中率统计**：修复使用 GLM、DeepSeek 等 OpenAI 兼容协议时缓存命中率被统计为 0 的问题，缓存读取/写入 token 现可在所有支持的协议下正确上报
- **内网环境鉴权**：修复在 IOA / 内网环境切换时 API Key 偶发出现 401 的问题；同时区分"内置模型请求路由异常"与"自定义模型密钥配置错误"，给出更准确的排查建议
- **MCP 工具图片识别**：修复部分 MCP 工具（如截图类工具）返回的图片无法被模型识别、只收到一段文本的问题，模型现在能正常"看到"工具返回的图片

## 📝 文档更新

- **CLI 文档归档**：完成 v2.99.1 release notes 中英文同步，`env-vars.md` 增量翻译同步至英文版（新增 `CODEBUDDY_WAIT_FOR_MCP_SERVERS_ENABLED` 条目），三套导航配置（cliConfig / cliConfigCN / cliConfigZh）保持同步
