🚀 CodeBuddy Code v2.154.0 发布
📦 版本信息
| 组件 | 版本 |
|---|---|
| CodeBuddy Code CLI | v2.154.0 |
| Agent SDK JS | v0.3.262 |
| Agent SDK Python | v0.3.261 |
✨ 新功能
Agent Home 智能体自治组队
智能体现在可以自己拉人组队干活。新增三个协作工具:自主创建同事、创建频道(建群 / 拉人 / 一句话 kickoff 唤醒全员)、频道任务板。这些能力只对 Agent Home 开放,普通终端会话与子代理看不到。
- 频道任务板:频道内新增黑板式任务协作。任务由写者认领(同一任务只有一个负责人,抢占会返回冲突),可指派、可引用产物(文件 / 提交 / PR),完成 / 放回都会在频道时间线上留下事件。
- Lead 编排:频道可指定 lead,lead 每轮会拿到任务板快照,可批量派单(幂等、同名去重),也可催办卡住的人或收回其认领。
- 团队回报:团队干完后会主动回报委托人。一批派单全部完成时,频道会落一条系统消息并叫 lead 汇报进展;委托人关掉窗口、进程重启都不会丢消息。
- 通讯录:一次调用即可看清全部同事与频道(id、会话状态、谁是 lead、谁是委托人),组队前先看清有谁。
- 模型与权限模式:创建同事时可指定模型与权限模式,设定随档案落盘,同事重启后仍是同一档,不会掉回产品默认。
- 安全护栏:同事上限 50、频道上限 20、频道成员 2–6、任务板 50、创建深度 ≤2,关键动作留审计;唤醒有预算控制,超限只标记停滞、不再自动叫醒。
- Web UI 开关:设置中新增「Agent 团队」分组,可一键关闭「允许智能体自主组队」;关闭后自治工具与任务写入即不可用(读板不受影响)。
频道协作体验
- 群聊式依次发言:用户发言开启一轮房间轮次,成员按名册依次发言,每轮轮换首发;一次轮次最多 3 轮、跨轮累计 10 条成员发言,每人每轮最多 2 条,保证群聊有界、不会无限对聊。成员只看到自己上次发言以来的新消息,没有新内容可以弃权。
- 选项卡卡片:成员可用
SpeakInChannel在频道里发一张「提问 + 2–6 个选项」的卡片,用户点选后作为用户发言回到房间,成员下一轮即可看到所选值。 - 消息引用:气泡悬停出现「引用」动作条,发送后画在气泡上方,点击可跳回原消息。
- 附件与图片:频道输入框支持上传图片 / 文件,可直接粘贴截图或把文件拖进输入框,发送时才上传;图片可点击放大,其它文件点击下载。为安全起见,SVG / HTML 这类可执行文档不再按图片内联或打开,改为按文件卡片下载。
- 气泡渲染对齐主对话:正文支持 markdown(代码高亮与复制、表格、mermaid、公式、图片放大),@ 提及仍是芯片,代码块与公式里的
@不会被误伤。 - 实时刷新:同事在频道里说话,页面无需切换或刷新即可看到(SSE 实时推送),同一时间线不再被两条链路重复拉取。
- 过程可见:频道底部只在有人干活时显示一行「X 正在处理…」,全部空闲即消失。
- 失败可诊断:发送失败会区分「连不上后端」(提示服务可能刚重启、文字已保留可直接重试)与其它失败,草稿一律保留在输入框。
频道任务板
- 右侧信息栏:原先占据对话上方近一屏高度的横幅改为右侧信息栏,对话列恢复整幅宽度;顶栏按钮开合、带未完成数角标,未手动开合过时仅在存在未完成任务时自动展开,空板不占用空间,窄屏下改为覆盖层。
- 分组与排序:按停滞 / 进行中 / 待认领 / 已完成分组,需人工介入的置顶、已完成默认折叠;支持同分组内拖拽排序、按成员筛选、就地编辑标题 / 详情 / 指派。
- 删除任务:用户与 lead 可删除任意任务,成员仅可删除自己创建且无人认领的任务;删除后会追加一条时间线记录,且任务编号不复用。
- 引用产物:卡片直接列出引用(链接可打开,路径 / 提交 SHA 可复制),编辑态可增删。
- 失败有反馈:建 / 改 / 删 / 完成失败不再静默,服务端原文会以提示条弹出;在「删除确认」上按 Escape 不再连带收起整个任务板,编辑器打开时 Escape 先取消编辑、不丢草稿;任务卡支持 Tab 聚焦 + Enter 编辑。
stream-json 存活心跳(可选,默认关闭)
在 --output-format stream-json 的一轮 turn 执行期间,CLI 可按事件循环节奏周期性输出 {type:"system", subtype:"keepalive"} 消息,便于下游宿主区分「慢」与「卡死」:心跳挂在事件循环上,同步卡死时不会发出,只有事件循环仍在运转(异步等待慢工具或 IO)才发出,避免把健康但慢的 worker 误判为无响应。
该特性由 CODEBUDDY_STREAM_KEEPALIVE_INTERVAL_MS 控制,仅当显式设置为正数时才开启;不配置时输出与引入前逐字节一致。消息复用既有 system 消息族通道,不认识该 subtype 的既有消费者会安全忽略或透传。
🔧 改进优化
- 审批授权范围收敛:文件、命令和网络审批选择「本会话允许」后保留会话授权缓存,不再自动新增安全中心会话规则,避免覆盖已有权限或扩大授权范围。
- 工作目录发现:git 仓库向上查找在卷根 / 用户容器 / 临时目录根处停住,临时目录冷启动不再反复探测不存在的
.git。 - 思考等级同步:在 CLI 切换思考档位后,Web UI 的思考强度选择器会同步更新,不再停留在会话开始时的旧值。
- 模型信息展示:去掉模型 chip 上的无限符号,避免被误读为无限额度 / 无限积分;倍率为 0 的模型直接显示
0x,不再回退显示上下文窗口大小。 - 自定义模型弹窗:点击弹窗外区域不再关闭弹窗,避免误触丢失整张表单;表单字段顺序调整为 显示名称 → 提供商 → 接口 URL → API Key → 模型 ID,模型 ID 允许带
/的厂商前缀(如z-ai/glm-5.3)。 - REPL 工具调用:工具签名会明确展示参数对象结构,误传位置参数时返回清晰提示。
- 消息合并成本:同事收件箱中的多条消息会合并成一次模型调用,并对同一同事加提示入队预算,避免大量 @ 触发成倍调用。
🐛 问题修复
- 对话遍历更稳:修复 MCP 服务器缓存并发重排偶发 "Duplicate tool names" 报错、导致整轮对话中断的问题。
- PTC 模式工具面:延迟加载的 MCP 工具统一在沙箱内调用,不再同时出现在对话层直连工具列表里。
- Glob / Grep 大小写:修复 Windows 和 macOS 上 glob 参数大小写不匹配时静默搜不到文件的问题,Linux 仍保持大小写敏感语义。
- Web UI 上滚:Agent 输出期间向上滚动查看历史时,对话区不再被自动吸底抢回底部;滚回底部后恢复跟随,在思考内容、流式代码块等区块内滚动也不会误停跟随。
- 模型选择浮层:修复「思考强度」二级面板超出视口被裁切的问题,模型较多或窗口较矮时各档位也能完整展示。
- 积分消耗展示:在无法解析上下文窗口大小的场景下,本轮已产生的积分扣费也能正常展示,且不污染真实上下文用量基线。
- 禁用 Skill 调用:直接调用已禁用 Skill 后,会话不再持续显示思考中,请求可以正常结束。
- 主 Agent 补话生效:PTC 或自定义 Agent 作为主 Agent 时,执行工具期间补充的消息能在下一次模型请求生效,不再等到整轮任务结束。
- 停止任务后的弹窗:修复停止任务后旧命令的迟到权限请求阻塞后续删除确认弹窗的问题。
- 会话标题:图片与文字一起发送时不再显示
@image#N:和哈希文件名,应用、聊天记录等资源会展示为可读名称。 - macOS 沙箱审批:修复 PPT 截图等操作清理系统缓存时反复触发沙箱删除审批的问题。
- Server 端修复:修复 workbuddy preset 与显式 tools 声明中的延迟工具无法通过 ToolSearch 发现和调用、会话回退后冷启动恢复历史选中旧分支、内存文件系统入口丢失调用方初始文件和构造选项等问题。
- 团队成员状态:修复 WorkBuddy 团队成员缺少 Team 身份、恢复期无物理任务的成员被误报为运行中,以及永久关闭的成员被后续消息错误恢复的问题。
- 频道协作修复:修复用户在频道发言没人接、@ 被轮次指针吞掉、开轮第一棒排到说话人自己、邀请新成员被轮次抢走、用户终止过的同事又被自动拉起来、频道页点击无响应等问题。