@tencent-ai/codebuddy-code 2.76.0-next.949c0a4.20260403 → 2.77.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 +27 -0
- package/dist/codebuddy-headless.js +88 -88
- package/dist/codebuddy.js +95 -95
- package/dist/web-ui/assets/{index-BC_Bh2yt.js → index-C25QEkQn.js} +107 -107
- package/dist/web-ui/docs/cn/cli/cli-reference.md +1 -0
- package/dist/web-ui/docs/cn/cli/env-vars.md +2 -0
- package/dist/web-ui/docs/cn/cli/http-api.md +117 -2
- package/dist/web-ui/docs/cn/cli/plugin-marketplaces.md +338 -61
- package/dist/web-ui/docs/cn/cli/plugins-reference.md +484 -420
- package/dist/web-ui/docs/cn/cli/plugins.md +333 -458
- package/dist/web-ui/docs/cn/cli/release-notes/README.md +5 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.72.0.md +26 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.73.0.md +21 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.74.0.md +15 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.75.0.md +6 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.76.0.md +9 -0
- package/dist/web-ui/docs/cn/cli/slash-commands.md +3 -0
- package/dist/web-ui/docs/en/cli/cli-reference.md +1 -0
- package/dist/web-ui/docs/en/cli/release-notes/README.md +5 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.72.0.md +26 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.73.0.md +21 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.74.0.md +15 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.75.0.md +6 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.76.0.md +9 -0
- package/dist/web-ui/docs/en/cli/slash-commands.md +3 -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/dist/web-ui/index.html +1 -1
- 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 +3 -2
- package/product.selfhosted.json +2 -2
|
@@ -52,6 +52,7 @@
|
|
|
52
52
|
| `--debug` | 启用调试模式,支持可选的类别过滤 | `codebuddy --debug` |
|
|
53
53
|
| `--worktree [name]` | 在独立的 git worktree 中运行(详见 [Worktree 文档](./worktree.md)) | `codebuddy --worktree` 或 `codebuddy --worktree my-feature` |
|
|
54
54
|
| `--tmux` | 在 tmux 会话中运行(与 `--worktree` 配合使用) | `codebuddy --worktree --tmux` |
|
|
55
|
+
| `--plugin-dir <dirs...>` | 从本地目录加载插件(用于开发/测试),可指定多个路径。详见 [插件文档](plugins.md) | `codebuddy --plugin-dir ./my-plugin ../other-plugin` |
|
|
55
56
|
|
|
56
57
|
> **重要提示**:在使用 `-p/--print` 参数进行非交互式执行时,涉及文件读写、命令执行、网络请求等操作通常需要添加 `-y` (或 `--dangerously-skip-permissions`)参数才能执行,否则操作会被阻止。
|
|
57
58
|
|
|
@@ -54,6 +54,8 @@ CodeBuddy Code 支持通过环境变量来控制其行为。这些变量可以
|
|
|
54
54
|
|---------|------|
|
|
55
55
|
| `CODEBUDDY_DISABLE_HOT_RELOAD` | 设置为 `1` 禁用热更新系统 |
|
|
56
56
|
| `CODEBUDDY_SKIP_BUILTIN_MARKETPLACE` | 设置为 `1` 跳过内置插件市场加载 |
|
|
57
|
+
| `CODEBUDDY_AUTO_UPDATE_THIRD_PARTY_MARKETPLACES` | 设置为 `true` 或 `1` 启用第三方插件市场自动更新(默认:禁用) |
|
|
58
|
+
| `CODEBUDDY_PLUGIN_DIRS` | 冒号分隔的本地插件目录路径列表(等同于 `--plugin-dir`),插件的 `bin/` 目录会自动注入到 `PATH` |
|
|
57
59
|
| `CODEBUDDY_IMAGE_GEN_ENABLED` | 设置为 `false` 或 `0` 禁用图片生成功能 |
|
|
58
60
|
| `CODEBUDDY_IMAGE_EDIT_ENABLED` | 设置为 `false` 或 `0` 禁用图片编辑功能 |
|
|
59
61
|
| `CODEBUDDY_DEFER_TOOL_LOADING` | 设置为 `false` 或 `0` 禁用 MCP 工具延迟加载 |
|
|
@@ -117,9 +117,11 @@ curl http://host:port/api/v1/sessions?password=YOUR_PASSWORD
|
|
|
117
117
|
|
|
118
118
|
| 方法 | 端点 | 说明 |
|
|
119
119
|
|------|------|------|
|
|
120
|
-
| GET | `/api/v1/sessions` |
|
|
120
|
+
| GET | `/api/v1/sessions` | 获取会话列表(支持 cwd 查询参数) |
|
|
121
121
|
| DELETE | `/api/v1/sessions/:id` | 删除会话 |
|
|
122
122
|
| POST | `/api/v1/sessions/:id/rename` | 重命名会话 |
|
|
123
|
+
| GET | `/api/v1/sessions/across-projects` | ⚠️ 已废弃,使用 `GET /api/v1/sessions?cwd=*` 代替 |
|
|
124
|
+
| GET | `/api/v1/sessions/workspaces` | ⚠️ 已废弃 |
|
|
123
125
|
|
|
124
126
|
### PTY(终端)
|
|
125
127
|
|
|
@@ -219,6 +221,31 @@ CBC 增强:
|
|
|
219
221
|
| GET | `/api/v1/file-changes/checkpoints` | 列出可回退的 checkpoint |
|
|
220
222
|
| POST | `/api/v1/file-changes/revert` | 撤回文件变更或回退到 checkpoint |
|
|
221
223
|
|
|
224
|
+
### 插件管理
|
|
225
|
+
|
|
226
|
+
| 方法 | 端点 | 说明 |
|
|
227
|
+
|------|------|------|
|
|
228
|
+
| GET | `/api/v1/plugins` | 列出已安装插件 |
|
|
229
|
+
| POST | `/api/v1/plugins` | 安装插件 |
|
|
230
|
+
| POST | `/api/v1/plugins/validate` | 验证插件/市场清单文件 |
|
|
231
|
+
| POST | `/api/v1/plugins/enable` | 启用插件 |
|
|
232
|
+
| POST | `/api/v1/plugins/disable` | 禁用插件 |
|
|
233
|
+
| POST | `/api/v1/plugins/uninstall` | 卸载插件 |
|
|
234
|
+
| GET | `/api/v1/plugins/marketplaces` | 列出已配置的插件市场 |
|
|
235
|
+
| POST | `/api/v1/plugins/marketplaces` | 添加插件市场 |
|
|
236
|
+
| POST | `/api/v1/plugins/marketplaces/browse` | 浏览市场中的可用插件 |
|
|
237
|
+
| DELETE | `/api/v1/plugins/marketplaces/:name` | 删除插件市场 |
|
|
238
|
+
|
|
239
|
+
### 配置管理
|
|
240
|
+
|
|
241
|
+
| 方法 | 端点 | 说明 |
|
|
242
|
+
|------|------|------|
|
|
243
|
+
| GET | `/api/v1/settings` | 列出所有配置 |
|
|
244
|
+
| GET | `/api/v1/settings/:key` | 获取单个配置值 |
|
|
245
|
+
| PUT | `/api/v1/settings/:key` | 设置配置值 |
|
|
246
|
+
| POST | `/api/v1/settings/:key/items` | 向数组类配置追加值 |
|
|
247
|
+
| POST | `/api/v1/settings/:key/remove` | 从数组类配置移除值 |
|
|
248
|
+
|
|
222
249
|
### 任务模板
|
|
223
250
|
|
|
224
251
|
| 方法 | 端点 | 说明 |
|
|
@@ -340,15 +367,32 @@ curl http://127.0.0.1:8080/api/v1/metrics
|
|
|
340
367
|
### 会话管理
|
|
341
368
|
|
|
342
369
|
```bash
|
|
343
|
-
#
|
|
370
|
+
# 获取当前工作空间的会话列表
|
|
344
371
|
curl http://127.0.0.1:8080/api/v1/sessions
|
|
345
372
|
|
|
373
|
+
# 获取所有工作空间的会话列表
|
|
374
|
+
curl http://127.0.0.1:8080/api/v1/sessions?cwd=*
|
|
375
|
+
|
|
376
|
+
# 获取指定工作目录的会话列表
|
|
377
|
+
curl http://127.0.0.1:8080/api/v1/sessions?cwd=/path/to/workspace
|
|
378
|
+
|
|
379
|
+
# 获取指定项目的会话列表(按压缩工作目录名过滤)
|
|
380
|
+
curl http://127.0.0.1:8080/api/v1/sessions?cwd=*&projectId=workspace-hash
|
|
381
|
+
|
|
346
382
|
# 重命名会话
|
|
347
383
|
curl -X POST http://127.0.0.1:8080/api/v1/sessions/SESSION_ID/rename \
|
|
348
384
|
-H "Content-Type: application/json" \
|
|
349
385
|
-d '{"name": "性能优化讨论"}'
|
|
350
386
|
```
|
|
351
387
|
|
|
388
|
+
**cwd 查询参数说明**:
|
|
389
|
+
|
|
390
|
+
| cwd 值 | 说明 |
|
|
391
|
+
|--------|------|
|
|
392
|
+
| 不传 | 返回当前工作空间的会话 |
|
|
393
|
+
| `*` | 返回所有工作空间的会话 |
|
|
394
|
+
| `/path/to/workspace` | 返回指定工作目录的会话 |
|
|
395
|
+
|
|
352
396
|
### 文件变更管理
|
|
353
397
|
|
|
354
398
|
```bash
|
|
@@ -378,6 +422,77 @@ curl -X POST http://127.0.0.1:8080/api/v1/file-changes/revert \
|
|
|
378
422
|
-d '{}'
|
|
379
423
|
```
|
|
380
424
|
|
|
425
|
+
### 插件管理
|
|
426
|
+
|
|
427
|
+
```bash
|
|
428
|
+
# 列出已安装插件
|
|
429
|
+
curl http://127.0.0.1:8080/api/v1/plugins
|
|
430
|
+
|
|
431
|
+
# 安装插件("name@marketplace" 格式)
|
|
432
|
+
curl -X POST http://127.0.0.1:8080/api/v1/plugins \
|
|
433
|
+
-H "Content-Type: application/json" \
|
|
434
|
+
-d '{"plugin": "my-plugin@my-marketplace"}'
|
|
435
|
+
|
|
436
|
+
# 启用插件
|
|
437
|
+
curl -X POST http://127.0.0.1:8080/api/v1/plugins/enable \
|
|
438
|
+
-H "Content-Type: application/json" \
|
|
439
|
+
-d '{"plugin": "my-plugin@my-marketplace"}'
|
|
440
|
+
|
|
441
|
+
# 禁用插件
|
|
442
|
+
curl -X POST http://127.0.0.1:8080/api/v1/plugins/disable \
|
|
443
|
+
-H "Content-Type: application/json" \
|
|
444
|
+
-d '{"plugin": "my-plugin@my-marketplace"}'
|
|
445
|
+
|
|
446
|
+
# 卸载插件
|
|
447
|
+
curl -X POST http://127.0.0.1:8080/api/v1/plugins/uninstall \
|
|
448
|
+
-H "Content-Type: application/json" \
|
|
449
|
+
-d '{"plugin": "my-plugin@my-marketplace"}'
|
|
450
|
+
|
|
451
|
+
# 列出插件市场
|
|
452
|
+
curl http://127.0.0.1:8080/api/v1/plugins/marketplaces
|
|
453
|
+
|
|
454
|
+
# 添加插件市场
|
|
455
|
+
curl -X POST http://127.0.0.1:8080/api/v1/plugins/marketplaces \
|
|
456
|
+
-H "Content-Type: application/json" \
|
|
457
|
+
-d '{"source": "https://example.com/marketplace", "name": "my-marketplace"}'
|
|
458
|
+
|
|
459
|
+
# 浏览市场中的插件
|
|
460
|
+
curl -X POST http://127.0.0.1:8080/api/v1/plugins/marketplaces/browse \
|
|
461
|
+
-H "Content-Type: application/json" \
|
|
462
|
+
-d '{"marketplace": "my-marketplace"}'
|
|
463
|
+
|
|
464
|
+
# 删除插件市场
|
|
465
|
+
curl -X DELETE http://127.0.0.1:8080/api/v1/plugins/marketplaces/my-marketplace
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
### 配置管理
|
|
469
|
+
|
|
470
|
+
```bash
|
|
471
|
+
# 列出所有配置
|
|
472
|
+
curl http://127.0.0.1:8080/api/v1/settings
|
|
473
|
+
|
|
474
|
+
# 按作用域列出配置
|
|
475
|
+
curl "http://127.0.0.1:8080/api/v1/settings?scope=user"
|
|
476
|
+
|
|
477
|
+
# 获取单个配置
|
|
478
|
+
curl http://127.0.0.1:8080/api/v1/settings/model
|
|
479
|
+
|
|
480
|
+
# 设置配置值
|
|
481
|
+
curl -X PUT http://127.0.0.1:8080/api/v1/settings/theme \
|
|
482
|
+
-H "Content-Type: application/json" \
|
|
483
|
+
-d '{"value": "dark"}'
|
|
484
|
+
|
|
485
|
+
# 向数组类配置追加值
|
|
486
|
+
curl -X POST http://127.0.0.1:8080/api/v1/settings/permissions/items \
|
|
487
|
+
-H "Content-Type: application/json" \
|
|
488
|
+
-d '{"values": ["Allow: Read(**)"]}'
|
|
489
|
+
|
|
490
|
+
# 从数组类配置移除值
|
|
491
|
+
curl -X POST http://127.0.0.1:8080/api/v1/settings/permissions/remove \
|
|
492
|
+
-H "Content-Type: application/json" \
|
|
493
|
+
-d '{"values": ["Allow: Read(**)"]}'
|
|
494
|
+
```
|
|
495
|
+
|
|
381
496
|
## 错误码
|
|
382
497
|
|
|
383
498
|
| 错误码 | HTTP 状态 | 说明 |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 插件市场(Plugin Marketplaces)
|
|
2
2
|
|
|
3
|
-
插件市场(Plugin Marketplace)是一个插件目录文件,用于分发和管理 CodeBuddy
|
|
3
|
+
插件市场(Plugin Marketplace)是一个插件目录文件,用于分发和管理 CodeBuddy Code 扩展。通过市场,你可以发现并安装来自不同来源的插件,无需自己构建。
|
|
4
4
|
|
|
5
5
|
## 核心功能
|
|
6
6
|
|
|
@@ -8,40 +8,63 @@
|
|
|
8
8
|
- **版本管理**:自动跟踪和更新插件版本
|
|
9
9
|
- **自动更新**:支持启用自动更新,定期同步市场内容
|
|
10
10
|
- **团队分发**:在组织内共享必需的插件
|
|
11
|
-
- **灵活来源**:支持
|
|
11
|
+
- **灵活来源**:支持 GitHub 仓库、Git URL、本地路径和 HTTP URL
|
|
12
|
+
- **两步流程**:先添加市场,再安装具体插件
|
|
12
13
|
|
|
13
|
-
##
|
|
14
|
+
## 官方市场
|
|
14
15
|
|
|
15
|
-
|
|
16
|
+
官方市场在 CodeBuddy Code 启动时自动可用。运行 `/plugin` 并进入**发现**标签页浏览可用插件。
|
|
16
17
|
|
|
17
|
-
|
|
18
|
-
- 基本了解 JSON 文件格式
|
|
19
|
-
- 创建 marketplace 需要:Git 仓库或本地开发环境
|
|
18
|
+
### 安装官方市场的插件
|
|
20
19
|
|
|
21
|
-
|
|
20
|
+
使用以下命令从官方市场安装插件:
|
|
22
21
|
|
|
23
|
-
|
|
22
|
+
```bash
|
|
23
|
+
/plugin install <插件名>@<官方市场名>
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
例如,安装 GitHub 集成:
|
|
24
27
|
|
|
25
28
|
```bash
|
|
26
|
-
/plugin
|
|
29
|
+
/plugin install github@codebuddy-plugins-official
|
|
27
30
|
```
|
|
28
31
|
|
|
29
|
-
|
|
32
|
+
## 添加市场
|
|
33
|
+
|
|
34
|
+
使用 `/plugin marketplace add` 命令从不同来源添加市场。
|
|
35
|
+
|
|
36
|
+
> 💡 **快捷方式**:可以使用 `/plugin market` 代替 `/plugin marketplace`,`rm` 代替 `remove`
|
|
30
37
|
|
|
31
|
-
|
|
38
|
+
### GitHub 仓库
|
|
39
|
+
|
|
40
|
+
添加包含 `.codebuddy-plugin/marketplace.json` 文件的 GitHub 仓库,使用 `owner/repo` 格式:
|
|
32
41
|
|
|
33
42
|
```bash
|
|
34
|
-
|
|
43
|
+
/plugin marketplace add your-org/codebuddy-plugins
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### 其他 Git 主机
|
|
47
|
+
|
|
48
|
+
添加来自 GitLab、Bitbucket 或其他 Git 服务的仓库:
|
|
49
|
+
|
|
50
|
+
使用 HTTPS:
|
|
51
|
+
```bash
|
|
35
52
|
/plugin marketplace add https://gitlab.com/company/plugins.git
|
|
53
|
+
```
|
|
36
54
|
|
|
37
|
-
|
|
55
|
+
使用 SSH:
|
|
56
|
+
```bash
|
|
38
57
|
/plugin marketplace add git@gitlab.com:company/plugins.git
|
|
58
|
+
```
|
|
39
59
|
|
|
40
|
-
|
|
41
|
-
|
|
60
|
+
指定特定分支或标签:
|
|
61
|
+
```bash
|
|
62
|
+
/plugin marketplace add https://gitlab.com/company/plugins.git#v1.0.0
|
|
42
63
|
```
|
|
43
64
|
|
|
44
|
-
|
|
65
|
+
### 本地路径
|
|
66
|
+
|
|
67
|
+
添加本地目录或 `marketplace.json` 文件(用于开发和测试):
|
|
45
68
|
|
|
46
69
|
```bash
|
|
47
70
|
# 添加包含 .codebuddy-plugin/marketplace.json 的本地目录
|
|
@@ -51,79 +74,314 @@
|
|
|
51
74
|
/plugin marketplace add ./path/to/marketplace.json
|
|
52
75
|
```
|
|
53
76
|
|
|
54
|
-
|
|
77
|
+
### 远程 URL
|
|
78
|
+
|
|
79
|
+
通过 HTTP(S) URL 添加托管的 `marketplace.json` 文件:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
/plugin marketplace add https://example.com/marketplace.json
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
> ⚠️ **注意**:URL 型市场相比 Git 型市场有一些限制。如果安装插件时遇到"路径未找到"错误,参见[故障排除](#url-型市场的相对路径问题)
|
|
86
|
+
|
|
87
|
+
## 安装插件
|
|
88
|
+
|
|
89
|
+
添加市场后,你可以直接安装插件(默认安装到用户作用域):
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
/plugin install <插件名>@<市场名>
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### 选择安装作用域
|
|
96
|
+
|
|
97
|
+
使用交互式界面选择[安装作用域](./settings.md#配置作用域):
|
|
98
|
+
|
|
99
|
+
1. 运行 `/plugin` 打开插件管理器
|
|
100
|
+
2. 进入**发现**标签页
|
|
101
|
+
3. 按 **Enter** 选择一个插件,查看作用域选项:
|
|
102
|
+
- **用户作用域**(默认):为你自己在所有项目中安装
|
|
103
|
+
- **项目作用域**:为所有协作者在此仓库中安装(添加到 `.codebuddy/settings.json`)
|
|
104
|
+
- **本地作用域**:仅为你自己在此仓库中安装(不与协作者共享)
|
|
105
|
+
- **托管作用域**:由管理员通过[托管设置](./settings.md#托管设置)安装(不可修改)
|
|
106
|
+
|
|
107
|
+
> 📌 **提示**:运行 `/plugin` 进入**已安装**标签页,查看按作用域分组的插件
|
|
108
|
+
|
|
109
|
+
## 管理已安装的插件
|
|
110
|
+
|
|
111
|
+
运行 `/plugin` 并进入**已安装**标签页来查看、启用、禁用或卸载插件。输入文本筛选插件列表。
|
|
112
|
+
|
|
113
|
+
### 快速管理命令
|
|
114
|
+
|
|
115
|
+
禁用插件(不卸载):
|
|
116
|
+
```bash
|
|
117
|
+
/plugin disable <插件名>@<市场名>
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
重新启用已禁用的插件:
|
|
121
|
+
```bash
|
|
122
|
+
/plugin enable <插件名>@<市场名>
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
完全卸载插件:
|
|
126
|
+
```bash
|
|
127
|
+
/plugin uninstall <插件名>@<市场名>
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
指定特定作用域:
|
|
131
|
+
```bash
|
|
132
|
+
/plugin install <插件名>@<市场名> --scope project
|
|
133
|
+
/plugin uninstall <插件名>@<市场名> --scope project
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### 无需重启应用更改
|
|
137
|
+
|
|
138
|
+
安装、启用或禁用插件后,运行 `/reload-plugins` 无需重启即可加载所有更改:
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
/reload-plugins
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
CodeBuddy Code 重新加载所有活跃插件,并显示插件数、技能数、代理数、钩子数、插件 MCP 服务器数和插件 LSP 服务器数的统计。
|
|
145
|
+
|
|
146
|
+
## 管理市场
|
|
147
|
+
|
|
148
|
+
通过交互式 `/plugin` 界面或命令行管理市场。
|
|
149
|
+
|
|
150
|
+
### 交互式界面管理
|
|
151
|
+
|
|
152
|
+
运行 `/plugin` 并进入**市场**标签页来:
|
|
153
|
+
|
|
154
|
+
- 查看所有已添加的市场及其来源和状态
|
|
155
|
+
- 添加新市场
|
|
156
|
+
- 更新市场列表以获取最新插件
|
|
157
|
+
- 移除不再需要的市场
|
|
158
|
+
|
|
159
|
+
### 命令行管理
|
|
160
|
+
|
|
161
|
+
列出所有已配置的市场:
|
|
162
|
+
```bash
|
|
163
|
+
/plugin marketplace list
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
刷新市场的插件列表:
|
|
167
|
+
```bash
|
|
168
|
+
/plugin marketplace update <市场名>
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
移除市场:
|
|
172
|
+
```bash
|
|
173
|
+
/plugin marketplace remove <市场名>
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
> ⚠️ **警告**:移除市场将卸载从该市场安装的所有插件
|
|
177
|
+
|
|
178
|
+
### 配置自动更新
|
|
179
|
+
|
|
180
|
+
CodeBuddy Code 可以在启动时自动更新市场及其已安装的插件。启用市场自动更新后,CodeBuddy Code 会刷新市场数据并将已安装插件更新到最新版本。如果任何插件被更新,你会看到提示运行 `/reload-plugins` 的通知。
|
|
181
|
+
|
|
182
|
+
**通过 UI 为单个市场切换自动更新**:
|
|
183
|
+
|
|
184
|
+
1. 运行 `/plugin` 打开插件管理器
|
|
185
|
+
2. 选择**市场**
|
|
186
|
+
3. 从列表中选择一个市场
|
|
187
|
+
4. 选择**启用自动更新**或**禁用自动更新**
|
|
188
|
+
|
|
189
|
+
官方市场默认启用自动更新。第三方和本地开发市场默认禁用自动更新。
|
|
190
|
+
|
|
191
|
+
**禁用所有自动更新**:
|
|
192
|
+
|
|
193
|
+
设置 `DISABLE_AUTOUPDATER` 环境变量可以禁用 CodeBuddy Code 和所有插件的自动更新。参见[自动更新](./env-vars.md#自动更新)。
|
|
194
|
+
|
|
195
|
+
**保持插件自动更新,禁用 CodeBuddy 自动更新**:
|
|
196
|
+
|
|
197
|
+
设置 `FORCE_AUTOUPDATE_PLUGINS=1` 和 `DISABLE_AUTOUPDATER=1`:
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
export DISABLE_AUTOUPDATER=1
|
|
201
|
+
export FORCE_AUTOUPDATE_PLUGINS=1
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
这样你可以手动管理 CodeBuddy Code 更新,同时自动接收插件更新。
|
|
205
|
+
|
|
206
|
+
## 官方市场内容
|
|
207
|
+
|
|
208
|
+
官方市场包含多个类别的插件:
|
|
209
|
+
|
|
210
|
+
### 代码智能
|
|
211
|
+
|
|
212
|
+
代码智能插件启用 CodeBuddy Code 内置的 LSP 工具,让 AI 能够跳转到定义、查找引用、查看类型错误等。这些插件配置 [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) 连接,与 VS Code 的代码智能相同。
|
|
213
|
+
|
|
214
|
+
这些插件要求在你的系统上安装语言服务器二进制文件。如果已经安装了语言服务器,打开项目时 CodeBuddy Code 可能会提示你安装对应的插件。
|
|
215
|
+
|
|
216
|
+
| 语言 | 插件 | 所需二进制文件 |
|
|
217
|
+
|------|------|----------------|
|
|
218
|
+
| C/C++ | `clangd-lsp` | `clangd` |
|
|
219
|
+
| C# | `csharp-lsp` | `csharp-ls` |
|
|
220
|
+
| Go | `gopls-lsp` | `gopls` |
|
|
221
|
+
| Java | `jdtls-lsp` | `jdtls` |
|
|
222
|
+
| Kotlin | `kotlin-lsp` | `kotlin-language-server` |
|
|
223
|
+
| Lua | `lua-lsp` | `lua-language-server` |
|
|
224
|
+
| PHP | `php-lsp` | `intelephense` |
|
|
225
|
+
| Python | `pyright-lsp` | `pyright-langserver` |
|
|
226
|
+
| Rust | `rust-analyzer-lsp` | `rust-analyzer` |
|
|
227
|
+
| Swift | `swift-lsp` | `sourcekit-lsp` |
|
|
228
|
+
| TypeScript | `typescript-lsp` | `typescript-language-server` |
|
|
229
|
+
|
|
230
|
+
你也可以为其他语言[创建自己的 LSP 插件](./plugins-reference.md#lsp-servers)
|
|
231
|
+
|
|
232
|
+
> ⚠️ **注意**:如果在 `/plugin` 错误标签页中看到 `Executable not found in $PATH`,请从上表中安装所需的二进制文件。
|
|
233
|
+
|
|
234
|
+
#### 代码智能插件的作用
|
|
235
|
+
|
|
236
|
+
安装代码智能插件并且语言服务器二进制文件可用后,CodeBuddy Code 获得两个能力:
|
|
237
|
+
|
|
238
|
+
* **自动诊断**:每次编辑后,语言服务器会自动分析更改并报告错误和警告。CodeBuddy Code 可以看到类型错误、缺失的导入和语法问题,无需运行编译器或 linter。如果引入错误,会在同一轮中注意到并修复。无需任何配置即可工作。按 **Ctrl+O** 可以内联查看诊断。
|
|
239
|
+
* **代码导航**:CodeBuddy Code 可以使用语言服务器跳转到定义、查找引用、获取类型信息等。这些操作提供比基于 grep 搜索更精确的导航,尽管可用性可能因语言和环境而异。
|
|
240
|
+
|
|
241
|
+
遇到问题参见[代码智能故障排除](#代码智能问题)
|
|
242
|
+
|
|
243
|
+
### 外部集成
|
|
244
|
+
|
|
245
|
+
这些插件捆绑了预配置的 [MCP 服务器](./mcp.md),让你无需手动设置即可连接 CodeBuddy Code 到外部服务:
|
|
246
|
+
|
|
247
|
+
* **源代码管理**:`github`、`gitlab`
|
|
248
|
+
* **项目管理**:`atlassian`(Jira/Confluence)、`asana`、`linear`、`notion`
|
|
249
|
+
* **设计**:`figma`
|
|
250
|
+
* **基础设施**:`vercel`、`firebase`、`supabase`
|
|
251
|
+
* **通信**:`slack`
|
|
252
|
+
* **监控**:`sentry`
|
|
253
|
+
|
|
254
|
+
### 开发工作流
|
|
255
|
+
|
|
256
|
+
为常见开发任务添加命令和代理的插件:
|
|
257
|
+
|
|
258
|
+
* **commit-commands**:Git 提交工作流,包括提交、推送和 PR 创建
|
|
259
|
+
* **pr-review-toolkit**:用于审查拉取请求的专用代理
|
|
260
|
+
* **plugin-dev**:创建自己的插件的工具包
|
|
261
|
+
|
|
262
|
+
### 输出样式
|
|
263
|
+
|
|
264
|
+
自定义 CodeBuddy Code 的响应方式:
|
|
265
|
+
|
|
266
|
+
* **explanatory-output-style**:关于实现选择的教育性见解
|
|
267
|
+
* **learning-output-style**:用于技能建设的交互式学习模式
|
|
268
|
+
|
|
269
|
+
## 试用:添加第三方市场
|
|
270
|
+
|
|
271
|
+
除了官方市场,你还可以添加第三方市场来获取更多插件。以下是完整的使用流程:
|
|
272
|
+
|
|
273
|
+
### 1. 添加市场
|
|
274
|
+
|
|
275
|
+
从 CodeBuddy Code 内运行 `plugin marketplace add` 命令添加市场:
|
|
55
276
|
|
|
56
277
|
```bash
|
|
57
|
-
|
|
58
|
-
/plugin marketplace add https://url.of/marketplace.json
|
|
278
|
+
/plugin marketplace add your-org/codebuddy-plugins
|
|
59
279
|
```
|
|
60
280
|
|
|
61
|
-
|
|
281
|
+
这会下载市场目录,使其插件对你可用。
|
|
282
|
+
|
|
283
|
+
### 2. 浏览可用插件
|
|
284
|
+
|
|
285
|
+
运行 `/plugin` 打开插件管理器。这打开一个选项卡界面,你可以使用 **Tab** 切换标签页(或使用 **Shift+Tab** 向后切换):
|
|
286
|
+
|
|
287
|
+
* **发现**:浏览所有市场中的可用插件
|
|
288
|
+
* **已安装**:查看和管理已安装的插件
|
|
289
|
+
* **市场**:添加、移除或更新市场
|
|
290
|
+
* **错误**:查看任何插件加载错误
|
|
291
|
+
|
|
292
|
+
进入**发现**标签页查看你刚添加的市场中的插件。
|
|
293
|
+
|
|
294
|
+
### 3. 安装插件
|
|
295
|
+
|
|
296
|
+
选择一个插件查看其详情,然后选择安装作用域:
|
|
297
|
+
|
|
298
|
+
* **用户作用域**:在所有项目中为你自己安装
|
|
299
|
+
* **项目作用域**:为此仓库的所有协作者安装
|
|
300
|
+
* **本地作用域**:仅在此仓库中为你自己安装
|
|
301
|
+
|
|
302
|
+
例如,选择 **commit-commands**(添加 Git 工作流命令的插件)并将其安装到用户作用域。
|
|
303
|
+
|
|
304
|
+
你也可以直接从命令行安装:
|
|
62
305
|
|
|
63
306
|
```bash
|
|
64
|
-
|
|
65
|
-
|
|
307
|
+
/plugin install commit-commands@your-org-codebuddy-plugins
|
|
308
|
+
```
|
|
66
309
|
|
|
67
|
-
|
|
68
|
-
|
|
310
|
+
参见[配置作用域](./settings.md#配置作用域)了解更多关于作用域的信息。
|
|
311
|
+
|
|
312
|
+
### 4. 使用新插件
|
|
313
|
+
|
|
314
|
+
安装后,运行 `/reload-plugins` 激活插件。插件命令按插件名称进行命名空间化,所以 **commit-commands** 提供命令如 `/commit-commands:commit`。
|
|
315
|
+
|
|
316
|
+
尝试通过修改文件并运行来使用:
|
|
317
|
+
|
|
318
|
+
```bash
|
|
319
|
+
/commit-commands:commit
|
|
69
320
|
```
|
|
70
321
|
|
|
71
|
-
|
|
322
|
+
这会暂存你的更改,生成提交信息并创建提交。
|
|
72
323
|
|
|
73
|
-
|
|
74
|
-
2. **浏览插件**:使用 `/plugin` 查看 marketplace 中的可用插件
|
|
75
|
-
3. **测试安装**:尝试安装一个插件以验证 marketplace 正常工作
|
|
324
|
+
每个插件工作方式都不同。查看**发现**标签页中的插件描述或其主页了解它提供的命令和功能。
|
|
76
325
|
|
|
77
|
-
##
|
|
326
|
+
## 团队市场配置
|
|
78
327
|
|
|
79
|
-
|
|
328
|
+
团队管理员可以通过将市场配置添加到 `.codebuddy/settings.json` 来为项目自动安装市场。当团队成员信任仓库文件夹时,CodeBuddy Code 会提示他们安装这些市场和插件。
|
|
80
329
|
|
|
81
|
-
|
|
330
|
+
在项目的 `.codebuddy/settings.json` 中添加 `extraKnownMarketplaces`:
|
|
82
331
|
|
|
83
332
|
```json
|
|
84
333
|
{
|
|
85
334
|
"extraKnownMarketplaces": {
|
|
86
|
-
"team-tools": {
|
|
335
|
+
"my-team-tools": {
|
|
87
336
|
"source": {
|
|
88
337
|
"source": "github",
|
|
89
338
|
"repo": "your-org/codebuddy-plugins"
|
|
90
339
|
}
|
|
91
|
-
},
|
|
92
|
-
"project-specific": {
|
|
93
|
-
"source": {
|
|
94
|
-
"source": "git",
|
|
95
|
-
"url": "https://git.company.com/project-plugins.git"
|
|
96
|
-
}
|
|
97
340
|
}
|
|
98
|
-
},
|
|
99
|
-
"enabledPlugins": {
|
|
100
|
-
"plugin-a@team-tools": true,
|
|
101
|
-
"plugin-b@team-tools": true
|
|
102
341
|
}
|
|
103
342
|
}
|
|
104
343
|
```
|
|
105
344
|
|
|
106
|
-
|
|
345
|
+
完整配置选项(包括 `extraKnownMarketplaces` 和 `enabledPlugins`),参见[插件设置](./settings.md#插件设置)
|
|
107
346
|
|
|
108
|
-
|
|
347
|
+
## 安全性
|
|
109
348
|
|
|
110
|
-
|
|
111
|
-
2. **市场安装**:自动安装 `extraKnownMarketplaces` 中未安装的市场
|
|
112
|
-
3. **插件安装**:自动安装 `enabledPlugins` 中已启用但未安装的插件
|
|
113
|
-
4. **后台执行**:安装过程在后台异步执行,不阻塞启动流程
|
|
114
|
-
5. **日志记录**:安装过程会记录详细日志,可通过 `--debug` 查看
|
|
349
|
+
插件和市场是高度受信任的组件,可以以你的用户权限在你的计算机上执行任意代码。仅从你信任的来源安装插件和添加市场。组织可以使用[托管市场限制](./settings.md#托管市场限制)限制用户允许添加的市场。
|
|
115
350
|
|
|
116
|
-
##
|
|
351
|
+
## 故障排除
|
|
352
|
+
|
|
353
|
+
### /plugin 命令未识别
|
|
117
354
|
|
|
118
|
-
|
|
355
|
+
如果看到"未知命令"或 `/plugin` 命令不出现:
|
|
119
356
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
-
|
|
357
|
+
1. **检查版本**:运行 `codebuddy --version` 查看已安装的版本
|
|
358
|
+
2. **更新 CodeBuddy Code**:
|
|
359
|
+
* **npm**:`npm update -g @tencent-ai/codebuddy-code`
|
|
360
|
+
* **本地安装器**:重新运行[安装](./installation.md)中的安装命令
|
|
361
|
+
3. **重启 CodeBuddy Code**:更新后,重启终端并再次运行 `codebuddy`
|
|
362
|
+
|
|
363
|
+
### 常见问题
|
|
123
364
|
|
|
124
|
-
|
|
365
|
+
* **市场无法加载**:验证 URL 可访问且路径中存在 `.codebuddy-plugin/marketplace.json`
|
|
366
|
+
* **插件安装失败**:检查插件源 URL 可访问且仓库为公开(或你有访问权限)
|
|
367
|
+
* **安装后文件未找到**:插件被复制到缓存,所以引用插件目录外的文件路径无法工作
|
|
368
|
+
* **插件技能不显示**:清除缓存 `rm -rf ~/.codebuddy/plugins/cache`,重启 CodeBuddy Code 并重新安装插件
|
|
125
369
|
|
|
126
|
-
|
|
370
|
+
更多故障排除方案参见[完整故障排除指南](./troubleshooting.md)。调试工具参见[调试和开发工具](./plugins-reference.md#调试和开发工具)
|
|
371
|
+
|
|
372
|
+
### 代码智能问题
|
|
373
|
+
|
|
374
|
+
* **语言服务器未启动**:验证二进制文件已安装且在 `$PATH` 中。检查 `/plugin` 错误标签页了解详情
|
|
375
|
+
* **高内存使用**:`rust-analyzer` 和 `pyright` 等语言服务器在大型项目上可能消耗大量内存。如果遇到内存问题,使用 `/plugin disable <插件名>` 禁用插件并依赖 CodeBuddy Code 的内置搜索工具
|
|
376
|
+
* **Monorepo 中误报诊断**:如果工作区配置不正确,语言服务器可能报告内部包的未解析导入错误。这不影响 CodeBuddy Code 编辑代码的能力
|
|
377
|
+
|
|
378
|
+
### URL 型市场的相对路径问题
|
|
379
|
+
|
|
380
|
+
如果从 URL 型市场安装插件时遇到"路径未找到"错误,这是因为相对路径参考问题。使用 Git 型市场(GitHub、GitLab 等)或将所有路径更改为绝对 URL 作为解决方案。
|
|
381
|
+
|
|
382
|
+
## 创建自己的市场
|
|
383
|
+
|
|
384
|
+
在仓库中创建 `.codebuddy-plugin/marketplace.json`:
|
|
127
385
|
|
|
128
386
|
```json
|
|
129
387
|
{
|
|
@@ -151,9 +409,9 @@
|
|
|
151
409
|
}
|
|
152
410
|
```
|
|
153
411
|
|
|
154
|
-
|
|
412
|
+
参见[插件引用](./plugins-reference.md)了解完整的市场和插件配置选项。
|
|
155
413
|
|
|
156
|
-
|
|
414
|
+
## 后续步骤
|
|
157
415
|
|
|
158
416
|
| 字段 | 类型 | 描述 |
|
|
159
417
|
|------|------|------|
|
|
@@ -374,7 +632,24 @@
|
|
|
374
632
|
|
|
375
633
|
可以为市场启用自动更新功能,CodeBuddy 会在启动时自动检查并更新已启用的市场。
|
|
376
634
|
|
|
377
|
-
|
|
635
|
+
**内置市场**:默认启用自动更新
|
|
636
|
+
|
|
637
|
+
**第三方市场**:默认禁用自动更新,可通过以下方式启用:
|
|
638
|
+
|
|
639
|
+
#### 方式 1:通过环境变量全局启用
|
|
640
|
+
|
|
641
|
+
为所有第三方市场启用自动更新:
|
|
642
|
+
|
|
643
|
+
```bash
|
|
644
|
+
export CODEBUDDY_AUTO_UPDATE_THIRD_PARTY_MARKETPLACES=true
|
|
645
|
+
codebuddy
|
|
646
|
+
```
|
|
647
|
+
|
|
648
|
+
#### 方式 2:通过产品配置启用
|
|
649
|
+
|
|
650
|
+
在 product 配置中设置 `autoUpdateThirdPartyMarketplaces: true`,为所有第三方市场启用自动更新。
|
|
651
|
+
|
|
652
|
+
#### 方式 3:通过 UI 单个管理
|
|
378
653
|
|
|
379
654
|
1. 运行 `/plugin` 命令进入插件管理界面
|
|
380
655
|
2. 选择「Marketplaces」查看市场列表
|
|
@@ -388,6 +663,8 @@
|
|
|
388
663
|
- 多个市场间隔 2 秒依次更新,避免资源竞争
|
|
389
664
|
- 更新失败不影响其他市场,错误记录到日志
|
|
390
665
|
|
|
666
|
+
**优先级**:环境变量 > 产品配置 > UI 配置
|
|
667
|
+
|
|
391
668
|
## 实现原理
|
|
392
669
|
|
|
393
670
|
### 市场类型
|