# 🚀 CodeBuddy Code v2.95.1 发布

## ✨ 新功能

### 通用 Agent 支持图像生成与编辑

general-purpose 子 agent 的工具清单新增 ImageGen 和 ImageEdit，可在子任务中直接生成图像或基于已有图像进行编辑。是否可用仍由模型能力 tag 决定。

## 🔧 改进优化

- **Skill 工具描述截断**：采用三阶段均衡截断策略，大量 skills 场景下工具描述自动按字符预算收敛，不再无限膨胀。新增 env `CODEBUDDY_SKILL_TOOL_CHAR_BUDGET` 独立控制 Skill 工具描述预算（默认 8000）。⚠️ **破坏性变更**：SlashCommand 工具默认字符预算由 15000 调整为 8000，可设 `SLASH_COMMAND_TOOL_CHAR_BUDGET=15000` 恢复
- **MCP 大响应处理**：MCP 工具响应超出 token 上限时不再直接报错中断会话，改为把完整内容保存到会话目录并返回读取指引，模型可按 offset/limit 分段读取。可通过环境变量 `CODEBUDDY_DISABLE_MCP_LARGE_OUTPUT_FILES=1` 始终走截断降级
- **流式响应超时**：将首 token 等待和流间静默两项默认超时由 10 分钟提升至 20 分钟，避免长上下文请求或慢响应模型在首 token 阶段被误判为连接丢失
- **Windows 粘贴体验**：提升 Windows 终端中大段文本和剪贴板内容粘贴的稳定性，减少输入闪烁和内容分片问题
- **统一 cancel 清理编排器**：收到 cancel 信号时按六个维度统一清理 session 运行时状态（交互、模式、Todo、工具广播、压缩状态位、UI 进度信号），彻底消除"取消后脏状态残留到下一轮 prompt"和"取消后压缩 loading 横幅不消失"类 bug
- **内部生成器 agent 优化**：上下文压缩、标题生成、摘要生成等内部任务的 agent 不再自动注入 SendMessage 工具，节省 prompt token 并避免污染结构化输出

## 🐛 问题修复

- **取消压缩后 UI 状态显示**：修复流式压缩中点取消按钮，分隔线 UI 不能正确反映"被取消"语义的问题——之前会显示"上下文已压缩 ✓"误判或继续显示"正在压缩..."shimmer。自动 compact 与手动 `/compact` 双路径均已覆盖
- **ACP 自动压缩静默语义**：自动压缩期间触发的内部 abort/error 不再向 ACP 客户端暴露 `stopReason='cancelled'`，外部消费方（IDE/Web UI/Desktop）不再看到一次无意义的"已取消"闪现；用户主动 Ctrl-C / ACP cancel 仍正常发取消信号
- **桌面操作工具可见性**：桌面操作工具在未启用或非 macOS 场景下不再出现在工具搜索描述里，避免模型尝试调用后被拒绝

## 📝 文档更新

- **CLI 文档同步**：同步更新 bash-sandboxing、env-vars、hooks、interactive-mode、mcp、plugins-reference、settings、skills 等多语言版本（cn/en/zh）
- **历史 release notes 补齐**：发布 v2.94.0~v2.94.4 历史版本的 release notes 文档
