🚀 CodeBuddy Code v2.180.0 发布
📦 版本信息
| 组件 | 版本 |
|---|---|
| CodeBuddy Code CLI | v2.180.0 |
| Agent SDK JS | v0.3.300 |
| Agent SDK Python | v0.3.299 |
✨ 新功能
模型可下发默认工具模式
模型配置支持通过 toolMode 下发 PTC 默认模式,同时保留用户显式选择的优先级。
CODEBUDDY_CODE_MODE_ENABLED统一控制 PTC / 极简模式:TUI 与 WebUI 默认许可,其他宿主默认关闭;关闭后模式选择器隐藏这两项,标准 / 创造模式不受影响- 程序化调用需显式设置
CODEBUDDY_CODE_MODE_ENABLED=1放开能力 - 模型未下发
toolMode、明确声明direct或声明无效时,隐藏 PTC / 极简入口 - 会话中切换到不支持的模型时自动回退标准模式并同步界面,不修改你设置的
toolMode.lastUsed/default等长期偏好
自动记忆附带摘要
自动记忆在首轮注入时会附带受预算上限约束的记忆摘要,规则类反馈随摘要一起进入上下文,并明确何时需要读取记忆正文。缺少 type 或 frontmatter 的记忆会以 unknown 垫底纳入,摘要会过滤疑似凭据行。如需关闭,设置环境变量 CODEBUDDY_MEMORY_SUMMARY=0。
定制版可打包独立 Web UI 视觉资源
定制打包新增 --assets <dir>:放入 page-logo.svg、logo.svg、pwa-icon.svg 即可覆盖侧栏 / 欢迎页 / 登录页水印、浏览器标签图标与 PWA / 通知图标。--page-logo / --favicon / --pwa-icon 仍可作为按槽位覆盖。仅接受 SVG;官方版与未指定槽位保持现有资源。
🔧 改进优化
- 本地记忆提示词改为自研文案:记忆说明、后台提取、挑选相关记忆与陈旧提醒提示词按新结构重写,示例换成办公与研发场景;记忆类型与文件格式不变,已有记忆照常读取
- REPL 能力边界说明更清晰:明确「仅支持 JavaScript、不支持 TypeScript」,列出可用全局对象与不可用的宿主 API;
fetch、require、process、DOM 等未定义时直接提示可替代的工具 - REPL 报错更可操作:错误帧附带前后文,Python 风格写法给出可直接照改的 JavaScript 提示,
Bash命令反斜杠预检对所有宿主生效 permissions.deny覆盖 REPL 工具目录:被禁工具从 REPL 目录剔除,报错中补充规则来源并提示不要重试同名工具- auto 权限模式审批更稳定:模型或网络异常时自动重试并切换可用模型,减少偶发故障导致的任务中断;可通过
CODEBUDDY_AUTO_REVIEW_TIMEOUT_MS、CODEBUDDY_AUTO_REVIEW_STALL_TIMEOUT_MS调整等待时长 - 表单等待时长可配置:新增
CODEBUDDY_ASK_USER_FOR_STRUCTURED_INPUT_TIMEOUT_MS,超时后撤销表单并让模型继续处理 - 后台任务状态区分更明确:区分阻塞等待、进度读取与完成通知,显示当前状态与耗时,减少无效轮询和提前报告
- 子代理调度按产品配置过滤:按产品配置过滤不适用的内置子代理,保留自定义代理能力;内置子代理关闭时提示改用其他可用类型
- 公众号文章附件支持:支持文章附件的消息格式转换与历史卡片恢复,保留标题、来源和原文链接
- 复制操作反馈:Web UI 各处「复制路径 / 名称」后会提示成功或失败
- macOS 沙箱补充常用工具链缓存:Homebrew、pnpm store、nvm 下载缓存与 Yarn 全局包缓存默认放行
- 移除外部 Agent 目录的默认沙箱放行:保留共享技能目录,已保存的用户配置不做定向清理
- Web UI 长名称截断可读性:资源管理器根目录名不再被隐藏按钮挤占;会话标题与任务模版描述截断后可悬停查看全称
🐛 问题修复
- 历史敏感信息还原更稳妥:映射缺失时保留密文,不再整轮失败;思考内容保持密文,避免随后续请求明文外发 (#167109)
- 轮次进行中「复制请求 ID」缺少 traceId:工具回调未返回时,思考帧与工具更新等 live 帧也会带上当前 run 的 traceId (#130672)
- MCP 仅返回结构化结果时模型误判无输出:模型不再只看到 "(No output)" 并误判为没有数据
- 同名插件市场换源后安装失败:另一进程仍持有旧市场缓存时,安装或刷新插件不再失败
- 团队任务冷启动续跑:修复重启后唤醒成员报错、进度关联错乱、退出后成员被永久结束、以及重启后团队身份未及时恢复等问题 (#171597)
- 含中文的 UTF-8 文件被 Edit 误损坏:采样窗口恰好截断中文字符时不再误判为 GBK (#172447)
- NotebookEdit 说明更清晰:修正单元格 ID 与插入 / 删除说明 (#168401)
- REPL 工具与运行时全局不能被覆盖:已提供的工具名和运行时全局不能再被代码覆盖;工具被移除后会明确提示已不可用
- 自定义模型不再携带平台身份请求头:自定义模型直连第三方端点时,身份信息不再随请求发往用户自配的服务
- REPL 工具在压缩后丢失:压缩对话后 Bash / ViewImage 与 MCP 方法不再被清空
- 压缩后无法回退:双击 Esc /
/rewind仍能选择压缩前的提问,PTC / Code Mode 下的文件改动也可单独回退 - 长会话恢复缓慢:不再重复扫描历史消息
/goal评估失效与上下文膨胀:会话切换模型后不再每轮提示「Goal evaluation unavailable」;Stop feedback 只写入一次,上下文不再快速膨胀- Vim INSERT 模式按 Esc 误中断回复:保留 NORMAL 模式与标准编辑模式下的 Esc 取消能力
/clear被重复执行为/clear/clear- Windows 搜索不进入 junction 目录:junction 下的子目录和文件不再从结果中缺失
- Windows 连接 SSH 远程工作区失败:修复准备成功后连接立即失败(HTTP 502)的问题
- 子代理内置工具清单与 MCP 声明不能配合:空内置清单下可直接使用已授权的 MCP 工具
- Web UI 历史会话列表重复显示:路径大小写不同不再产生重复项
- Web UI 写入文件预览区高度塌陷:可完整查看写入内容
- Web UI 分身切换时模组入口闪烁
- 输入与长草稿编辑体验:长内容不再绕过粘贴折叠,编辑区域跟随光标,小尺寸终端下的输入与导航更顺畅
- 被叫醒的智能体状态反复闪烁:执行中如实显示为运行中,答完再收为已完成
- Agent Home 收信编造与漏收:收信频繁时不再反复编造「下一条来信」被拒,也不会因此漏收后续真实来信
- 关闭敏感信息保护后无法更新长期记忆
- 内置 devcloud 中继网关地址被覆盖:默认改为 http,手动保存的地址不再被覆盖
- 定制版用户数据目录分裂:MCP 配置、内存监控与崩溃诊断、企业策略缓存跟随客户配置的目录,后台提示改用客户二进制名
- REPL cell 被用户停止时的文案:明确归因为用户主动停止,不再与超时共用疑似故障的文案
📝 文档更新
- 同步更新 CLI 文档站的版本说明与导航