🚀 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 文档