@tencent-ai/codebuddy-code 2.97.5-next.c5a44af.20260523 → 2.98.1
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 +29 -0
- package/dist/codebuddy-headless.js +92 -90
- package/dist/codebuddy.js +99 -97
- package/dist/web-ui/docs/cn/cli/codebuddy-dir.md +309 -0
- package/dist/web-ui/docs/cn/cli/env-vars.md +21 -0
- package/dist/web-ui/docs/cn/cli/http-api.md +6 -0
- package/dist/web-ui/docs/cn/cli/ide-integrations.md +2 -1
- package/dist/web-ui/docs/cn/cli/monitoring.md +87 -0
- package/dist/web-ui/docs/cn/cli/release-notes/README.md +7 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.96.1.md +17 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.97.0.md +186 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.97.1.md +24 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.97.2.md +16 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.97.3.md +17 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.97.4.md +9 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.97.5.md +20 -0
- package/dist/web-ui/docs/en/cli/codebuddy-dir.md +309 -0
- package/dist/web-ui/docs/en/cli/env-vars.md +23 -2
- package/dist/web-ui/docs/en/cli/http-api.md +6 -0
- package/dist/web-ui/docs/en/cli/ide-integrations.md +2 -1
- package/dist/web-ui/docs/en/cli/monitoring.md +87 -0
- package/dist/web-ui/docs/en/cli/release-notes/README.md +7 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.96.1.md +17 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.97.0.md +186 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.97.1.md +24 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.97.2.md +16 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.97.3.md +17 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.97.4.md +9 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.97.5.md +20 -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/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
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
# .codebuddy 目录结构说明
|
|
2
|
+
|
|
3
|
+
> 深入了解 CodeBuddy Code 的配置目录 `~/.codebuddy` 和项目级 `.codebuddy` 的文件与子目录。
|
|
4
|
+
|
|
5
|
+
CodeBuddy Code 使用两种配置目录:
|
|
6
|
+
|
|
7
|
+
- **全局目录** `~/.codebuddy/`:存储用户级配置、历史数据、运行时数据等,影响所有项目
|
|
8
|
+
- **项目目录** `.codebuddy/`(位于项目根目录):存储项目级配置、规则、技能、命令等,随项目版本控制共享给团队
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### 用户级扩展目录
|
|
12
|
+
|
|
13
|
+
#### `agents/`
|
|
14
|
+
|
|
15
|
+
存放对所有项目生效的用户级自定义子代理。每个代理为一个 `.md` 文件:
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
~/.codebuddy/agents/
|
|
19
|
+
├── code-reviewer.md # 代码审查代理
|
|
20
|
+
└── translator.md # 翻译代理
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
文件格式(YAML frontmatter + 系统提示):
|
|
24
|
+
|
|
25
|
+
```markdown
|
|
26
|
+
---
|
|
27
|
+
name: code-reviewer
|
|
28
|
+
description: 代码审查专家,在编写代码后主动使用
|
|
29
|
+
tools: Read, Grep, Glob, Bash
|
|
30
|
+
model: inherit
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
你是一位高级代码审查员,专注于代码质量、安全性和最佳实践...
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
详见 [子代理文档](sub-agents.md)。
|
|
37
|
+
|
|
38
|
+
#### `rules/`
|
|
39
|
+
|
|
40
|
+
存放对所有项目生效的用户级规则文件。所有 `.md` 文件自动加载,支持子目录:
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
~/.codebuddy/rules/
|
|
44
|
+
├── preferences.md # 个人编码偏好
|
|
45
|
+
└── workflows.md # 常用工作流规范
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
规则文件支持 frontmatter 控制加载行为:
|
|
49
|
+
|
|
50
|
+
```markdown
|
|
51
|
+
---
|
|
52
|
+
alwaysApply: false
|
|
53
|
+
paths: src/**/*.ts
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
# TypeScript 规范
|
|
57
|
+
|
|
58
|
+
- 优先使用 `interface` 而非 `type`
|
|
59
|
+
- 禁止使用 `any`
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
详见 [记忆管理 - 规则系统](memory.md#使用-codebuddyrules-实现模块化规则)。
|
|
63
|
+
|
|
64
|
+
#### `skills/`
|
|
65
|
+
|
|
66
|
+
存放对所有项目生效的用户级技能。每个技能为独立目录,包含 `SKILL.md`:
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
~/.codebuddy/skills/
|
|
70
|
+
└── pdf/
|
|
71
|
+
└── SKILL.md
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
详见 [Skills 文档](skills.md)。
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
### 运行时数据目录
|
|
79
|
+
|
|
80
|
+
这些目录由 CodeBuddy Code 自动维护,通常无需手动操作:
|
|
81
|
+
|
|
82
|
+
| 目录 | 说明 |
|
|
83
|
+
|------|------|
|
|
84
|
+
| `projects/` | 各项目运行时数据,包括会话记录(`.jsonl`)和子代理工具输出(`tool-results/`) |
|
|
85
|
+
| `sessions/` | 活跃会话数据 |
|
|
86
|
+
| `plans/` | 计划模式生成的计划文件 |
|
|
87
|
+
| `logs/` | 运行日志,按日期和进程分组 |
|
|
88
|
+
| `traces/` | OpenTelemetry 执行追踪数据 |
|
|
89
|
+
| `file-history/` | 每个会话中操作过的文件快照,用于 `/rewind` 回退 |
|
|
90
|
+
| `history.jsonl` | 全局对话历史(用于 `/resume` 恢复) |
|
|
91
|
+
| `blobs/` | 图片、截图等二进制资源,按内容哈希存储 |
|
|
92
|
+
| `tasks/` | 任务管理系统数据(TaskCreate/TaskUpdate) |
|
|
93
|
+
| `teams/` | Agent 团队(TeamCreate)运行时数据 |
|
|
94
|
+
| `shell-snapshots/` | Bash 沙箱启动快照,加速沙箱创建 |
|
|
95
|
+
| `plugins/` | 已安装插件的文件内容 |
|
|
96
|
+
| `local_storage/` | CLI 内部键值持久化存储(以内容哈希命名的 `.info` 文件) |
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## 项目目录 `.codebuddy/`
|
|
101
|
+
|
|
102
|
+
放置于项目根目录,可以提交到版本控制以供团队共享:
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
.codebuddy/
|
|
106
|
+
├── settings.json # 项目共享配置
|
|
107
|
+
├── settings.local.json # 本地个人配置(.gitignore 自动忽略)
|
|
108
|
+
├── CODEBUDDY.md # 项目级记忆文件
|
|
109
|
+
│
|
|
110
|
+
├── agents/ # 项目级自定义子代理
|
|
111
|
+
├── rules/ # 项目级规则文件
|
|
112
|
+
├── skills/ # 项目级技能
|
|
113
|
+
├── commands/ # 自定义斜杠命令
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### 配置文件
|
|
117
|
+
|
|
118
|
+
#### `settings.json`
|
|
119
|
+
|
|
120
|
+
项目共享配置,通过版本控制与团队同步。适合配置项目统一的模型、权限规则、插件等:
|
|
121
|
+
|
|
122
|
+
```json
|
|
123
|
+
{
|
|
124
|
+
"permissions": {
|
|
125
|
+
"allow": ["Read", "Edit", "Bash(git:*)", "Bash(npm:*)"],
|
|
126
|
+
"deny": ["Read(./.env)", "Read(./secrets/**)"]
|
|
127
|
+
},
|
|
128
|
+
"enabledPlugins": {
|
|
129
|
+
"pr-review-toolkit@company-tools": true
|
|
130
|
+
},
|
|
131
|
+
"extraKnownMarketplaces": {
|
|
132
|
+
"company-tools": {
|
|
133
|
+
"source": {
|
|
134
|
+
"source": "github",
|
|
135
|
+
"repo": "myorg/codebuddy-plugins"
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
#### `settings.local.json`
|
|
143
|
+
|
|
144
|
+
本地个人配置,CodeBuddy Code 会自动将其加入 `.gitignore`。适合存储个人覆盖项(如本地调试端口、个人密钥等),不会影响团队其他成员。
|
|
145
|
+
|
|
146
|
+
#### `CODEBUDDY.md`
|
|
147
|
+
|
|
148
|
+
项目级记忆文件,随版本控制共享。存储项目架构、约定、常用命令等团队知识:
|
|
149
|
+
|
|
150
|
+
```markdown
|
|
151
|
+
# 项目说明
|
|
152
|
+
|
|
153
|
+
本项目是 TypeScript monorepo(Yarn workspaces)。
|
|
154
|
+
|
|
155
|
+
## 常用命令
|
|
156
|
+
|
|
157
|
+
- `yarn build` — 构建所有包
|
|
158
|
+
- `yarn test` — 运行所有测试
|
|
159
|
+
|
|
160
|
+
## 架构约定
|
|
161
|
+
|
|
162
|
+
- 使用 CellJS 依赖注入框架
|
|
163
|
+
- 协议定义放在 `*-protocol.ts` 文件
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
> **提示**:也可将记忆文件放在根目录的 `CODEBUDDY.md`(不在 `.codebuddy/` 内),两种位置等效。
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
### 项目级扩展目录
|
|
171
|
+
|
|
172
|
+
#### `agents/`
|
|
173
|
+
|
|
174
|
+
存放项目专属子代理,优先级高于用户级代理。同名代理时项目级覆盖用户级。
|
|
175
|
+
|
|
176
|
+
```
|
|
177
|
+
.codebuddy/agents/
|
|
178
|
+
├── blog-translator.md # 博客翻译代理
|
|
179
|
+
└── docs-reviewer.md # 文档审查代理
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
#### `rules/`
|
|
183
|
+
|
|
184
|
+
存放项目级规则,随版本控制共享。适合团队统一的代码规范、工作流约定等。支持子目录组织:
|
|
185
|
+
|
|
186
|
+
```
|
|
187
|
+
.codebuddy/rules/
|
|
188
|
+
├── code-style.md # 代码风格规范
|
|
189
|
+
├── testing.md # 测试规范
|
|
190
|
+
├── security.md # 安全要求
|
|
191
|
+
└── frontend/
|
|
192
|
+
├── react.md # React 组件规范
|
|
193
|
+
└── styles.md # 样式规范
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
所有 `.md` 文件自动递归加载。
|
|
197
|
+
|
|
198
|
+
#### `skills/`
|
|
199
|
+
|
|
200
|
+
存放项目级技能,每个技能一个目录,包含 `SKILL.md` 和可选的辅助文件:
|
|
201
|
+
|
|
202
|
+
```
|
|
203
|
+
.codebuddy/skills/
|
|
204
|
+
├── case-executor/
|
|
205
|
+
│ ├── SKILL.md # 技能定义
|
|
206
|
+
│ ├── scripts/ # 辅助脚本
|
|
207
|
+
│ └── references/ # 参考资料
|
|
208
|
+
└── cnb-api/
|
|
209
|
+
└── SKILL.md
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
`SKILL.md` 格式:
|
|
213
|
+
|
|
214
|
+
```markdown
|
|
215
|
+
---
|
|
216
|
+
name: case-executor
|
|
217
|
+
description: 执行 JSON 测试用例并生成报告
|
|
218
|
+
allowed-tools: Read, Write, Bash
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
你是测试执行专家,负责运行 JSON 格式的 UI 测试用例...
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
详见 [Skills 文档](skills.md)。
|
|
225
|
+
|
|
226
|
+
#### `commands/`
|
|
227
|
+
|
|
228
|
+
存放自定义斜杠命令,通过 `/command-name` 触发。支持目录嵌套(使用 `/group:command` 调用):
|
|
229
|
+
|
|
230
|
+
```
|
|
231
|
+
.codebuddy/commands/
|
|
232
|
+
├── deploy.md # /deploy 命令
|
|
233
|
+
├── team/
|
|
234
|
+
│ ├── issue-start.md # /team:issue-start 命令
|
|
235
|
+
│ └── create-issue.md # /team:create-issue 命令
|
|
236
|
+
└── openspec/
|
|
237
|
+
└── propose.md # /openspec:propose 命令
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
命令文件格式:
|
|
241
|
+
|
|
242
|
+
```markdown
|
|
243
|
+
---
|
|
244
|
+
description: 创建一个新的 Issue
|
|
245
|
+
argument-hint: "<描述> ; <类型> ; <产品>"
|
|
246
|
+
allowed-tools: Bash
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
根据以下描述创建 Issue:$ARGUMENTS
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
详见 [斜杠命令文档](slash-commands.md)。
|
|
253
|
+
|
|
254
|
+
---
|
|
255
|
+
|
|
256
|
+
## 配置优先级
|
|
257
|
+
|
|
258
|
+
多层配置按以下优先级应用(高优先级覆盖低优先级):
|
|
259
|
+
|
|
260
|
+
```
|
|
261
|
+
命令行参数 (最高优先级)
|
|
262
|
+
↓
|
|
263
|
+
.codebuddy/settings.local.json (项目本地,不提交版本控制)
|
|
264
|
+
↓
|
|
265
|
+
.codebuddy/settings.json (项目共享,团队统一)
|
|
266
|
+
↓
|
|
267
|
+
~/.codebuddy/settings.json (用户全局,个人偏好)
|
|
268
|
+
↓
|
|
269
|
+
产品内置默认配置 (最低优先级)
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
代理/技能/规则的优先级:**项目级 > 用户级 > 插件级**,同名时项目级优先。
|
|
273
|
+
|
|
274
|
+
## 记忆加载顺序
|
|
275
|
+
|
|
276
|
+
```
|
|
277
|
+
1. 用户级记忆:~/.codebuddy/CODEBUDDY.md
|
|
278
|
+
2. 用户级规则:~/.codebuddy/rules/*.md(递归)
|
|
279
|
+
3. 项目级记忆:CODEBUDDY.md(从 cwd 向上递归查找)
|
|
280
|
+
4. 项目级规则:.codebuddy/rules/*.md(仅 cwd,不向上)
|
|
281
|
+
5. 项目本地记忆:CODEBUDDY.local.md
|
|
282
|
+
6. 子目录记忆:工具操作文件时动态加载该子目录的 CODEBUDDY.md
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
## 版本控制建议
|
|
286
|
+
|
|
287
|
+
| 文件/目录 | 是否提交版本控制 | 说明 |
|
|
288
|
+
|-----------|:---:|------|
|
|
289
|
+
| `.codebuddy/settings.json` | ✅ 建议提交 | 团队共享配置 |
|
|
290
|
+
| `.codebuddy/settings.local.json` | ❌ 不提交 | 自动添加至 .gitignore |
|
|
291
|
+
| `CODEBUDDY.md` / `.codebuddy/CODEBUDDY.md` | ✅ 建议提交 | 团队共享知识 |
|
|
292
|
+
| `CODEBUDDY.local.md` | ❌ 不提交 | 自动添加至 .gitignore |
|
|
293
|
+
| `.codebuddy/agents/` | ✅ 建议提交 | 团队共享子代理 |
|
|
294
|
+
| `.codebuddy/rules/` | ✅ 建议提交 | 团队共享规则 |
|
|
295
|
+
| `.codebuddy/skills/` | ✅ 建议提交 | 团队共享技能 |
|
|
296
|
+
| `.codebuddy/commands/` | ✅ 建议提交 | 团队共享命令 |
|
|
297
|
+
|
|
298
|
+
## 相关资源
|
|
299
|
+
|
|
300
|
+
- [设置配置](settings.md) — 完整的配置字段参考
|
|
301
|
+
- [记忆管理](memory.md) — CODEBUDDY.md 和规则系统详解
|
|
302
|
+
- [子代理](sub-agents.md) — 创建和使用自定义子代理
|
|
303
|
+
- [Skills 文档](skills.md) — 技能系统详解
|
|
304
|
+
- [斜杠命令](slash-commands.md) — 自定义命令参考
|
|
305
|
+
- [MCP 文档](mcp.md) — MCP 服务器配置
|
|
306
|
+
|
|
307
|
+
---
|
|
308
|
+
|
|
309
|
+
*合理利用 `.codebuddy` 目录,让 CodeBuddy Code 更了解你的项目和团队规范。*
|
|
@@ -41,6 +41,8 @@ CodeBuddy Code 支持通过环境变量来控制其行为。这些变量可以
|
|
|
41
41
|
| `BASH_MAX_TIMEOUT_MS` | 模型可为长时间运行的 bash 命令设置的最大超时(默认:600000) |
|
|
42
42
|
| `CODEBUDDY_BASH_ASSISTANT_BUDGET_MS` | 主对话响应预算(毫秒,默认 `0`=关闭)。设为 `>0` 时,主会话的前台 Bash/PowerShell 命令超过该时长会自动转为后台任务让对话保持响应。sub-agent 不受此预算影响。对齐 Claude Code 的 `ASSISTANT_BLOCKING_BUDGET_MS`(CC 官方默认值 `15000`) |
|
|
43
43
|
| `CODEBUDDY_BASH_AUTO_BACKGROUND_DISABLED` | 设为 `1` 关闭超时自动后台化,前台命令到 timeout 回到旧的 SIGTERM/kill 硬杀行为。仅用于调试或遇到回归时临时回滚;正常场景保持默认(未设置) |
|
|
44
|
+
| `CODEBUDDY_BASH_BG_MAX_OUTPUT_BYTES` | 后台 bash 任务 stdout+stderr 落盘文件总字节上限(默认 `52428800` = 50MB)。超过则 size watchdog 触发 `SIGKILL` 并标记任务为 `killed`,stderr 末尾会注入提示。Claude Code 在 `ShellCommand.ts` 把同等阈值写死为常量,这里暴露为 env 给运维做调节。仅在文件 fd 模式生效(pipe 模式下子进程输出不落盘) |
|
|
45
|
+
| `CODEBUDDY_BASH_BG_PIPE_MODE` | 设为 `1` 强制后台任务回到 pipe 模式(不走文件 fd),用于回滚或调试。默认(未设置)走文件 fd 模式,解决 nohup 等命令孙进程持有父 pipe fd 导致僵尸进程的问题;sandbox 路径会自动回退 pipe,不需要显式设置。Claude Code 没有等价开关,这是 codebuddy 兼容旧 sandbox/PTY 路径的兜底 |
|
|
44
46
|
|
|
45
47
|
## 工具输出外部化
|
|
46
48
|
|
|
@@ -64,6 +66,7 @@ CodeBuddy Code 支持通过环境变量来控制其行为。这些变量可以
|
|
|
64
66
|
| `CODEBUDDY_DEFER_TOOL_LOADING` | 设置为 `false` 或 `0` 禁用 MCP 工具延迟加载 |
|
|
65
67
|
| `CODEBUDDY_SHOW_ALL_DEFERRED_TOOLS` | 设置为 `true` 或 `1` 显示所有延迟工具的完整描述 |
|
|
66
68
|
| `CODEBUDDY_DISABLE_CRON` | 设置为 `1` 禁用计划任务 |
|
|
69
|
+
| `CODEBUDDY_DISABLE_FORK_SUBAGENT` | 设置为 `1` 禁用 Agent 工具的 Fork 子代理模式(`subagent_type="fork"`)。启用后 Agent 工具描述会自动隐藏 fork-mode 段落,模型不会看到该功能;若模型仍然传 `subagent_type="fork"`,运行时会回落到名为 `fork` 的自定义代理(如用户在 `.codebuddy/agents/fork.md` 定义),否则改写为 `general-purpose` 普通子代理。适用于需要避免 fork 递归派生导致请求量放大的宿主场景 |
|
|
67
70
|
| `CODEBUDDY_REHYDRATE_IMAGE_BLOB_REFS` | 设置为 `true` 在 `-p` 模式流式输出中将图片 blob 引用还原为完整 base64 数据。适用于需要直接获取图片数据的下游集成场景 |
|
|
68
71
|
|
|
69
72
|
## 上下文和内存
|
|
@@ -145,6 +148,24 @@ CodeBuddy Code 支持通过环境变量来控制其行为。这些变量可以
|
|
|
145
148
|
| `DISABLE_AUTOUPDATER` | 设置为 `1` 禁用自动更新 |
|
|
146
149
|
| `DISABLE_FEEDBACK_COMMAND` | 设置为 `1` 禁用 `/feedback` 命令 |
|
|
147
150
|
|
|
151
|
+
### OpenTelemetry 自定义上报(traces)
|
|
152
|
+
|
|
153
|
+
CodeBuddy Code 支持把内部 traces 通过 OTLP 协议上报到用户自有的 Collector,环境变量遵循 [OpenTelemetry 规范](https://opentelemetry.io/docs/specs/otel/protocol/exporter/)。详细使用方式见 [Monitoring](monitoring.md)。
|
|
154
|
+
|
|
155
|
+
| 环境变量 | 说明 |
|
|
156
|
+
|---------|------|
|
|
157
|
+
| `CODEBUDDY_CODE_ENABLE_TELEMETRY` | 设置为 `1` 启用 OTel 自定义上报;为兼容从 Claude Code 迁移的客户,`CLAUDE_CODE_ENABLE_TELEMETRY` 同样生效 |
|
|
158
|
+
| `OTEL_TRACES_EXPORTER` | `otlp`(默认)/ `console`(输出到日志,便于调试)/ `none`(关闭) |
|
|
159
|
+
| `OTEL_EXPORTER_OTLP_ENDPOINT` | 通用 OTLP endpoint,工具会自动追加 `/v1/traces` |
|
|
160
|
+
| `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT` | traces 专用 endpoint,作为完整 URL 使用,优先级高于通用变量 |
|
|
161
|
+
| `OTEL_EXPORTER_OTLP_HEADERS` | OTLP 请求头,格式 `k1=v1,k2=v2`,value 支持 URL 编码 |
|
|
162
|
+
| `OTEL_EXPORTER_OTLP_TRACES_HEADERS` | traces 专用请求头,优先级高于通用变量 |
|
|
163
|
+
| `OTEL_EXPORTER_OTLP_PROTOCOL` | 仅支持 `http/protobuf`(默认);其他值(如 `grpc`、`http/json`)会回退并打告警 |
|
|
164
|
+
| `OTEL_SERVICE_NAME` | 覆盖默认 `service.name` |
|
|
165
|
+
| `OTEL_RESOURCE_ATTRIBUTES` | 资源属性,格式 `k1=v1,k2=v2`,会合并进 trace resource |
|
|
166
|
+
|
|
167
|
+
> 当 `DISABLE_TELEMETRY=1` 时,无论上述变量如何设置,OTel 上报均关闭。
|
|
168
|
+
|
|
148
169
|
## 任务和后台工作
|
|
149
170
|
|
|
150
171
|
| 环境变量 | 说明 |
|
|
@@ -287,6 +287,7 @@ CBC 增强:
|
|
|
287
287
|
| GET | `/api/v1/plugins/marketplaces` | 列出已配置的插件市场 |
|
|
288
288
|
| POST | `/api/v1/plugins/marketplaces` | 添加插件市场 |
|
|
289
289
|
| POST | `/api/v1/plugins/marketplaces/browse` | 浏览市场中的可用插件 |
|
|
290
|
+
| POST | `/api/v1/plugins/marketplaces/update` | 更新市场(同步远端仓库内容) |
|
|
290
291
|
| DELETE | `/api/v1/plugins/marketplaces/:name` | 删除插件市场 |
|
|
291
292
|
|
|
292
293
|
### 配置管理
|
|
@@ -547,6 +548,11 @@ curl -X POST http://127.0.0.1:8080/api/v1/plugins/marketplaces/browse \
|
|
|
547
548
|
-H "Content-Type: application/json" \
|
|
548
549
|
-d '{"marketplace": "my-marketplace"}'
|
|
549
550
|
|
|
551
|
+
# 更新市场(真正从远端拉取最新内容)
|
|
552
|
+
curl -X POST http://127.0.0.1:8080/api/v1/plugins/marketplaces/update \
|
|
553
|
+
-H "Content-Type: application/json" \
|
|
554
|
+
-d '{"marketplace": "my-marketplace"}'
|
|
555
|
+
|
|
550
556
|
# 删除插件市场
|
|
551
557
|
curl -X DELETE http://127.0.0.1:8080/api/v1/plugins/marketplaces/my-marketplace
|
|
552
558
|
```
|
|
@@ -42,7 +42,8 @@ codebuddy --ide
|
|
|
42
42
|
|
|
43
43
|
- CodeBuddy 会在当前用户目录下扫描由 IDE 插件创建的锁文件,检测可用的 IDE 实例
|
|
44
44
|
- 仅当 IDE 的工作区包含当前目录时才认为是「有效 IDE」
|
|
45
|
-
-
|
|
45
|
+
- 仅当**恰好一个**有效 IDE 匹配当前工作目录时才会自动连接;如果零个或多个匹配,自动连接将静默跳过,您可以使用 `/ide` 手动选择
|
|
46
|
+
- 检测前会自动清理已退出的 IDE 进程对应的过期锁文件,避免连到无效端口
|
|
46
47
|
- 连接成功后,CLI 会通过 IDE MCP 服务器获得:
|
|
47
48
|
- 文件/差异预览 (openFile / openDiff)
|
|
48
49
|
- 诊断信息 (getDiagnostics)
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Monitoring CodeBuddy Code with OpenTelemetry
|
|
2
|
+
|
|
3
|
+
CodeBuddy Code 支持把内部 traces 通过标准 OTLP 协议上报到用户自有的 OpenTelemetry Collector,便于企业自建可观测性平台对接。
|
|
4
|
+
|
|
5
|
+
> **MVP 范围**:当前仅支持 **traces**(链路追踪),暂不支持 metrics 与 logs 的自定义上报。后续会按需扩展。
|
|
6
|
+
|
|
7
|
+
## 启用方式
|
|
8
|
+
|
|
9
|
+
设置启用开关后,traces 会按 OTel 标准环境变量上报:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
export CODEBUDDY_CODE_ENABLE_TELEMETRY=1
|
|
13
|
+
export OTEL_EXPORTER_OTLP_ENDPOINT=https://otel-collector.example.com
|
|
14
|
+
codebuddy
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
> 兼容 Claude Code 已有配置:`CLAUDE_CODE_ENABLE_TELEMETRY` 与 `CODEBUDDY_CODE_ENABLE_TELEMETRY` 等价。
|
|
18
|
+
|
|
19
|
+
## 关键环境变量
|
|
20
|
+
|
|
21
|
+
完整清单见 [env-vars.md](env-vars.md#opentelemetry-自定义上报traces),常用项:
|
|
22
|
+
|
|
23
|
+
| 变量 | 用途 |
|
|
24
|
+
|------|------|
|
|
25
|
+
| `CODEBUDDY_CODE_ENABLE_TELEMETRY=1` | 启用 OTel 上报开关 |
|
|
26
|
+
| `OTEL_TRACES_EXPORTER` | `otlp`(默认)/ `console` / `none` |
|
|
27
|
+
| `OTEL_EXPORTER_OTLP_ENDPOINT` | OTLP Collector 地址,会自动追加 `/v1/traces` |
|
|
28
|
+
| `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT` | traces 专用完整 URL,优先级更高 |
|
|
29
|
+
| `OTEL_EXPORTER_OTLP_HEADERS` | 请求头 `k1=v1,k2=v2`,value 支持 URL 编码 |
|
|
30
|
+
| `OTEL_SERVICE_NAME` | 覆盖默认 `service.name` |
|
|
31
|
+
| `OTEL_RESOURCE_ATTRIBUTES` | 附加 resource 属性 |
|
|
32
|
+
|
|
33
|
+
## 协议支持
|
|
34
|
+
|
|
35
|
+
仅支持 **`http/protobuf`**(OTLP/HTTP + Protobuf 编码),与 Claude Code 默认一致。
|
|
36
|
+
|
|
37
|
+
设置 `OTEL_EXPORTER_OTLP_PROTOCOL=grpc` 或 `http/json` 会被忽略并写入告警日志,回退到默认 protobuf。
|
|
38
|
+
|
|
39
|
+
## 典型场景
|
|
40
|
+
|
|
41
|
+
### 1. 上报到企业自建 Collector
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
export CODEBUDDY_CODE_ENABLE_TELEMETRY=1
|
|
45
|
+
export OTEL_EXPORTER_OTLP_ENDPOINT=https://otel.corp.example.com
|
|
46
|
+
export OTEL_EXPORTER_OTLP_HEADERS=Authorization=Bearer%20<TOKEN>
|
|
47
|
+
export OTEL_SERVICE_NAME=codebuddy-code
|
|
48
|
+
export OTEL_RESOURCE_ATTRIBUTES=deployment.environment=prod,team=copilot
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### 2. 本地调试 trace 输出
|
|
52
|
+
|
|
53
|
+
调试时让 traces 直接打到 stdout:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
export CODEBUDDY_CODE_ENABLE_TELEMETRY=1
|
|
57
|
+
export OTEL_TRACES_EXPORTER=console
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### 3. 临时关闭
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
export OTEL_TRACES_EXPORTER=none
|
|
64
|
+
# 或全局禁用:
|
|
65
|
+
export DISABLE_TELEMETRY=1
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## 优先级与回退
|
|
69
|
+
|
|
70
|
+
1. `DISABLE_TELEMETRY=1` 拥有最高优先级,关闭所有遥测。
|
|
71
|
+
2. 启用判定:内置 product 配置启用 **或** `CODEBUDDY_CODE_ENABLE_TELEMETRY` / `CLAUDE_CODE_ENABLE_TELEMETRY` 设置为 truthy 值(`1` / `true` / `yes` / `on`)。
|
|
72
|
+
3. Endpoint 优先级:`OTEL_EXPORTER_OTLP_TRACES_ENDPOINT` > `OTEL_EXPORTER_OTLP_ENDPOINT` > 内置 product 配置中的 `telemetry.tracing.url`。
|
|
73
|
+
4. Headers:env 与 product 配置合并,env 同名 key 覆盖 product。
|
|
74
|
+
|
|
75
|
+
## FAQ
|
|
76
|
+
|
|
77
|
+
### 是否会把 prompt / 代码内容写到 trace?
|
|
78
|
+
|
|
79
|
+
不会。CodeBuddy Code 的 trace 仅记录工具调用、模型调用、耗时等结构化指标,不包含用户对话内容或源代码。如果需要记录代码片段需另行启用 standard 报告通道(不在本特性范围)。
|
|
80
|
+
|
|
81
|
+
### 与企业内部上报通道是否冲突?
|
|
82
|
+
|
|
83
|
+
不冲突。OTel 自定义上报与内置 standard 报告(`telemetry.report.standard`)是两套独立通道,可同时启用。
|
|
84
|
+
|
|
85
|
+
### 是否支持 metrics / logs?
|
|
86
|
+
|
|
87
|
+
暂不支持,规划中。如有强诉求请反馈到对应 Issue。
|
|
@@ -17,6 +17,13 @@ Release Notes 记录了每个版本的用户可见变更,包括:
|
|
|
17
17
|
|
|
18
18
|
<!-- 新版本自动添加到此处 -->
|
|
19
19
|
|
|
20
|
+
- [v2.97.5](./v2.97.5.md) - 2026-05-22
|
|
21
|
+
- [v2.97.4](./v2.97.4.md) - 2026-05-21
|
|
22
|
+
- [v2.97.3](./v2.97.3.md) - 2026-05-19
|
|
23
|
+
- [v2.97.2](./v2.97.2.md) - 2026-05-16
|
|
24
|
+
- [v2.97.1](./v2.97.1.md) - 2026-05-14
|
|
25
|
+
- [v2.97.0](./v2.97.0.md) - 2026-05-13
|
|
26
|
+
- [v2.96.1](./v2.96.1.md) - 2026-05-12
|
|
20
27
|
- [v2.96.0](./v2.96.0.md) - 2026-05-11
|
|
21
28
|
- [v2.95.1](./v2.95.1.md) - 2026-05-07
|
|
22
29
|
- [v2.95.0](./v2.95.0.md) - 2026-05-01
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# 🚀 CodeBuddy Code v2.96.1 发布
|
|
2
|
+
|
|
3
|
+
## ✨ 新功能
|
|
4
|
+
|
|
5
|
+
- **自动化任务 Langfuse 标签**:定时任务触发的请求自动携带 `automation` 标签,便于在 Langfuse 看板中筛选和分析自动化任务的执行数据
|
|
6
|
+
|
|
7
|
+
## 🔧 改进优化
|
|
8
|
+
|
|
9
|
+
- **宿主可关闭嵌入式 CLI 历史清理**:允许宿主应用通过配置关闭嵌入式 CLI 的历史会话自动清理行为,适配更多集成场景
|
|
10
|
+
- **统一上下文压缩触发路径**:合并多处压缩触发逻辑为统一入口,提升压缩流程的可靠性和一致性
|
|
11
|
+
|
|
12
|
+
## 🐛 问题修复
|
|
13
|
+
|
|
14
|
+
- **SDK 模式自动压缩断联**:修复 SDK 模式下触发自动上下文压缩时导致连接中断的问题
|
|
15
|
+
- **上下文压缩失败卡住**:修复上下文压缩失败后会话卡住无法继续的问题
|
|
16
|
+
- **插件市场 UI 缓存未刷新**:修复插件市场更新后 Web UI 缓存未及时刷新的问题
|
|
17
|
+
- **插件子代理描述刷新**:修复插件子代理描述信息未正确刷新的问题
|