# 🚀 CodeBuddy Code v2.103.0 发布

## 📦 版本信息

| 组件 | 版本 |
|------|------|
| CodeBuddy Code CLI | v2.103.0 |
| Agent SDK JS | v0.3.165 |
| Agent SDK Python | v0.3.164 |

## ✨ 新功能

### DeepSeek V4 模型支持

新增 DeepSeek V4 Pro 和 Flash 两个推理模型，均支持 1M 上下文窗口、工具调用和图片理解能力，进一步丰富可选的基础模型矩阵。

### Doctor 诊断面板增强

`/doctor` 诊断面板新增 Session ID、Trace ID、Request ID 展示，遇到问题时可以一键复制定位线索给后端排查，大幅缩短问题定位时长。

## 🔧 改进优化

- **调试环境变量标准化**：统一使用 `CODEBUDDY_DEBUG` / `CODEBUDDY_DEBUG_SDK` 替代旧的 `DEBUG` / `DEBUG_SDK`，避免与第三方库的同名环境变量冲突。
- **Trace ID 持久化展示**：新增 `lastConversationTraceId` 字段，确保诊断面板在会话跨回合后仍可展示最近一次的 Trace ID，便于复现问题时回查。
- **遥测错误码对齐**：chat 遥测事件中 `messageErrorCode` 与旧版数据口径对齐，使用 10 级优先链映射原始错误到业务错误码，保证报表口径一致。
- **模型切换配置精细化**：每个模型独立声明 `relatedModels.lite` / `relatedModels.reasoning`，移除已无法覆盖新模型场景的全局兜底，确保各模型在 lite / reasoning 切换时跳转到预期的目标模型。
- **沙箱审批超时可配置**：新增 `CBC_SANDBOX_APPROVAL_TIMEOUT_MS` 环境变量，便于测试和调试时自定义沙箱权限拦截等待超时时长（默认 120000ms）。

## 🐛 问题修复

- **沙箱超时弹窗不消失**：修复沙箱权限拦截等待超时自动拒绝后，Desktop / Web UI 弹窗未同步消失的问题；现在超时拒绝时会广播 `permissionResolved` 事件，前端收到后正确清除弹窗状态。
- **思考强度同步引发的性能问题**：修复客户端开会话后渲染层与 CLI 之间形成 ACP 反馈环，导致 `session/set_config_option` 在 1.4 秒内被反复调用 200+ 次、单会话日志爆量到数百 MB 的问题；事件源头按 `(配置项, 值)` 维度去重相邻同值广播，避免任何客户端（含未做幂等去重的旧版本）触发重复推送。
- **Compact 边界消息恢复异常**：修复 compact 后重启 session 时，边界消息 replay 异常导致前端缺失 compact 分割线、history 误改父子链的问题；compact 边界消息现在会下发带 meta 标记的 `agent_message_chunk`，前端正确渲染 divider；history 重建仅对可恢复的 compact 消息执行修正。
- **路径超链接误识别**：在 markdown 输出中主动给 POSIX 路径包 OSC 8 超链接，避免 VS Code / iTerm2 等终端在中英文混排场景把前缀汉字当成 URL 的一部分（例如「根因: /data/foo」误识别为「因: /data/foo」）；Cmd / Ctrl+Click 现在能精确跳到目标文件，并支持 `:line[:col]` 锚点。
- **Backspace 键兼容性**：在 iTerm2 / VS Code 内置终端等会把 ⌫ 发送为 `\x7f` 的环境下，按 Backspace 现在能正常向前删除字符，不再走「向后删除」分支。
- **ACP 鉴权恢复体验**：优化 ACP 掉授权后的异常上报与恢复提示，避免客户端收到不完整错误状态。
- **遥测请求 ID 一致性**：简化对话请求 ID 处理逻辑，统一其生成来源，移除冗余的兜底分支，避免影响上报数据的一致性。
