🚀 CodeBuddy Code v2.143.1 发布
📦 版本信息
| 组件 | 版本 |
|---|---|
| CodeBuddy Code CLI | v2.143.1 |
| Agent SDK JS | v0.3.251 |
| Agent SDK Python | v0.3.250 |
✨ 新功能
工具调用循环闸门
在工具执行链新增循环闸门,命中后由用户选择继续或终止:
- 单次请求内同一工具连续调用 40 次(不区分入参)
- AAB 形状(两次同工具后接一次不同工具)连续重复 10 轮
计数按会话与请求维度记账,跨轮请求不累积。CodeBuddy Code CLI 场景行为不变;WorkBuddy 下的 headless、后台任务、子会话等价于「继续执行」,只上报不打断。新增可选环境变量 CBC_LOOP_GUARD_DISABLED / CBC_LOOP_GUARD_CONSECUTIVE_THRESHOLD / CBC_LOOP_GUARD_SEQUENCE_REPEATS 用于 QA 快速复现。
打包同包多版本检测
CBC 打包链路(主 bundle / headless / server)新增同包多版本检测,报告按字节倒序列出上游引用来源,方便使用 alias 收敛。默认 warn,设置 CBC_BUNDLE_DUPLICATE_STRICT=1 时非零退出用于 CI 阻断,CBC_BUNDLE_DUPLICATE_ALLOW=pkg1,pkg2 追加豁免。
🔧 改进优化
- Auto 分类器模型可单独配置:
auto权限模式的安全分类器遵循与其他子代理一致的模型优先级;分类失败时提示消息会带上实际使用的模型和配置入口。 - Auto 分类器 fail-closed:分类器跑通但没有可解析结论时统一 fail-closed 拒绝,并计入被拒次数上限;连续 3 次后暂停 auto 模式,避免会话卡死。
- 出站 A2A Agent Card 按需 TTL 刷新:默认缓存 12 小时,可通过
CODEBUDDY_A2A_DISCOVERY_TTL_MS调整;过期后首次调用触发刷新,并发调用共享同一请求。 - steer 消息注入时转发用户消息事件:模型运行中通过「立即发送」插入的消息在真正注入模型上下文的那一刻,转发为
user_message_chunk事件;session/steer同时返回运行轮的ownerRequestId,后续 steer 可通过expectedRequestId约束加入同一轮。 - 插件自定义 agent model 字段生效:修复插件目录的 agent frontmatter 中
model字段未生效的问题,插件作者声明的自定义模型会真正落到子 agent 的执行上。 - 企微机器人可关流式回复:TUI
/remote-control和 Web UI 远程控制页可选择流式或非流式。 - 企微机器人可关卡片交互:可关掉模板卡片改回纯文本确认;默认机器人的开关变更会落盘
instances.json。 - 透传模型服务下发的错误提示:模型服务在错误响应中附带面向用户的提示语时,原样透传给上层展示。
- WebSearch 恶意域名过滤:搜索结果进入模型和界面前过滤恶意域名,命中同时写入安全中心审计并上报防护遥测。
🐛 问题修复
- A2A 文件下载位置:出站 A2A 返回的 URL 文件保存到当前会话工作空间的
outputs/a2a目录。 - ACP 会话错误提示:修复中断恢复后偶发把后续模型错误误判为取消的问题。
- WorkBuddy 团队会话:修复 inbox 唤醒后的工具状态更新缺少请求归属信息,并避免影响子任务流归属。
- 同批 TaskCreate 顺序:模型同批并发创建任务时数字 ID 与计划顺序一致,同批 TaskCreate 按模型调用顺序执行,其他工具保持并发。
- 模型服务错误缺少 HTTP 状态码:修复导致结构化错误分类不准确的问题。
- 恢复 VideoGen 可选生成参数:重新向模型开放宽高比、负向提示词和音频开关;未提供时默认使用 16:9、空负向提示词并开启音频,修复生成视频默认无声的问题。
- 企微流式回复去掉黑色竖线:垫片改用全角空格 / 不换行空格,气泡不再顶着一条黑线。
- 企微交互卡片选项不再横排挤压:Ask / 权限 / 建议一律改走官方
vote_interaction竖排选项。 - 企微来信立刻显示发送者:企业微信用户消息到达已打开的 Web UI 时立刻出现「企业微信 · 用户」标签。
- macOS 沙箱文件审批:修复 Brokered Host 新建文件后未向 Sandbox Center 注册临时自动放行规则的问题,避免 Git 等工具清理临时文件时误触发规则审批。
- 额度耗尽即刻提示:HTTP 429 + 业务码 14019(无可用 Token 额度)时不重试直接交 fallback,第一时间提示,不再延迟约 1m40s。
- 图片工具结果敏感检测:图片工具结果以 JSON 字符串传递时不再扫描 Base64 载荷,避免图片随机字节被误判为 API Key。
- 同一 ToolCall 敏感命中审批复用:多次命中敏感信息时只展示首次审批弹窗,后续命中及工具结果准入静默复用用户选择。
- WebUI 后台任务与源代码管理:修复 worker 重启后串台或无法恢复的问题;修复源代码管理无法撤回嵌套目录中新建文件的问题。
- Python shim 签名保护:禁止在打包应用目录写入字节码缓存,避免破坏 macOS 应用签名。
- Sandbox Center 不可用时降级放行:启动失败、请求超时或 IPC 异常时,WebFetch、网络策略检查和文件守卫降级放行,安全中心正常返回的拒绝规则仍然生效。
- 修正安全删除审计语义:macOS 隐式兜底规则自动执行安全删除时,不再错误显示为命中文件白名单。
- CBC Web UI 打包告警清零:修复 Vite/Rollup 报出的 7 组
dynamic import will not move module into another chunk告警。