@tencent-ai/codebuddy-code 2.110.0-next.4c26008.202606252235 → 2.111.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +37 -0
- package/dist/codebuddy-headless.js +12 -12
- package/dist/codebuddy.js +14 -14
- package/dist/web-ui/docs/cn/cli/cli-reference.md +2 -0
- package/dist/web-ui/docs/cn/cli/common-workflows.md +1 -2
- package/dist/web-ui/docs/cn/cli/costs.md +1 -1
- package/dist/web-ui/docs/cn/cli/hooks.md +32 -0
- package/dist/web-ui/docs/cn/cli/installation.md +7 -1
- package/dist/web-ui/docs/cn/cli/interactive-mode.md +16 -8
- package/dist/web-ui/docs/cn/cli/keybindings.md +2 -2
- package/dist/web-ui/docs/cn/cli/permission-modes.md +2 -1
- package/dist/web-ui/docs/cn/cli/quickstart.md +3 -4
- package/dist/web-ui/docs/cn/cli/release-notes/README.md +4 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.109.1.md +21 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.109.2.md +21 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.109.3.md +23 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.110.0.md +39 -0
- package/dist/web-ui/docs/cn/cli/slash-commands.md +5 -0
- package/dist/web-ui/docs/cn/cli/troubleshooting.md +93 -0
- package/dist/web-ui/docs/en/cli/cli-reference.md +2 -0
- package/dist/web-ui/docs/en/cli/common-workflows.md +1 -2
- package/dist/web-ui/docs/en/cli/costs.md +2 -2
- package/dist/web-ui/docs/en/cli/hooks.md +35 -3
- package/dist/web-ui/docs/en/cli/installation.md +6 -0
- package/dist/web-ui/docs/en/cli/interactive-mode.md +17 -9
- package/dist/web-ui/docs/en/cli/keybindings.md +2 -2
- package/dist/web-ui/docs/en/cli/permission-modes.md +2 -1
- package/dist/web-ui/docs/en/cli/quickstart.md +3 -4
- package/dist/web-ui/docs/en/cli/release-notes/README.md +9 -5
- package/dist/web-ui/docs/en/cli/release-notes/v2.109.1.md +21 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.109.2.md +21 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.109.3.md +23 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.110.0.md +39 -0
- package/dist/web-ui/docs/en/cli/slash-commands.md +5 -0
- package/dist/web-ui/docs/en/cli/troubleshooting.md +93 -0
- package/dist/web-ui/docs/search-index-en.json +1 -1
- package/dist/web-ui/docs/search-index-zh.json +1 -1
- package/dist/web-ui/docs/sidebar-en.json +1 -1
- package/dist/web-ui/docs/sidebar-zh.json +1 -1
- package/lib/node/index.js +30 -0
- package/package.json +2 -3
- package/product.cloudhosted.json +2 -2
- package/product.internal.json +2 -2
- package/product.ioa.json +2 -2
- package/product.json +2 -2
- package/product.selfhosted.json +2 -2
|
@@ -39,6 +39,8 @@
|
|
|
39
39
|
| `--allowedTools` | 除了[settings.json 文件](./settings.md)外,无需提示用户即可允许的工具列表 | `"Bash(git log:*)" "Bash(git diff:*)" "Read"` |
|
|
40
40
|
| `--disallowedTools` | 除了[settings.json 文件](./settings.md)外,应禁止使用的工具列表 | `"Bash(git log:*)" "Bash(git diff:*)" "Edit"` |
|
|
41
41
|
| `--tools` | 限制可用的内置工具集(白名单)。空字符串 `""` 禁用所有内置工具,`"default"` 使用全部工具,或指定逗号分隔的工具名。支持 `Defer(X)` / `NoDefer(X)` 修饰符按需调整工具的延迟加载状态,详见 [工具延迟加载覆盖](tool-defer-overlay.md) | `codebuddy --tools "Bash,Read,Defer(Glob)"` |
|
|
42
|
+
| `--mcp-config <fileOrString>` | 从 JSON 文件或 JSON 字符串加载 MCP 服务器配置 | `codebuddy --mcp-config ./mcp.json` |
|
|
43
|
+
| `--strict-mcp-config` | 仅使用 `--mcp-config` 或 SDK `mcpServers` 提供的 MCP 服务器,忽略用户、项目和本地 `.mcp.json` 等文件型配置;未显式传入时,交互模式、`--serve` 和 ACP 会继续加载这些文件型配置 | `codebuddy --serve --strict-mcp-config` |
|
|
42
44
|
| `--print`, `-p` | 打印响应后退出,不进入交互模式 | `codebuddy -p "查询"` |
|
|
43
45
|
| `--settings` | 从 JSON 文件或 JSON 字符串加载额外的设置配置 | `codebuddy --settings '{"model":"gpt-5"}' "查询"` |
|
|
44
46
|
| `--setting-sources` | 指定要加载的设置源,逗号分隔(可选值: `user`, `project`, `local`)。默认: `user,project,local` | `codebuddy --setting-sources project,local "查询"` |
|
|
@@ -176,8 +176,7 @@
|
|
|
176
176
|
**在会话期间开启计划模式**
|
|
177
177
|
|
|
178
178
|
您可以在会话期间使用快捷键切换权限模式来切换到计划模式:
|
|
179
|
-
-
|
|
180
|
-
- **Windows**:按 **Alt+M**
|
|
179
|
+
- 所有平台:按 **Shift+Tab**(Windows 也支持 **Alt+M**)
|
|
181
180
|
|
|
182
181
|
如果您处于普通模式,按快捷键将首先切换到自动接受模式,终端底部会显示 `⏵⏵ accept edits on`。再次按快捷键将切换到计划模式,显示 `⏸ plan mode on`。
|
|
183
182
|
|
|
@@ -149,7 +149,7 @@ When you are using compact, please focus on test output and code changes.
|
|
|
149
149
|
|
|
150
150
|
对于较长或更复杂的工作,以下习惯有助于避免因走错方向而浪费 Token:
|
|
151
151
|
|
|
152
|
-
* **复杂任务使用计划模式**:按 Shift+Tab
|
|
152
|
+
* **复杂任务使用计划模式**:按 Shift+Tab(Windows 也支持 Alt+M)进入计划模式。CodeBuddy Code 会探索代码库并提出方案供你批准,避免初始方向错误时的昂贵返工。
|
|
153
153
|
* **尽早纠正方向**:如果 CodeBuddy Code 开始走错方向,按 Escape 立即停止。使用 `/rewind` 或双击 Escape 将对话和代码恢复到之前的检查点。
|
|
154
154
|
* **提供验证目标**:在提示中包含测试用例、截图或预期输出。当 CodeBuddy Code 能够自我验证工作时,它可以在你需要请求修复之前发现问题。
|
|
155
155
|
* **增量测试**:写一个文件,测试它,然后继续。这样可以在问题还容易修复时尽早发现。
|
|
@@ -197,6 +197,7 @@ Hooks 按匹配器组织,每个匹配器可以有多个 hooks:
|
|
|
197
197
|
- 使用 `$ARGUMENTS` 作为 hook 输入 JSON 的占位符,会被直接替换
|
|
198
198
|
- 如果不存在 `$ARGUMENTS`,输入 JSON 会以 `\n\nARGUMENTS:\n{JSON}` 格式追加到提示词末尾
|
|
199
199
|
- **timeout**: (可选) 超时时间(秒)(默认: 30 秒)
|
|
200
|
+
- **continueOnBlock**: (可选)当 prompt hook 返回 `ok: false` 时,是否让 Agent 继续工作而不是停止。设为 `true` 时行为类似 `/goal`:`reason` 会注入对话历史,Agent 继续循环直到条件满足。仅对 `Stop`/`SubagentStop` 事件有意义。默认为 `false`(Agent 停止)
|
|
200
201
|
|
|
201
202
|
### 响应模式
|
|
202
203
|
|
|
@@ -238,6 +239,37 @@ LLM 必须使用包含以下内容的 JSON 响应:
|
|
|
238
239
|
}
|
|
239
240
|
```
|
|
240
241
|
|
|
242
|
+
### 示例:持续工作的 Stop Hook(continueOnBlock)
|
|
243
|
+
|
|
244
|
+
通过设置 `continueOnBlock: true`,prompt Stop hook 可以在条件不满足时驱动 Agent 继续工作,类似 `/goal` 的效果:
|
|
245
|
+
|
|
246
|
+
```json
|
|
247
|
+
{
|
|
248
|
+
"hooks": {
|
|
249
|
+
"Stop": [
|
|
250
|
+
{
|
|
251
|
+
"hooks": [
|
|
252
|
+
{
|
|
253
|
+
"type": "prompt",
|
|
254
|
+
"prompt": "Check if all tests pass and code is properly formatted. Context: $ARGUMENTS\n\nIf tests pass and code is clean, return {\"ok\": true}.\nIf not, return {\"ok\": false, \"reason\": \"describe what still needs to be fixed\"}.",
|
|
255
|
+
"continueOnBlock": true,
|
|
256
|
+
"timeout": 30
|
|
257
|
+
}
|
|
258
|
+
]
|
|
259
|
+
}
|
|
260
|
+
]
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
当 `continueOnBlock` 为 `true` 时:
|
|
266
|
+
- `ok: true` → Agent 正常停止
|
|
267
|
+
- `ok: false` → `reason` 注入对话历史,Agent 继续工作直到条件满足
|
|
268
|
+
- `ok: false, impossible: true` → Agent 停止,显示"目标不可达成"
|
|
269
|
+
|
|
270
|
+
当 `continueOnBlock` 为 `false`(默认)时:
|
|
271
|
+
- `ok: false` → Agent 停止,不会继续循环
|
|
272
|
+
|
|
241
273
|
### 示例:UserPromptSubmit 验证
|
|
242
274
|
|
|
243
275
|
```json
|
|
@@ -216,13 +216,19 @@ npm install -g @tencent-ai/codebuddy-code
|
|
|
216
216
|
echo $PATH
|
|
217
217
|
```
|
|
218
218
|
|
|
219
|
-
2. 将 CodeBuddy 安装路径添加到 `PATH`(参考上方[验证安装](
|
|
219
|
+
2. 将 CodeBuddy 安装路径添加到 `PATH`(参考上方[验证安装](#验证安装)部分)
|
|
220
220
|
|
|
221
221
|
3. 重启终端或重新加载配置文件:
|
|
222
222
|
```bash
|
|
223
223
|
source ~/.bashrc # 或 ~/.zshrc
|
|
224
224
|
```
|
|
225
225
|
|
|
226
|
+
### 更新后仍是旧版本
|
|
227
|
+
|
|
228
|
+
**问题:** `npm install -g` 显示安装成功,但 `codebuddy --version` 仍为旧版本
|
|
229
|
+
|
|
230
|
+
这通常是系统中存在多个 `codebuddy` 可执行文件(如同时通过 npm 和 Homebrew 安装、nvm 切换了 Node 版本等)导致。详细排查步骤请参考 [故障排查 - npm 安装成功但执行的仍是旧版本](./troubleshooting.md#npm-安装成功但执行的仍是旧版本)。
|
|
231
|
+
|
|
226
232
|
### 网络问题
|
|
227
233
|
|
|
228
234
|
**问题:** 安装或更新时网络连接失败
|
|
@@ -18,16 +18,16 @@
|
|
|
18
18
|
| `Ctrl+O` | 切换详细输出 | 显示详细的工具使用和执行信息 | ✅ 支持 |
|
|
19
19
|
| `Ctrl+R` | 反向搜索命令历史 | 交互式搜索之前的命令 | ✅ 支持 |
|
|
20
20
|
| `Ctrl+V` (macOS/Linux) 或 `Alt+V` (Windows) | 从剪贴板粘贴文本或图片;Windows 上推荐用 `Alt+V` 获得更稳定的大段文本粘贴体验 | 粘贴文本、图片或图片文件路径 | ✅ 支持 |
|
|
21
|
-
| `Up/Down 方向键` | 导航命令历史 |
|
|
21
|
+
| `Up/Down 方向键` | 导航命令历史 | 调用之前的输入;队列中存在排队消息时,`Up` 会优先把排队消息拉回输入框编辑 | ✅ 支持 |
|
|
22
22
|
| `Esc` + `Esc` | 回退代码/对话 | 将代码和/或对话恢复到之前的状态 (需在输入框为空时连续按两次) | ✅ 支持 |
|
|
23
23
|
| `Tab` | 切换思考模式 | 在思考开启和思考关闭之间切换 | ✅ 支持 |
|
|
24
|
-
| `Shift+Tab` (
|
|
24
|
+
| `Shift+Tab` (所有平台,Windows 同时支持 `Alt+M`) | 切换权限模式 | 在 `default`、`bypassPermissions`、`acceptEdits`、`auto`(可用时)、`plan`、`delegate` 之间循环 | ✅ 支持 |
|
|
25
25
|
| `Option+P` (macOS) 或 `Alt+P` (Windows/Linux) | 切换模型 | 快速打开模型选择面板 | ✅ 支持 |
|
|
26
26
|
|
|
27
27
|
> **说明:**
|
|
28
28
|
> - `Esc` + `Esc` 回退功能已支持:当输入框内容为空时,连续按两次 ESC 键可激活 `/rewind` 功能,快速回退代码或对话到之前的状态
|
|
29
29
|
> - `Tab` 键在 CodeBuddy Code 中主要用于自动补全,扩展思考模式的切换功能部分支持
|
|
30
|
-
> - `Shift+Tab`
|
|
30
|
+
> - `Shift+Tab` 用于切换权限模式(所有平台通用,Windows 同时支持 `Alt+M` 作为别名)。当前循环顺序为:`default → bypassPermissions → acceptEdits → auto(可用时)→ plan → delegate`。`dontAsk` 不在键盘循环中,需要通过 `--permission-mode dontAsk` 或 settings 进入。可通过 `~/.codebuddy/keybindings.json` 自定义
|
|
31
31
|
|
|
32
32
|
### 多行输入
|
|
33
33
|
|
|
@@ -122,6 +122,14 @@ CodeBuddy Code 为当前会话维护命令历史:
|
|
|
122
122
|
* 使用 Up/Down 方向键导航 (参见上面的键盘快捷键)
|
|
123
123
|
* **注意**:历史扩展 (`!`) 默认禁用
|
|
124
124
|
|
|
125
|
+
### 编辑排队中的消息
|
|
126
|
+
|
|
127
|
+
当 Agent 正在响应时,你输入并回车的消息会进入排队,显示在输入框上方。此时输入框为空,按 `Up` 方向键即可把排队中的消息拉回输入框继续编辑(多条排队消息会按发送顺序合并,以换行拼接):
|
|
128
|
+
|
|
129
|
+
* 输入框为空且有可编辑排队消息时,会显示「Press ↑ to edit queued messages」提示
|
|
130
|
+
* 系统注入的排队项(异步任务通知、频道消息、队友消息等)不会被拉回输入框,会保留在队列中继续自动处理
|
|
131
|
+
* 已经在用 `Up`/`Down` 回溯历史时,方向键仍按历史导航处理,不会打断
|
|
132
|
+
|
|
125
133
|
### 使用 Ctrl+R 反向搜索
|
|
126
134
|
|
|
127
135
|
按 `Ctrl+R` 交互式搜索您的命令历史:
|
|
@@ -192,14 +200,14 @@ CodeBuddy Code 支持多种权限模式来控制工具使用的授权方式:
|
|
|
192
200
|
|
|
193
201
|
| 模式 | 描述 | 快捷键切换 |
|
|
194
202
|
| :-------------------- | :------------------------------------------------------------------- | :----------------- |
|
|
195
|
-
| **普通模式 (默认)** | 根据权限规则询问工具使用确认 | `Shift+Tab`
|
|
196
|
-
| **自动接受编辑模式** | 自动批准文件编辑操作 (Edit/Write),其他工具仍需确认 | `Shift+Tab`
|
|
197
|
-
| **跳过权限模式** | 绕过所有权限检查。建议仅在无互联网访问的沙箱中使用 | `Shift+Tab`
|
|
198
|
-
| **计划模式** | AI 将制定计划并等待批准后再执行 | `Shift+Tab`
|
|
203
|
+
| **普通模式 (默认)** | 根据权限规则询问工具使用确认 | `Shift+Tab` |
|
|
204
|
+
| **自动接受编辑模式** | 自动批准文件编辑操作 (Edit/Write),其他工具仍需确认 | `Shift+Tab` |
|
|
205
|
+
| **跳过权限模式** | 绕过所有权限检查。建议仅在无互联网访问的沙箱中使用 | `Shift+Tab` |
|
|
206
|
+
| **计划模式** | AI 将制定计划并等待批准后再执行 | `Shift+Tab` |
|
|
199
207
|
|
|
200
208
|
### 切换权限模式
|
|
201
209
|
|
|
202
|
-
* 使用 `Shift+Tab`
|
|
210
|
+
* 使用 `Shift+Tab` 在模式之间切换(所有平台通用,Windows 同时支持 `Alt+M` 别名)。可通过 `~/.codebuddy/keybindings.json` 自定义快捷键
|
|
203
211
|
* 使用 `--permission-mode` 命令行参数指定启动模式:
|
|
204
212
|
```bash
|
|
205
213
|
codebuddy --permission-mode acceptEdits
|
|
@@ -71,7 +71,7 @@ CodeBuddy Code 支持自定义键盘快捷键。运行 `/keybindings` 命令创
|
|
|
71
71
|
| `chat:cancel` | Escape | 取消当前输入,或中断当前前台请求 |
|
|
72
72
|
| `chat:submit` | Enter | 发送消息 |
|
|
73
73
|
| `chat:killAgents` | Ctrl+X Ctrl+K | 终止所有后台代理 |
|
|
74
|
-
| `chat:cycleMode` | Shift+Tab
|
|
74
|
+
| `chat:cycleMode` | Shift+Tab (Windows 同时支持 Alt+M) | 切换权限模式 |
|
|
75
75
|
| `chat:modelPicker` | Meta+P | 打开模型选择器 |
|
|
76
76
|
| `chat:thinkingToggle` | Meta+T | 切换扩展思考 |
|
|
77
77
|
| `chat:undo` | Ctrl+_, Ctrl+Shift+- | 撤销 |
|
|
@@ -79,7 +79,7 @@ CodeBuddy Code 支持自定义键盘快捷键。运行 `/keybindings` 命令创
|
|
|
79
79
|
| `chat:stash` | Ctrl+S | 暂存当前输入 |
|
|
80
80
|
| `chat:imagePaste` | Ctrl+V (Windows: Alt+V) | 粘贴图片 |
|
|
81
81
|
|
|
82
|
-
|
|
82
|
+
\*所有平台统一使用 Shift+Tab 作为主快捷键。Windows 上同时保留 Alt+M 作为别名,方便终端不支持 Shift+Tab 时使用。
|
|
83
83
|
|
|
84
84
|
### 自动补全动作
|
|
85
85
|
|
|
@@ -66,7 +66,8 @@ default → bypassPermissions → acceptEdits → auto(可用时)→ plan
|
|
|
66
66
|
|
|
67
67
|
- `auto` 只有当前环境可用时才会出现在循环里
|
|
68
68
|
- `dontAsk` **不在**键盘循环中,只能通过 CLI、settings、SDK / IDE 控制信号进入
|
|
69
|
-
- Windows
|
|
69
|
+
- Windows 上 `Shift+Tab` 和 `Alt+M` 均可触发(`Alt+M` 为兼容别名)
|
|
70
|
+
- 可通过 `~/.codebuddy/keybindings.json` 自定义快捷键
|
|
70
71
|
|
|
71
72
|
### 状态栏提示
|
|
72
73
|
|
|
@@ -198,7 +198,7 @@ codebuddy -p "为 services 目录下的所有文件添加单元测试" -y
|
|
|
198
198
|
#### 权限和模式
|
|
199
199
|
| 快捷键 | 功能 |
|
|
200
200
|
|--------|------|
|
|
201
|
-
| `Shift+Tab
|
|
201
|
+
| `Shift+Tab`(Windows 也支持 `Alt+M`) | 切换权限模式(default → bypass → accept → plan) |
|
|
202
202
|
|
|
203
203
|
#### 编辑功能
|
|
204
204
|
| 快捷键 | 功能 |
|
|
@@ -213,15 +213,14 @@ codebuddy -p "为 services 目录下的所有文件添加单元测试" -y
|
|
|
213
213
|
#### 面板操作
|
|
214
214
|
| 快捷键 | 功能 |
|
|
215
215
|
|--------|------|
|
|
216
|
-
| `↑/↓` |
|
|
216
|
+
| `↑/↓` 或 `j/k` | 在面板中导航选项(支持 Vim 风格) |
|
|
217
217
|
| `Enter` | 选择当前项 |
|
|
218
218
|
| `Space` | 切换选择(多选面板) |
|
|
219
|
-
| `
|
|
219
|
+
| `x` | 终止选中的后台任务 |
|
|
220
220
|
|
|
221
221
|
#### 专用功能
|
|
222
222
|
| 快捷键 | 功能 |
|
|
223
223
|
|--------|------|
|
|
224
|
-
| `j/k` | Vim风格的上下导航(部分面板支持) |
|
|
225
224
|
| `Ctrl+O` | 查看思考详情面板 |
|
|
226
225
|
|
|
227
226
|
当终端显示“Thinking”指示时,可用 `Ctrl+O` 打开完整推理内容,再按 `Ctrl+O` 退出。
|
|
@@ -17,6 +17,10 @@ Release Notes 记录了每个版本的用户可见变更,包括:
|
|
|
17
17
|
|
|
18
18
|
<!-- 新版本自动添加到此处 -->
|
|
19
19
|
|
|
20
|
+
- [v2.110.0](./v2.110.0.md) - 2026-06-25
|
|
21
|
+
- [v2.109.3](./v2.109.3.md) - 2026-06-23
|
|
22
|
+
- [v2.109.2](./v2.109.2.md) - 2026-06-23
|
|
23
|
+
- [v2.109.1](./v2.109.1.md) - 2026-06-21
|
|
20
24
|
- [v2.109.0](./v2.109.0.md) - 2026-06-19
|
|
21
25
|
|
|
22
26
|
- [v2.108.2](./v2.108.2.md) - 2026-06-18
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# 🚀 CodeBuddy Code v2.109.1 发布
|
|
2
|
+
|
|
3
|
+
## 📦 版本信息
|
|
4
|
+
|
|
5
|
+
| 组件 | 版本 |
|
|
6
|
+
|------|------|
|
|
7
|
+
| CodeBuddy Code CLI | v2.109.1 |
|
|
8
|
+
| Agent SDK JS | v0.3.187 |
|
|
9
|
+
| Agent SDK Python | v0.3.186 |
|
|
10
|
+
|
|
11
|
+
## 🐛 问题修复
|
|
12
|
+
|
|
13
|
+
- **模型选择 fallback 逻辑优化**:修复 Compact 压缩及子代理在模型列表匹配失败时错误 fallback 到列表首项的问题,改为信任用户选择并 fallback 到当前主模型
|
|
14
|
+
- **模型显示名匹配**:模型可用性检查新增按显示名匹配,解决通过 `--model` 传入显示名时匹配失败的问题
|
|
15
|
+
- **渠道来源埋点完整性**:修复标准埋点和模型埋点缺失 `downloadChannel` 公参的问题,确保渠道包下载数据可按来源归因
|
|
16
|
+
|
|
17
|
+
## 📝 文档更新
|
|
18
|
+
|
|
19
|
+
- **Prewarm 预热进程文档**:新增 Prewarm 预热进程使用说明文档
|
|
20
|
+
- **Release Notes 归档**:同步 v2.106.0 至 v2.109.0 共 13 篇版本发布说明
|
|
21
|
+
- **文档增量翻译**:更新 CLI 参考、环境变量、权限模式、设置等 8 篇文档的英文翻译
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# 🚀 CodeBuddy Code v2.109.2 发布
|
|
2
|
+
|
|
3
|
+
## 📦 版本信息
|
|
4
|
+
|
|
5
|
+
| 组件 | 版本 |
|
|
6
|
+
|------|------|
|
|
7
|
+
| CodeBuddy Code CLI | v2.109.2 |
|
|
8
|
+
| Agent SDK JS | v0.3.188 |
|
|
9
|
+
| Agent SDK Python | v0.3.187 |
|
|
10
|
+
|
|
11
|
+
## 🔧 改进优化
|
|
12
|
+
|
|
13
|
+
- **Auto 模式提示更醒目**:auto 权限模式的状态提示颜色调整为 warning 色,与 don't ask 模式保持一致,更好地提醒用户当前处于高权限模式
|
|
14
|
+
- **埋点公参补齐**:在 WorkBuddy Desktop 启动的 CLI 运行时中透传 QIMEI36,补齐对话、插件状态和企业策略等埋点的公共参数,提升数据完整性
|
|
15
|
+
|
|
16
|
+
## 🐛 问题修复
|
|
17
|
+
|
|
18
|
+
- **专家团计划模式权限状态丢失**:修复专家团场景下计划模式权限状态保存逻辑,确保 session 直接以 Plan 模式启动时能正确保存 `prePlanPermissionMode`
|
|
19
|
+
- **Stop Hook 误触发续跑**:修复 prompt 类型 Stop hook 在条件不满足时误触发 agent 续跑的问题,现在 agent 会按预期正确停止
|
|
20
|
+
- **MCP OAuth 令牌交换失败**:修复部分服务器在令牌交换阶段丢失 `resource` 参数的问题,避免授权成功后仍无法完成登录
|
|
21
|
+
- **预热会话内置工具缺失**:修复开启进程预热时,部分内置工具(文件呈现、内置浏览器自动化等)在会话中缺失的问题。预热待命阶段不再提前用空配置初始化连接代理,避免污染后续工具索引
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# 🚀 CodeBuddy Code v2.109.3 发布
|
|
2
|
+
|
|
3
|
+
## 📦 版本信息
|
|
4
|
+
|
|
5
|
+
| 组件 | 版本 |
|
|
6
|
+
|------|------|
|
|
7
|
+
| CodeBuddy Code CLI | v2.109.3 |
|
|
8
|
+
| Agent SDK JS | v0.3.189 |
|
|
9
|
+
| Agent SDK Python | v0.3.188 |
|
|
10
|
+
|
|
11
|
+
## ✨ 新功能
|
|
12
|
+
|
|
13
|
+
- **Prompt Stop Hook 支持 continueOnBlock**:新增 `continueOnBlock` 配置项,设为 `true` 时 prompt 类型的 Stop hook 在条件不满足时可驱动 Agent 继续循环工作,实现类似 `/goal` 的持续工作效果
|
|
14
|
+
|
|
15
|
+
## 🐛 问题修复
|
|
16
|
+
|
|
17
|
+
- **登录链接显示优化**:修复登录页面 URL 链接显示时序问题,确保用户在浏览器打开前即可看到可复制的登录链接
|
|
18
|
+
- **Checkpoint 恢复**:修复 revert 到早期 checkpoint 时,v1 版本文件被错误跳过未恢复的问题
|
|
19
|
+
- **MCP 配置加载**:修复无头/服务模式下本地 `.mcp.json` 会被错误忽略的问题,现在仅在显式传入 `--strict-mcp-config` 时才只使用指定的 MCP 服务器
|
|
20
|
+
- **会话标题恢复**:修复恢复图片类会话后标题被重复提取或停留在占位标题的问题,避免旧标题被异常覆盖
|
|
21
|
+
- **MCP 连接幂等性**:修复同一连接代理被并发/重复连接时,因底层传输已启动而被误判为断开、导致已连接服务的工具短暂丢失的问题
|
|
22
|
+
- **预热进程 CLI 参数丢失**:修复预热进程被唤醒后 `--model` / `--effort` / `--settings` 等 CLI 配置被静默丢弃的问题,现改为订阅配置变更流自动重解析刷新
|
|
23
|
+
- **权限模式竞态修复**:修复 Desktop sidecar 模式下权限模式被错误覆盖的问题,避免只读工具在 Expert 场景下触发权限死锁
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# 🚀 CodeBuddy Code v2.110.0 发布
|
|
2
|
+
|
|
3
|
+
## 📦 版本信息
|
|
4
|
+
|
|
5
|
+
| 组件 | 版本 |
|
|
6
|
+
|------|------|
|
|
7
|
+
| CodeBuddy Code CLI | v2.110.0 |
|
|
8
|
+
| Agent SDK JS | v0.3.190 |
|
|
9
|
+
| Agent SDK Python | v0.3.189 |
|
|
10
|
+
|
|
11
|
+
## ✨ 新功能
|
|
12
|
+
|
|
13
|
+
### 五个新增斜杠命令
|
|
14
|
+
|
|
15
|
+
本次新增了 5 个实用斜杠命令,覆盖代码审查、验证、调试等常见开发场景:
|
|
16
|
+
|
|
17
|
+
- **`/simplify`** — 从复用、简化、效率、抽象层次四个角度审查并清理已变更代码,帮助你保持代码简洁
|
|
18
|
+
- **`/code-review`** — 审查当前 diff 中的正确性 bug 和代码质量问题,支持 `--fix` 自动修复和 `--comment` 直接发布 PR 评论
|
|
19
|
+
- **`/verify`** — 验证代码变更是否按预期工作,自动运行测试和构建检查,确保改动不破坏现有功能
|
|
20
|
+
- **`/copy`** — 将最近一条 AI 回复复制到系统剪贴板,支持通过参数指定第 N 条,方便快速引用内容
|
|
21
|
+
- **`/debug`** — 一键启用调试日志,帮助诊断会话中遇到的异常问题
|
|
22
|
+
|
|
23
|
+
## 🔧 改进优化
|
|
24
|
+
|
|
25
|
+
- **工具名称匹配**:工具名称匹配现在支持大小写不敏感,当模型返回的工具名称大小写与注册名不一致时(如 `Powershell` vs `PowerShell`),工程层自动兜底匹配,避免工具调用失败
|
|
26
|
+
- **Windows Git Bash 提示**:在 Windows 平台上,Bash 工具描述中追加 Git Bash 语法提示,引导模型使用 POSIX shell 语法(`/dev/null` 而非 `NUL`,`$VAR` 而非 `%VAR%`),提升 Windows 用户体验
|
|
27
|
+
- **权限模式文案**:新增「自动」和「免打扰」两种权限模式的界面文案,描述更清晰直观
|
|
28
|
+
|
|
29
|
+
## 🐛 问题修复
|
|
30
|
+
|
|
31
|
+
- **ACP 对话渲染**:修复模型已返回最终文本但流式正文缺失时,客户端对话完成后没有显示后续内容的问题
|
|
32
|
+
- **后台任务通知**:修复 WorkBuddy / Web UI 等 ACP 模式下后台任务完成后通知未转发给客户端的问题,后台命令执行完毕后现在会正确展示结果
|
|
33
|
+
- **日志完整性**:修复 headless 模式被信号终止时缓冲日志丢失的问题,确保 `~/.codebuddy/logs` 在所有退出路径下都能完整落盘
|
|
34
|
+
- **MCP 工具 hook 拦截**:修复 PreToolUse hook 对 MCP 工具调用不生效的问题,deny 规则现在能正确阻止 MCP 工具执行
|
|
35
|
+
- **插件 Hook 类型支持**:修复插件 `hooks.json` 中 prompt/agent/http 类型的 hook 被静默丢弃的问题,插件现在可以正确声明所有 4 种 hook 类型
|
|
36
|
+
- **会话标题生成**:修复首次标题生成失败后会话永久无标题的问题,改为在生成成功前按用户提交重试,已生成或用户自定义的标题不再被异常覆盖
|
|
37
|
+
- **遥测上报**:修复工具调用续跑时请求链路 ID 被旧状态短路,导致 trace 在工具调用节点后缺失后续模型轮次的问题
|
|
38
|
+
- **会话运行状态**:修复队列或团队消息快速接续时,上一轮迟到的结束信号可能误清新一轮运行状态的问题,避免加载状态消失或后续响应卡住
|
|
39
|
+
- **画布终端稳定性**:修复画布页面终端切换视图后内容空白的问题,终端状态在视图切换间完整保留
|
|
@@ -51,6 +51,11 @@ CodeBuddy Code 支持斜杠命令,允许您在聊天中执行特殊操作、
|
|
|
51
51
|
| `/reload-plugins` | | ✅ 支持 | 重新加载所有插件(Skills、Agents、Hooks、MCP/LSP 服务器等),无需重启。 |
|
|
52
52
|
| `/skills` | | ✅ 支持 | 查看当前已加载的所有 Skills,包括用户级、项目级和插件级 Skills,并显示预估 token 数量。详见 [Skills 文档](skills.md)。 |
|
|
53
53
|
| `/insights` | | ✅ 支持 | 生成 AI 驱动的使用洞察报告,分析您的 CodeBuddy Code 使用模式、交互风格、项目领域、摩擦点等多个维度,并生成可在浏览器中查看的 HTML 报告。 |
|
|
54
|
+
| `/simplify` | `[target]` | ✅ 支持 | 清理已变更的代码,不改变行为。自动启动 4 个并行 Agent 分别从复用、简化、效率、抽象层次四个角度审查代码,然后汇总并应用修复。仅做质量清理,不查找正确性 bug(查 bug 请用 `/code-review`)。 |
|
|
55
|
+
| `/code-review` | `[--fix] [--comment] [target]` | ✅ 支持 | 审查当前 diff 中的正确性 bug 和代码质量问题。支持 `--fix` 自动修复发现的问题,`--comment` 将发现作为 PR 内联评论发布。按严重程度排列发现,包含文件、行号、严重等级和修复建议。 |
|
|
56
|
+
| `/verify` | `[description]` | ✅ 支持 | 验证代码变更是否按预期工作。自动识别变更类型,运行相关测试套件、构建检查和类型检查,报告测试结果并标记失败或警告。 |
|
|
57
|
+
| `/copy` | `[N]` | ✅ 支持 | 复制最近一条 AI 回复到系统剪贴板。可选参数 N 指定第 N 条(1 = 最新,2 = 次新,依此类推),同时写入临时文件 `/tmp/codebuddy/response.md` 作为备份。 |
|
|
58
|
+
| `/debug` | `[issue description]` | ✅ 支持 | 启用调试日志并帮助诊断会话问题。自动读取当前会话的调试日志尾部(最后 20 行),如果调试日志未启用则自动开启,分析日志中的错误和警告并给出修复建议。 |
|
|
54
59
|
|
|
55
60
|
description: "为我的项目运行单元测试并报告结果。"
|
|
56
61
|
argument-hint: "[test-file]"
|
|
@@ -138,6 +138,99 @@ npm config get registry
|
|
|
138
138
|
|
|
139
139
|
若长期使用第三方镜像,可在更新命令中临时指定官方源,无需修改全局配置。
|
|
140
140
|
|
|
141
|
+
### npm 安装成功但执行的仍是旧版本
|
|
142
|
+
|
|
143
|
+
**症状**:`npm install -g @tencent-ai/codebuddy-code@latest` 显示安装成功,但 `codebuddy --version` 仍为旧版本。
|
|
144
|
+
|
|
145
|
+
**原因**:系统中存在多个 `codebuddy` 可执行文件,终端优先找到了旧版本。常见场景:
|
|
146
|
+
|
|
147
|
+
- 同时通过 npm 和 Homebrew 安装,Homebrew 版本优先级更高
|
|
148
|
+
- 使用 nvm 切换了 Node 版本,新版本安装在另一个 Node 版本的 bin 目录下
|
|
149
|
+
- 系统中残留了旧的原生二进制版本(`~/.local/bin/codebuddy`)
|
|
150
|
+
- PATH 中存在多个路径包含不同版本的 `codebuddy`
|
|
151
|
+
|
|
152
|
+
**排查步骤**:
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
# 1. 确认实际执行的是哪个 codebuddy
|
|
156
|
+
which codebuddy
|
|
157
|
+
# 或查看所有匹配项
|
|
158
|
+
which -a codebuddy
|
|
159
|
+
|
|
160
|
+
# 2. 确认 npm 全局安装路径
|
|
161
|
+
npm prefix -g
|
|
162
|
+
# npm 安装的 codebuddy 在 $(npm prefix -g)/bin/ 下
|
|
163
|
+
|
|
164
|
+
# 3. 对比路径
|
|
165
|
+
# 如果 which codebuddy 的路径 ≠ $(npm prefix -g)/bin/codebuddy,
|
|
166
|
+
# 说明终端执行的不是 npm 安装的版本
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
**解决方案**:
|
|
170
|
+
|
|
171
|
+
**情况一:Homebrew 和 npm 同时安装**
|
|
172
|
+
|
|
173
|
+
Homebrew 的 `/opt/homebrew/bin`(macOS Apple Silicon)或 `/usr/local/bin`(Intel Mac)通常在 PATH 中优先于 npm 全局目录。
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
# 方案 A:只保留一种安装方式(推荐)
|
|
177
|
+
brew uninstall codebuddy-code # 卸载 Homebrew 版本,使用 npm 版本
|
|
178
|
+
# 或
|
|
179
|
+
npm uninstall -g @tencent-ai/codebuddy-code # 卸载 npm 版本,使用 Homebrew 版本
|
|
180
|
+
brew upgrade codebuddy-code
|
|
181
|
+
|
|
182
|
+
# 方案 B:保留两种安装但指定优先级
|
|
183
|
+
# 在 ~/.zshrc 或 ~/.bashrc 中调整 PATH 顺序,将 npm 路径放在前面:
|
|
184
|
+
export PATH="$(npm prefix -g)/bin:$PATH"
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
**情况二:nvm 切换 Node 版本导致**
|
|
188
|
+
|
|
189
|
+
npm 全局包安装在当前 Node 版本的目录下。切换 Node 版本后,之前版本安装的全局包不可用。
|
|
190
|
+
|
|
191
|
+
```bash
|
|
192
|
+
# 查看当前 Node 版本
|
|
193
|
+
node -v
|
|
194
|
+
|
|
195
|
+
# 在当前版本下重新安装
|
|
196
|
+
npm install -g @tencent-ai/codebuddy-code@latest
|
|
197
|
+
|
|
198
|
+
# 或切换回安装时的 Node 版本
|
|
199
|
+
nvm use <安装时的版本号>
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
**情况三:残留旧的原生二进制文件**
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
# 检查是否存在原生二进制版本
|
|
206
|
+
ls -la ~/.local/bin/codebuddy
|
|
207
|
+
|
|
208
|
+
# 如果存在且不需要,删除它
|
|
209
|
+
rm ~/.local/bin/codebuddy
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
**情况四:shell 缓存了旧路径**
|
|
213
|
+
|
|
214
|
+
部分 shell 会缓存命令路径。安装新版本后需要刷新缓存:
|
|
215
|
+
|
|
216
|
+
```bash
|
|
217
|
+
hash -r # bash / zsh 清除命令缓存
|
|
218
|
+
# 或直接重启终端
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
**快速验证**:
|
|
222
|
+
|
|
223
|
+
```bash
|
|
224
|
+
# 一条命令完成排查
|
|
225
|
+
echo "执行路径: $(which codebuddy)" && \
|
|
226
|
+
echo "当前版本: $(codebuddy --version 2>/dev/null || echo '未找到')" && \
|
|
227
|
+
echo "npm 安装路径: $(npm prefix -g)/bin/codebuddy" && \
|
|
228
|
+
echo "npm 版本: $(cat "$(npm prefix -g)/lib/node_modules/@tencent-ai/codebuddy-code/package.json" 2>/dev/null | grep '"version"' || echo '未通过 npm 安装')" && \
|
|
229
|
+
echo "所有 codebuddy: $(which -a codebuddy 2>/dev/null || where codebuddy 2>/dev/null)"
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
如果排查后仍无法解决,请将上述命令的输出提交到 [Issues 页面](https://cnb.cool/codebuddy/codebuddy-code/-/issues)。
|
|
233
|
+
|
|
141
234
|
---
|
|
142
235
|
|
|
143
236
|
## 从 Claude Code 迁移
|
|
@@ -39,6 +39,8 @@ Command-line parameters to customize CodeBuddy Code behavior:
|
|
|
39
39
|
| `--allowedTools` | List of tools allowed without prompting the user, in addition to [settings.json file](./settings.md) | `"Bash(git log:*)" "Bash(git diff:*)" "Read"` |
|
|
40
40
|
| `--disallowedTools` | List of tools to disallow, in addition to [settings.json file](./settings.md) | `"Bash(git log:*)" "Bash(git diff:*)" "Edit"` |
|
|
41
41
|
| `--tools` | Restrict available built-in tool set (whitelist). Empty string `""` disables all built-in tools, `"default"` uses all tools, or specify comma-separated tool names. Supports `Defer(X)` / `NoDefer(X)` modifiers to adjust tool deferred loading status on demand; see [Tool Deferred Loading Override](tool-defer-overlay.md) | `codebuddy --tools "Bash,Read,Defer(Glob)"` |
|
|
42
|
+
| `--mcp-config <fileOrString>` | Load MCP server configuration from a JSON file or JSON string | `codebuddy --mcp-config ./mcp.json` |
|
|
43
|
+
| `--strict-mcp-config` | Only use MCP servers provided by `--mcp-config` or SDK `mcpServers`, ignoring user, project, and local `.mcp.json` file-based configurations; when not explicitly passed, interactive mode, `--serve`, and ACP will continue to load these file-based configurations | `codebuddy --serve --strict-mcp-config` |
|
|
42
44
|
| `--print`, `-p` | Print response and exit without entering interactive mode | `codebuddy -p "query"` |
|
|
43
45
|
| `--settings` | Load additional settings configuration from a JSON file or JSON string | `codebuddy --settings '{"model":"gpt-5"}' "query"` |
|
|
44
46
|
| `--setting-sources` | Specify which settings sources to load, comma-separated (options: `user`, `project`, `local`). Default: `user,project,local` | `codebuddy --setting-sources project,local "query"` |
|
|
@@ -176,8 +176,7 @@ Plan mode instructs CodeBuddy to create a plan by analyzing the codebase through
|
|
|
176
176
|
**Enable plan mode during a session**
|
|
177
177
|
|
|
178
178
|
You can toggle to plan mode during a session using the shortcut key to toggle permission modes:
|
|
179
|
-
-
|
|
180
|
-
- **Windows**: Press **Alt+M**
|
|
179
|
+
- All platforms: Press **Shift+Tab** (Windows also supports **Alt+M**)
|
|
181
180
|
|
|
182
181
|
If you're in normal mode, pressing the shortcut will first toggle to auto-accept mode, showing `⏵⏵ accept edits on` at the bottom of the terminal. Pressing it again will toggle to plan mode, showing `⏸ plan mode on`.
|
|
183
182
|
|
|
@@ -84,7 +84,7 @@ CodeBuddy Code automatically selects appropriate scenario models based on task t
|
|
|
84
84
|
|
|
85
85
|
For example, lightweight sub-agents like `contentAnalyzer` automatically use the `lite` model, reducing costs and improving speed while maintaining functionality.
|
|
86
86
|
|
|
87
|
-
The
|
|
87
|
+
The Agent tool supports specifying scenario type via the `model` parameter:
|
|
88
88
|
|
|
89
89
|
* `default`: Inherits parent model, suitable for general tasks
|
|
90
90
|
* `lite`: Fast and low-cost, suitable for simple searches and quick file operations
|
|
@@ -149,7 +149,7 @@ Vague requests like "improve this codebase" trigger broad scans. Precise request
|
|
|
149
149
|
|
|
150
150
|
For longer or more complex work, these habits help avoid wasting tokens on wrong directions:
|
|
151
151
|
|
|
152
|
-
* **Use plan mode for complex tasks**: Press Shift+Tab to enter plan mode. CodeBuddy Code will explore the codebase and propose approaches for your approval, avoiding expensive rework if the initial direction is wrong.
|
|
152
|
+
* **Use plan mode for complex tasks**: Press Shift+Tab (Alt+M is also supported on Windows) to enter plan mode. CodeBuddy Code will explore the codebase and propose approaches for your approval, avoiding expensive rework if the initial direction is wrong.
|
|
153
153
|
* **Correct direction early**: If CodeBuddy Code starts going in the wrong direction, press Escape to stop immediately. Use `/rewind` or double-tap Escape to restore conversation and code to a previous checkpoint.
|
|
154
154
|
* **Provide verification targets**: Include test cases, screenshots, or expected output in your prompts. When CodeBuddy Code can self-verify its work, it can catch issues before you need to request fixes.
|
|
155
155
|
* **Test incrementally**: Write one file, test it, then continue. This catches problems early while they're still easy to fix.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# Hooks Reference
|
|
2
2
|
|
|
3
|
-
> **Version requirement:** This guide targets the
|
|
3
|
+
> **Version requirement:** This guide targets the Hooks implementation shipped with CodeBuddy Code v1.16.0 and later.
|
|
4
4
|
> **Feature status:** Hooks are currently in **Beta**; APIs and runtime behavior may evolve.
|
|
5
5
|
|
|
6
|
-
Hooks let you inject custom scripts or commands into every stage of a CodeBuddy Code session so you can automate validation, bootstrap environments, run compliance checks, and more.
|
|
6
|
+
Hooks let you inject custom scripts or commands into every stage of a CodeBuddy Code session so you can automate validation, bootstrap environments, run compliance checks, and more.
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
## Configuration
|
|
@@ -195,6 +195,7 @@ Instead of running a bash command, the hook:
|
|
|
195
195
|
- **type** – Must be `"prompt"`.
|
|
196
196
|
- **prompt** – Text sent to the LLM. Use `$ARGUMENTS` as a placeholder for the hook input JSON, which will be directly replaced. When `$ARGUMENTS` is not present, the input JSON is appended in the format `\n\nARGUMENTS:\n{JSON}`.
|
|
197
197
|
- **timeout** – Optional timeout in seconds (default: 30s).
|
|
198
|
+
- **continueOnBlock** – (Optional) Whether to let the Agent continue working instead of stopping when the prompt hook returns `ok: false`. When set to `true`, the behavior is similar to `/goal`: the `reason` is injected into conversation history, and the Agent continues looping until the condition is met. Only meaningful for `Stop`/`SubagentStop` events. Defaults to `false` (Agent stops).
|
|
198
199
|
|
|
199
200
|
### Response Schema
|
|
200
201
|
|
|
@@ -236,6 +237,37 @@ The LLM must return JSON:
|
|
|
236
237
|
}
|
|
237
238
|
```
|
|
238
239
|
|
|
240
|
+
### Example: Persistent Stop Hook (continueOnBlock)
|
|
241
|
+
|
|
242
|
+
By setting `continueOnBlock: true`, a prompt Stop hook can drive the Agent to continue working when the condition is not met, similar to `/goal`:
|
|
243
|
+
|
|
244
|
+
```json
|
|
245
|
+
{
|
|
246
|
+
"hooks": {
|
|
247
|
+
"Stop": [
|
|
248
|
+
{
|
|
249
|
+
"hooks": [
|
|
250
|
+
{
|
|
251
|
+
"type": "prompt",
|
|
252
|
+
"prompt": "Check if all tests pass and code is properly formatted. Context: $ARGUMENTS\n\nIf tests pass and code is clean, return {\"ok\": true}.\nIf not, return {\"ok\": false, \"reason\": \"describe what still needs to be fixed\"}.",
|
|
253
|
+
"continueOnBlock": true,
|
|
254
|
+
"timeout": 30
|
|
255
|
+
}
|
|
256
|
+
]
|
|
257
|
+
}
|
|
258
|
+
]
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
When `continueOnBlock` is `true`:
|
|
264
|
+
- `ok: true` → Agent stops normally
|
|
265
|
+
- `ok: false` → `reason` is injected into conversation history, Agent continues working until the condition is met
|
|
266
|
+
- `ok: false, impossible: true` → Agent stops, displaying "goal cannot be achieved"
|
|
267
|
+
|
|
268
|
+
When `continueOnBlock` is `false` (default):
|
|
269
|
+
- `ok: false` → Agent stops, does not continue looping
|
|
270
|
+
|
|
239
271
|
### Example: UserPromptSubmit Validation
|
|
240
272
|
|
|
241
273
|
```json
|
|
@@ -488,7 +520,7 @@ Each hook receives JSON over stdin containing session metadata plus event-specif
|
|
|
488
520
|
|
|
489
521
|
### Stop & SubagentStop Input
|
|
490
522
|
|
|
491
|
-
`stop_hook_active` becomes `true` when
|
|
523
|
+
`stop_hook_active` becomes `true` when CodeBuddy Code has already continued due to a stop hook result.
|
|
492
524
|
|
|
493
525
|
```json
|
|
494
526
|
{
|
|
@@ -223,6 +223,12 @@ Or use the corresponding installation command with other package managers (pnpm,
|
|
|
223
223
|
source ~/.bashrc # or ~/.zshrc
|
|
224
224
|
```
|
|
225
225
|
|
|
226
|
+
### Still Old Version After Update
|
|
227
|
+
|
|
228
|
+
**Issue:** `npm install -g` shows successful installation, but `codebuddy --version` still shows the old version
|
|
229
|
+
|
|
230
|
+
This is usually caused by multiple `codebuddy` executables on the system (e.g., installed via both npm and Homebrew simultaneously, or nvm switched Node versions). For detailed troubleshooting steps, refer to [Troubleshooting - npm install succeeded but still running old version](./troubleshooting.md#npm-安装成功但执行的仍是旧版本).
|
|
231
|
+
|
|
226
232
|
### Network Issues
|
|
227
233
|
|
|
228
234
|
**Issue:** Network connection failure during installation or update
|