@tencent-ai/agent-sdk 0.3.114 → 0.3.117
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/cli/CHANGELOG.md +73 -0
- package/cli/bin/codebuddy +5 -1
- package/cli/dist/codebuddy-headless.js +196 -289
- package/cli/dist/web-ui/assets/index-C7MTLJe8.css +32 -0
- package/cli/dist/web-ui/assets/index-CcRN0PLN.js +591 -0
- package/cli/dist/web-ui/docs/cn/cli/acp.md +69 -0
- package/cli/dist/web-ui/docs/cn/cli/cli-reference.md +12 -1
- package/cli/dist/web-ui/docs/cn/cli/daemon.md +232 -0
- package/cli/dist/web-ui/docs/cn/cli/env-vars.md +1 -0
- package/cli/dist/web-ui/docs/cn/cli/gitlab-ci-cd.md +1 -1
- package/cli/dist/web-ui/docs/cn/cli/http-api.md +27 -6
- package/cli/dist/web-ui/docs/cn/cli/quickstart.md +1 -1
- package/cli/dist/web-ui/docs/cn/cli/release-notes/README.md +6 -1
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.77.0.md +38 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.77.1.md +10 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.78.0.md +26 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.78.1.md +10 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.79.0.md +38 -0
- package/cli/dist/web-ui/docs/cn/cli/settings.md +1 -1
- package/cli/dist/web-ui/docs/cn/cli/web-ui.md +3 -1
- package/cli/dist/web-ui/docs/en/cli/acp.md +98 -3
- package/cli/dist/web-ui/docs/en/cli/best-practices.md +1 -1
- package/cli/dist/web-ui/docs/en/cli/cli-reference.md +12 -1
- package/cli/dist/web-ui/docs/en/cli/daemon.md +232 -0
- package/cli/dist/web-ui/docs/en/cli/env-vars.md +3 -0
- package/cli/dist/web-ui/docs/en/cli/gitlab-ci-cd.md +1 -1
- package/cli/dist/web-ui/docs/en/cli/http-api.md +144 -8
- package/cli/dist/web-ui/docs/en/cli/quickstart.md +1 -1
- package/cli/dist/web-ui/docs/en/cli/release-notes/README.md +6 -1
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.77.0.md +38 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.77.1.md +10 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.78.0.md +26 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.78.1.md +10 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.79.0.md +38 -0
- package/cli/dist/web-ui/docs/en/cli/web-ui.md +5 -3
- package/cli/dist/web-ui/docs/search-index-en.json +1 -1
- package/cli/dist/web-ui/docs/search-index-zh.json +1 -1
- package/cli/dist/web-ui/docs/sidebar-en.json +1 -1
- package/cli/dist/web-ui/docs/sidebar-zh.json +1 -1
- package/cli/dist/web-ui/index.html +2 -2
- package/cli/package.json +1 -1
- package/cli/product.cloudhosted.json +19 -2
- package/cli/product.internal.json +37 -2
- package/cli/product.ioa.json +42 -2
- package/cli/product.json +32 -3
- package/cli/product.selfhosted.json +19 -2
- package/package.json +1 -1
- package/cli/dist/web-ui/assets/index-4R_-ZdN-.css +0 -32
- package/cli/dist/web-ui/assets/index-DOt3FCeP.js +0 -499
- package/cli/dist/web-ui/docs/cn/cli/sandboxing.md +0 -316
- package/cli/dist/web-ui/docs/en/cli/sandboxing.md +0 -316
|
@@ -95,6 +95,75 @@ CodeBuddy Code 会在创建新会话时自动向客户端推送可用的 Slash
|
|
|
95
95
|
|
|
96
96
|
命令列表会自动过滤掉本地命令(如 `/clear`、`/exit`)和客户端专属命令(如 `/theme`、`/config`),只推送适用于 ACP 模式的命令。
|
|
97
97
|
|
|
98
|
+
### Agent Teams 协议扩展
|
|
99
|
+
|
|
100
|
+
CodeBuddy Code 通过 `session_info_update` 的 `_meta` 字段扩展 ACP 协议,支持 Agent Teams 多智能体协作的实时状态推送。
|
|
101
|
+
|
|
102
|
+
#### Team 状态事件
|
|
103
|
+
|
|
104
|
+
通过 `_meta['codebuddy.ai/teamUpdate']` 推送以下事件类型:
|
|
105
|
+
|
|
106
|
+
**成员状态变化** (`member_status_change`):
|
|
107
|
+
|
|
108
|
+
```json
|
|
109
|
+
{
|
|
110
|
+
"sessionUpdate": "session_info_update",
|
|
111
|
+
"_meta": {
|
|
112
|
+
"codebuddy.ai/teamUpdate": {
|
|
113
|
+
"type": "member_status_change",
|
|
114
|
+
"teamName": "my-team",
|
|
115
|
+
"isAutoTeam": false,
|
|
116
|
+
"members": [
|
|
117
|
+
{
|
|
118
|
+
"name": "ux-designer",
|
|
119
|
+
"color": "blue",
|
|
120
|
+
"description": "用户体验设计分析",
|
|
121
|
+
"status": "running",
|
|
122
|
+
"taskId": "agent-abc123",
|
|
123
|
+
"sessionId": "session-xyz",
|
|
124
|
+
"tokenUsage": { "inputTokens": 1000, "outputTokens": 500, "lastContextWindow": 42000 },
|
|
125
|
+
"toolCallCount": 5
|
|
126
|
+
}
|
|
127
|
+
]
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
**Team 创建** (`team_created`) / **删除** (`team_deleted`):
|
|
134
|
+
|
|
135
|
+
```json
|
|
136
|
+
{
|
|
137
|
+
"sessionUpdate": "session_info_update",
|
|
138
|
+
"_meta": {
|
|
139
|
+
"codebuddy.ai/teamUpdate": {
|
|
140
|
+
"type": "team_created",
|
|
141
|
+
"teamName": "my-team"
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
#### 成员流式消息
|
|
148
|
+
|
|
149
|
+
成员的实时消息(文本、工具调用)通过标准 ACP 事件推送,附加 `_meta['codebuddy.ai/memberEvent']` 标记来标识消息来源:
|
|
150
|
+
|
|
151
|
+
```json
|
|
152
|
+
{
|
|
153
|
+
"sessionUpdate": "agent_message_chunk",
|
|
154
|
+
"content": { "type": "text", "text": "正在分析架构方案..." },
|
|
155
|
+
"_meta": {
|
|
156
|
+
"codebuddy.ai/memberEvent": "tech-architect"
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
客户端收到带 `memberEvent` 标记的事件后,应将其路由到对应成员的对话时间线,而非主对话区。
|
|
162
|
+
|
|
163
|
+
#### 页面刷新恢复
|
|
164
|
+
|
|
165
|
+
页面刷新后,`loadSession` 的 `replayHistory` 完成后会自动推送当前 Team 状态(`member_status_change` 事件),客户端无需单独请求。`AcpTeamBridge` 在订阅成员 session 时会自动重放其完整历史,因此成员的对话数据也通过 ACP SSE 完整恢复,无需额外 HTTP API。
|
|
166
|
+
|
|
98
167
|
## 其他编辑器支持
|
|
99
168
|
|
|
100
169
|
ACP 是开放协议,理论上任何支持 ACP 的编辑器都可以集成 CodeBuddy Code。配置方式与 Zed 类似:
|
|
@@ -15,6 +15,14 @@
|
|
|
15
15
|
| `codebuddy -r "<session-id>" "查询"` | 通过 ID 恢复会话 | `codebuddy -r "abc123" "完成这个 MR"` |
|
|
16
16
|
| `codebuddy update` | 更新到最新版本 | `codebuddy update` |
|
|
17
17
|
| `codebuddy mcp` | 配置 Model Context Protocol (MCP) 服务器 | 参见 [CodeBuddy Code MCP 文档](./mcp.md) |
|
|
18
|
+
| `codebuddy daemon start` | 启动 Daemon 守护进程 | `codebuddy daemon start --port 8080` |
|
|
19
|
+
| `codebuddy daemon stop` | 停止 Daemon | `codebuddy daemon stop` |
|
|
20
|
+
| `codebuddy daemon status` | 查看 Daemon 状态 | `codebuddy daemon status` |
|
|
21
|
+
| `codebuddy daemon restart` | 重启 Daemon | `codebuddy daemon restart` |
|
|
22
|
+
| `codebuddy ps` | 列出所有活跃 Worker 进程 | `codebuddy ps` |
|
|
23
|
+
| `codebuddy logs <pid\|name>` | 查看 Worker 日志 | `codebuddy logs feature-x` |
|
|
24
|
+
| `codebuddy attach <pid\|name>` | 附加到后台 Worker | `codebuddy attach feature-x` |
|
|
25
|
+
| `codebuddy kill <pid\|name>` | 终止 Worker 进程 | `codebuddy kill feature-x` |
|
|
18
26
|
|
|
19
27
|
## CLI 参数
|
|
20
28
|
|
|
@@ -53,6 +61,9 @@
|
|
|
53
61
|
| `--worktree [name]` | 在独立的 git worktree 中运行(详见 [Worktree 文档](./worktree.md)) | `codebuddy --worktree` 或 `codebuddy --worktree my-feature` |
|
|
54
62
|
| `--tmux` | 在 tmux 会话中运行(与 `--worktree` 配合使用) | `codebuddy --worktree --tmux` |
|
|
55
63
|
| `--plugin-dir <dirs...>` | 从本地目录加载插件(用于开发/测试),可指定多个路径。详见 [插件文档](plugins.md) | `codebuddy --plugin-dir ./my-plugin ../other-plugin` |
|
|
64
|
+
| `--bg` | 后台运行会话(detached 模式),日志输出到 `~/.codebuddy/logs/`。详见 [Daemon 文档](daemon.md) | `codebuddy --bg "实现登录页面"` |
|
|
65
|
+
| `--name <name>` | 后台会话名称(与 `--bg` 配合使用,便于通过 `ps`/`logs`/`kill` 查找) | `codebuddy --bg --name feature-x "实现功能"` |
|
|
66
|
+
| `--serve` | 启动 HTTP 服务(Web UI、REST API、ACP 协议) | `codebuddy --serve --port 8080` |
|
|
56
67
|
|
|
57
68
|
> **重要提示**:在使用 `-p/--print` 参数进行非交互式执行时,涉及文件读写、命令执行、网络请求等操作通常需要添加 `-y` (或 `--dangerously-skip-permissions`)参数才能执行,否则操作会被阻止。
|
|
58
69
|
|
|
@@ -129,7 +140,7 @@ CodeBuddy Code 提供三个自定义系统提示词的参数,每个参数用
|
|
|
129
140
|
|
|
130
141
|
> **Beta 功能**: Sandbox 功能目前处于 Beta 阶段。
|
|
131
142
|
>
|
|
132
|
-
> **详细文档**:查看 [
|
|
143
|
+
> **详细文档**:查看 [Bash 沙箱](./bash-sandboxing.md) 获取沙箱隔离功能说明。
|
|
133
144
|
|
|
134
145
|
### 沙箱参数
|
|
135
146
|
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
# Daemon 模式与后台会话
|
|
2
|
+
|
|
3
|
+
Daemon 模式让 CodeBuddy Code 以**后台常驻服务**的方式运行,不依赖终端窗口。启动后提供完整的 HTTP API 和 Web UI,随时接受请求。
|
|
4
|
+
|
|
5
|
+
**核心价值**:把 CLI 从"用完即走"变成"随时待命"。
|
|
6
|
+
|
|
7
|
+
## 概念
|
|
8
|
+
|
|
9
|
+
| 概念 | 说明 |
|
|
10
|
+
|------|------|
|
|
11
|
+
| **Worker** | 运行中的 CLI 进程,通过 PID 文件注册在 `~/.codebuddy/sessions/` |
|
|
12
|
+
| **Daemon** | 后台常驻的 HTTP 服务进程(`--serve` 模式),通过 `daemon start` 管理 |
|
|
13
|
+
| **后台会话 (bg)** | 通过 `--bg` 启动的非交互式任务,自动输出日志到文件 |
|
|
14
|
+
|
|
15
|
+
## Daemon 管理
|
|
16
|
+
|
|
17
|
+
### 启动 Daemon
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
# 启动 daemon(后台运行,自动分配端口)
|
|
21
|
+
codebuddy daemon start
|
|
22
|
+
|
|
23
|
+
# 指定端口
|
|
24
|
+
codebuddy daemon start --port 8080
|
|
25
|
+
|
|
26
|
+
# 指定绑定地址(允许远程访问)
|
|
27
|
+
codebuddy daemon start --host 0.0.0.0
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Daemon 启动后以 detached 进程运行,父进程立即退出。本地地址默认免密访问,非本地地址自动开启密码认证。
|
|
31
|
+
|
|
32
|
+
> **幂等启动**:多次执行 `daemon start` 不会创建多个 daemon。如果已有 daemon 在运行,会直接返回现有 daemon 的信息。
|
|
33
|
+
|
|
34
|
+
### 查看状态
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
codebuddy daemon status
|
|
38
|
+
# {"status":"running","pid":12345,"endpoint":"http://127.0.0.1:51862","startedAt":1775498920401}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### 停止 / 重启
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
codebuddy daemon stop
|
|
45
|
+
codebuddy daemon restart
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## 后台会话
|
|
49
|
+
|
|
50
|
+
### 启动后台任务
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# 后台执行任务
|
|
54
|
+
codebuddy --bg "实现登录页面"
|
|
55
|
+
|
|
56
|
+
# 指定名称(便于查找)
|
|
57
|
+
codebuddy --bg --name feature-login "实现登录页面"
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
后台会话以 `--print -y` 模式运行(无 TUI + 跳过权限确认),stdout/stderr 重定向到 `~/.codebuddy/logs/{name}.log`。
|
|
61
|
+
|
|
62
|
+
### 进程管理命令
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
# 列出所有活跃 Worker
|
|
66
|
+
codebuddy ps
|
|
67
|
+
|
|
68
|
+
# 查看后台会话日志
|
|
69
|
+
codebuddy logs feature-login
|
|
70
|
+
|
|
71
|
+
# 持续跟踪日志(类似 tail -f)
|
|
72
|
+
codebuddy logs feature-login -f
|
|
73
|
+
|
|
74
|
+
# 附加到后台会话
|
|
75
|
+
codebuddy attach feature-login
|
|
76
|
+
|
|
77
|
+
# 终止后台会话
|
|
78
|
+
codebuddy kill feature-login
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## HTTP API
|
|
82
|
+
|
|
83
|
+
所有 Worker 和 Daemon 管理能力通过 REST API 暴露,Web UI 的 Workers 页面基于这些 API 构建。
|
|
84
|
+
|
|
85
|
+
详见 [HTTP API 文档](http-api.md) 中的 Workers & Daemon 章节。
|
|
86
|
+
|
|
87
|
+
### 示例
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
# 列出所有 Worker
|
|
91
|
+
curl http://127.0.0.1:8080/api/v1/workers
|
|
92
|
+
|
|
93
|
+
# 启动 Daemon
|
|
94
|
+
curl -X POST http://127.0.0.1:8080/api/v1/daemon/start \
|
|
95
|
+
-H "Content-Type: application/json" \
|
|
96
|
+
-d '{"port": 9090}'
|
|
97
|
+
|
|
98
|
+
# 查看 Worker 日志(遥测日志)
|
|
99
|
+
curl "http://127.0.0.1:8080/api/v1/workers/12345/logs?type=telemetry&tail=100"
|
|
100
|
+
|
|
101
|
+
# 终止 Worker
|
|
102
|
+
curl -X DELETE http://127.0.0.1:8080/api/v1/workers/12345
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Web UI
|
|
106
|
+
|
|
107
|
+
`--serve` 模式启动后,Web UI 提供三个管理页面:
|
|
108
|
+
|
|
109
|
+
- **Workers** — Worker 进程管理和 Daemon 控制
|
|
110
|
+
- **Logs** — 独立日志查看器,支持 Worker 选择、日志类型切换、关键词搜索
|
|
111
|
+
- **Metrics** — 系统资源监控和各 Worker 进程级指标
|
|
112
|
+
|
|
113
|
+
## 日志体系
|
|
114
|
+
|
|
115
|
+
日志 API 支持 4 种类型,按优先级自动选择:
|
|
116
|
+
|
|
117
|
+
| 类型 | 路径 | 内容 | 触发条件 |
|
|
118
|
+
|------|------|------|---------|
|
|
119
|
+
| `telemetry` | `~/.codebuddy/logs/{date}/{workspace}.log` | 所有模块的 Info/Warn/Error | 始终(默认优先) |
|
|
120
|
+
| `process` | `~/.codebuddy/logs/{name}.log` | 进程 stdout/stderr | 仅 bg/daemon |
|
|
121
|
+
| `debug` | `~/.codebuddy/debug/{sessionId}.txt` | 详细调试信息 | 需 `--debug` |
|
|
122
|
+
| `transcript` | `~/.codebuddy/projects/{id}/{sessionId}.jsonl` | 对话历史 | 始终 |
|
|
123
|
+
|
|
124
|
+
## PID 文件注册表
|
|
125
|
+
|
|
126
|
+
每个 CLI 进程启动时在 `~/.codebuddy/sessions/` 注册 PID 文件:
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
~/.codebuddy/sessions/
|
|
130
|
+
├── 12345.json # 本地进程(PID 作为文件名)
|
|
131
|
+
├── 67890.json # 另一个本地进程
|
|
132
|
+
└── manual-abc123.json # 手动添加的远程 Worker
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
PID 文件内容:
|
|
136
|
+
|
|
137
|
+
```json
|
|
138
|
+
{
|
|
139
|
+
"pid": 12345,
|
|
140
|
+
"sessionId": "interactive-12345",
|
|
141
|
+
"cwd": "/home/user/project",
|
|
142
|
+
"startedAt": 1775498920401,
|
|
143
|
+
"kind": "interactive",
|
|
144
|
+
"url": "http://127.0.0.1:8080",
|
|
145
|
+
"mode": "local",
|
|
146
|
+
"version": "2.78.1",
|
|
147
|
+
"hostname": "my-machine"
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
进程存活通过 `kill -0` 检测,手动远程 Worker 通过心跳超时检测(2 分钟)。
|
|
152
|
+
|
|
153
|
+
## 环境变量
|
|
154
|
+
|
|
155
|
+
| 变量 | 说明 |
|
|
156
|
+
|------|------|
|
|
157
|
+
| `CODEBUDDY_SESSION_KIND` | Worker 类型(interactive / bg / daemon) |
|
|
158
|
+
| `CODEBUDDY_SESSION_NAME` | 后台会话显示名称 |
|
|
159
|
+
| `CODEBUDDY_SESSION_LOG` | 后台会话日志路径 |
|
|
160
|
+
| `CODEBUDDY_GATEWAY_AUTH` | 认证模式(none / password) |
|
|
161
|
+
|
|
162
|
+
## 使用场景
|
|
163
|
+
|
|
164
|
+
### 开发服务器常驻
|
|
165
|
+
|
|
166
|
+
日常开发时启动一次 daemon,之后通过浏览器或 API 随时与 AI 交互,不用每次都打开终端。
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
codebuddy daemon start --port 8080
|
|
170
|
+
# 浏览器打开 http://127.0.0.1:8080 即可使用
|
|
171
|
+
# 关闭终端后服务仍在运行
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### CI/CD 自动化后端
|
|
175
|
+
|
|
176
|
+
在 CI 流水线中启动 daemon 作为 Agent 服务,其他步骤通过 HTTP API 调用它执行代码审查、测试生成等任务。
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
# CI 启动
|
|
180
|
+
codebuddy daemon start --port 9090
|
|
181
|
+
|
|
182
|
+
# 其他 CI 步骤调用
|
|
183
|
+
curl -X POST http://127.0.0.1:9090/api/v1/runs \
|
|
184
|
+
-H "Content-Type: application/json" \
|
|
185
|
+
-d '{"prompt": "审查这个 PR 的代码变更"}'
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### 多人共享 Agent
|
|
189
|
+
|
|
190
|
+
一台开发机上启动 daemon 绑定局域网地址,团队成员通过 Web UI 共同使用同一个 Agent 环境。
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
codebuddy daemon start --host 0.0.0.0 --port 8080
|
|
194
|
+
# 同事访问 http://192.168.1.100:8080
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### 后台批量任务
|
|
198
|
+
|
|
199
|
+
用 `--bg` 同时启动多个后台会话处理不同任务,通过 `ps`/`logs`/`kill` 管理。
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
codebuddy --bg --name "refactor-auth" "重构认证模块"
|
|
203
|
+
codebuddy --bg --name "add-tests" "给 utils 目录补充单元测试"
|
|
204
|
+
codebuddy --bg --name "fix-types" "修复所有 TypeScript 类型错误"
|
|
205
|
+
|
|
206
|
+
# 查看进度
|
|
207
|
+
codebuddy ps
|
|
208
|
+
codebuddy logs refactor-auth
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
### 微信/企业微信机器人后端
|
|
212
|
+
|
|
213
|
+
daemon 常驻运行作为聊天机器人的后端服务,通过长连接接收消息。
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
codebuddy daemon start
|
|
217
|
+
# 配合远程控制功能连接微信/企业微信渠道
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
### IDE 扩展后端
|
|
221
|
+
|
|
222
|
+
IDE 插件通过 ACP 协议连接到 daemon,提供 AI 编程辅助,避免每次打开 IDE 都重新启动 CLI 进程。
|
|
223
|
+
|
|
224
|
+
## 与 --serve 的区别
|
|
225
|
+
|
|
226
|
+
| 特性 | `--serve` | `daemon start` |
|
|
227
|
+
|------|-----------|----------------|
|
|
228
|
+
| 生命周期 | 跟随终端,关闭终端则退出 | 后台常驻,独立于终端 |
|
|
229
|
+
| 启动方式 | 前台运行 | fork detached 子进程 |
|
|
230
|
+
| 管理方式 | Ctrl+C 停止 | `daemon stop/status/restart` |
|
|
231
|
+
| 多次启动 | 每次创建新进程 | 幂等,只维护一个 daemon |
|
|
232
|
+
| 典型用途 | 临时开发调试 | 长期运行的服务 |
|
|
@@ -61,6 +61,7 @@ CodeBuddy Code 支持通过环境变量来控制其行为。这些变量可以
|
|
|
61
61
|
| `CODEBUDDY_DEFER_TOOL_LOADING` | 设置为 `false` 或 `0` 禁用 MCP 工具延迟加载 |
|
|
62
62
|
| `CODEBUDDY_SHOW_ALL_DEFERRED_TOOLS` | 设置为 `true` 或 `1` 显示所有延迟工具的完整描述 |
|
|
63
63
|
| `CODEBUDDY_DISABLE_CRON` | 设置为 `1` 禁用计划任务 |
|
|
64
|
+
| `CODEBUDDY_REHYDRATE_IMAGE_BLOB_REFS` | 设置为 `true` 在 `-p` 模式流式输出中将图片 blob 引用还原为完整 base64 数据。适用于需要直接获取图片数据的下游集成场景 |
|
|
64
65
|
|
|
65
66
|
## 上下文和内存
|
|
66
67
|
|
|
@@ -85,7 +85,7 @@ curl http://host:port/api/v1/sessions?password=YOUR_PASSWORD
|
|
|
85
85
|
|------|------|------|
|
|
86
86
|
| GET | `/api/v1/health` | 健康检查 |
|
|
87
87
|
| GET | `/api/v1/info` | 环境信息(版本、OS、CWD 等) |
|
|
88
|
-
| GET | `/api/v1/metrics` |
|
|
88
|
+
| GET | `/api/v1/metrics` | 系统资源指标 + 实例进程指标 |
|
|
89
89
|
| GET | `/api/v1/envs` | 环境变量(对齐 E2B envd) |
|
|
90
90
|
|
|
91
91
|
### 认证
|
|
@@ -136,13 +136,33 @@ curl http://host:port/api/v1/sessions?password=YOUR_PASSWORD
|
|
|
136
136
|
| POST | `/api/v1/pty/:id/resize` | 调整 PTY 大小(对齐 E2B Process.Update) |
|
|
137
137
|
| WebSocket | `/api/v1/pty/:id/ws` | PTY 双向数据传输(兼容保留) |
|
|
138
138
|
|
|
139
|
-
###
|
|
139
|
+
### Workers & Daemon
|
|
140
|
+
|
|
141
|
+
Worker 是运行中的 CLI 进程(interactive / bg / daemon),通过 PID 文件注册表管理。
|
|
140
142
|
|
|
141
143
|
| 方法 | 端点 | 说明 |
|
|
142
144
|
|------|------|------|
|
|
143
|
-
| GET | `/api/v1/
|
|
144
|
-
| POST | `/api/v1/
|
|
145
|
-
|
|
|
145
|
+
| GET | `/api/v1/workers` | 获取所有活跃 Worker 列表 |
|
|
146
|
+
| POST | `/api/v1/workers` | 手动添加远程 Worker |
|
|
147
|
+
| GET | `/api/v1/workers/:id` | 获取 Worker 详情(按 PID 或名称) |
|
|
148
|
+
| GET | `/api/v1/workers/:id/logs` | 获取 Worker 日志(支持多类型) |
|
|
149
|
+
| DELETE | `/api/v1/workers/:id` | 终止 Worker 进程 |
|
|
150
|
+
| GET | `/api/v1/daemon/status` | 查询 Daemon 状态 |
|
|
151
|
+
| POST | `/api/v1/daemon/start` | 启动 Daemon |
|
|
152
|
+
| POST | `/api/v1/daemon/stop` | 停止 Daemon |
|
|
153
|
+
| POST | `/api/v1/daemon/restart` | 重启 Daemon |
|
|
154
|
+
|
|
155
|
+
**Workers 查询参数**:
|
|
156
|
+
- `?kind=bg` — 按类型过滤(interactive / bg / daemon / daemon-worker)
|
|
157
|
+
- `?local=true` — 仅返回本地 Worker(远程代理调用时使用)
|
|
158
|
+
|
|
159
|
+
**日志类型参数** (`GET /api/v1/workers/:id/logs`):
|
|
160
|
+
- `?type=telemetry` — 遥测日志(`~/.codebuddy/logs/{date}/`)
|
|
161
|
+
- `?type=process` — 进程 stdout/stderr(bg/daemon 日志)
|
|
162
|
+
- `?type=debug` — 调试日志(`~/.codebuddy/debug/`,需 `--debug`)
|
|
163
|
+
- `?type=transcript` — 对话历史摘要
|
|
164
|
+
- `?tail=200` — 只返回最后 N 行
|
|
165
|
+
- 不传 type 时自动选择最佳来源(telemetry > process > debug > transcript)
|
|
146
166
|
|
|
147
167
|
### Channels(远程控制)
|
|
148
168
|
|
|
@@ -360,8 +380,9 @@ curl -X POST http://127.0.0.1:8080/api/v1/process/signal/send \
|
|
|
360
380
|
-H "Content-Type: application/json" \
|
|
361
381
|
-d '{"process": {"tag": "my-script"}, "signal": 15}'
|
|
362
382
|
|
|
363
|
-
# 系统指标
|
|
383
|
+
# 系统指标 + 实例进程指标
|
|
364
384
|
curl http://127.0.0.1:8080/api/v1/metrics
|
|
385
|
+
# 响应: { data: { ts, cpuCount, cpuUsedPct, memTotalMib, memUsedMib, diskUsed, diskTotal, instances: [{ id, cwd, pid, rssMib, heapUsedMib, heapTotalMib, uptimeSeconds, ... }] } }
|
|
365
386
|
```
|
|
366
387
|
|
|
367
388
|
### 会话管理
|
|
@@ -241,7 +241,7 @@ codebuddy -p "为 services 目录下的所有文件添加单元测试" -y
|
|
|
241
241
|
|
|
242
242
|
- 🐛 [提交 Bug](https://cnb.cool/codebuddy/codebuddy-code/-/issues)
|
|
243
243
|
- 📧 技术支持:codebuddy@tencent.com
|
|
244
|
-
- 📚 [完整文档](
|
|
244
|
+
- 📚 [完整文档](./README.md)
|
|
245
245
|
- 🌐 [官方网站](https://copilot.tencent.com/cli)
|
|
246
246
|
|
|
247
247
|
---
|
|
@@ -9,7 +9,7 @@ Release Notes 记录了每个版本的用户可见变更,包括:
|
|
|
9
9
|
- 🔧 改进优化
|
|
10
10
|
- 🐛 问题修复
|
|
11
11
|
|
|
12
|
-
与
|
|
12
|
+
与 CHANGELOG.md 的区别:
|
|
13
13
|
- **Release Notes**:面向终端用户,强调功能价值和用户体验
|
|
14
14
|
- **CHANGELOG**:面向开发者,记录技术细节和代码变更
|
|
15
15
|
|
|
@@ -17,6 +17,11 @@ Release Notes 记录了每个版本的用户可见变更,包括:
|
|
|
17
17
|
|
|
18
18
|
<!-- 新版本自动添加到此处 -->
|
|
19
19
|
|
|
20
|
+
- [v2.79.0](./v2.79.0.md) - 2026-04-07
|
|
21
|
+
- [v2.78.1](./v2.78.1.md) - 2026-04-05
|
|
22
|
+
- [v2.78.0](./v2.78.0.md) - 2026-04-05
|
|
23
|
+
- [v2.77.1](./v2.77.1.md) - 2026-04-04
|
|
24
|
+
- [v2.77.0](./v2.77.0.md) - 2026-04-03
|
|
20
25
|
- [v2.76.0](./v2.76.0.md) - 2026-04-03
|
|
21
26
|
- [v2.75.0](./v2.75.0.md) - 2026-04-03
|
|
22
27
|
- [v2.74.0](./v2.74.0.md) - 2026-04-03
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# 🚀 CodeBuddy Code v2.77.0 发布
|
|
2
|
+
|
|
3
|
+
## ✨ 新功能
|
|
4
|
+
|
|
5
|
+
### 插件系统全面升级
|
|
6
|
+
|
|
7
|
+
插件系统迎来重大增强,显著提升了插件的安装、管理和扩展能力:
|
|
8
|
+
|
|
9
|
+
- **多来源安装**:支持通过 npm 包和 Git 仓库子目录安装插件,灵活适配不同的插件分发方式
|
|
10
|
+
- **MCP Bundle 支持**:支持从远程 URL 或本地文件加载预打包的 MCP 服务(.mcpb/.dxt/.zip),简化 MCP 服务集成
|
|
11
|
+
- **Output Style 扩展**:插件可以提供自定义输出样式,个性化 Agent 的输出表现
|
|
12
|
+
- **默认 Agent 配置**:插件支持通过 `settings.agent` 设置默认 Agent,作为最低优先级 base layer
|
|
13
|
+
- **PATH 自动注入**:启用插件的 `bin/` 目录自动注入到 Bash 工具的 PATH 中
|
|
14
|
+
- **用户配置选项**:插件支持定义 `userConfig` 字段,安装时交互式收集用户配置
|
|
15
|
+
- **依赖解析**:支持 DFS 闭包算法解析插件传递依赖,含循环检测
|
|
16
|
+
|
|
17
|
+
### 插件安全与管理
|
|
18
|
+
|
|
19
|
+
- **市场名称保护**:四层防御机制防止第三方冒充官方市场
|
|
20
|
+
- **企业策略服务**:通过 managed-settings 控制插件启用/禁用,满足企业合规需求
|
|
21
|
+
- **`--plugin-dir` 参数**:支持从本地目录加载插件,方便开发和测试
|
|
22
|
+
- **`/reload-plugins` 命令**:无需重启即可重新加载所有插件组件
|
|
23
|
+
- **`/plugin-validate` 命令**:四层校验插件目录结构和 manifest 有效性
|
|
24
|
+
|
|
25
|
+
## 🔧 改进优化
|
|
26
|
+
|
|
27
|
+
- **Venus 端点兼容适配器**:支持 Venus OpenAI 兼容代理端点的 Prompt 缓存注入和请求字段清理,模型适配器与端点适配器可叠加使用
|
|
28
|
+
- **SDK MCP 工具过滤器**:确保权限和 deny 规则正确应用于 SDK 注册的自定义工具
|
|
29
|
+
|
|
30
|
+
## 🐛 问题修复
|
|
31
|
+
|
|
32
|
+
- **AskPanel 竞态修复**:修复 doneAsk/rejectAsk 与 approve/reject 的调用顺序问题,避免工具在获得答案前继续执行
|
|
33
|
+
- **图片消息类型修复**:`stripImageContent` 使用正确的 `input_text` 类型替换图片占位,避免类型不匹配
|
|
34
|
+
|
|
35
|
+
## 📝 文档更新
|
|
36
|
+
|
|
37
|
+
- **插件市场文档**:全面更新插件市场使用指南
|
|
38
|
+
- **CLI 文档更新**:更新 CLI 参考、环境变量、HTTP API、斜杠命令等多篇文档的中英文版本
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# 🚀 CodeBuddy Code v2.77.1 发布
|
|
2
|
+
|
|
3
|
+
## 🔧 改进优化
|
|
4
|
+
|
|
5
|
+
- **图片 blob 引用还原**:新增环境变量 `CODEBUDDY_REHYDRATE_IMAGE_BLOB_REFS`,设置为 `true` 后可在 `-p` 模式流式输出中将图片 blob 引用自动还原为完整 base64 数据,方便下游系统集成
|
|
6
|
+
- **微信/企微权限回复体验优化**:移除权限操作后的机械确认消息,改为由 Agent 后续动作作为隐式反馈,对话更自然流畅
|
|
7
|
+
|
|
8
|
+
## 🐛 问题修复
|
|
9
|
+
|
|
10
|
+
- **微信/企微消息路由修复**:修复权限回复中"始终允许"指令因检查顺序问题被错误识别的 bug,确保权限指令优先正确处理
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# 🚀 CodeBuddy Code v2.78.0 发布
|
|
2
|
+
|
|
3
|
+
## ✨ 新功能
|
|
4
|
+
|
|
5
|
+
### Agent Teams Web UI 支持
|
|
6
|
+
|
|
7
|
+
全新的 Agent Teams Web UI 体验,让您可以在浏览器中直观地管理和监控多 Agent 协作任务:
|
|
8
|
+
|
|
9
|
+
- **实时进度追踪**:Team 成员的运行状态、token 使用量、工具调用次数通过 SSE 实时推送,在任务面板中一目了然
|
|
10
|
+
- **成员对话查看**:点击任意成员即可查看其完整对话历史,支持实时流式更新
|
|
11
|
+
- **智能消息展示**:收到的消息显示 `发送者 · 摘要`,发出的消息显示 `@接收者 · 摘要`,每个成员拥有专属颜色标识
|
|
12
|
+
- **刷新状态恢复**:页面刷新后自动恢复 Team 状态和成员对话,无需手动重连
|
|
13
|
+
- **完整国际化**:新增 13 个 Team 相关的中英文翻译
|
|
14
|
+
|
|
15
|
+
## 🔧 改进优化
|
|
16
|
+
|
|
17
|
+
- **权限系统重构**:重构 ACP 权限广播机制,支持 Web UI 页面刷新后恢复权限对话框,修复跨端权限同步问题
|
|
18
|
+
- **问卷下发优化**:AskUserQuestion 改为通过 interruption 广播协议下发,避免多连接场景下问卷发送到错误客户端
|
|
19
|
+
- **上下文压缩改进**:采用同步 compact 流程替代手动截断,提升上下文管理的可靠性
|
|
20
|
+
- **频道消息队列**:微信/企业微信频道新增消息队列机制,避免 Agent 运行期间并发消息丢失
|
|
21
|
+
- **选项兼容处理**:TUI 和 Web UI 问卷面板增加对纯字符串选项数组的防御性处理
|
|
22
|
+
|
|
23
|
+
## 🐛 问题修复
|
|
24
|
+
|
|
25
|
+
- **命令补全修复**:修复输入斜杠命令后跟参数时补全菜单消失的问题,现在输入如 `/skill arg` 时仍能正确显示命令补全建议
|
|
26
|
+
- **命令建议修复**:修复光标进入参数区域后命令补全仍然显示的问题
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# 🚀 CodeBuddy Code v2.78.1 发布
|
|
2
|
+
|
|
3
|
+
## 🐛 问题修复
|
|
4
|
+
|
|
5
|
+
- **Agent 解析修复**:修复队列排空和 Agent 唤醒时使用错误 Agent 的问题,现在统一使用 session 关联的 Agent,确保任务调度更加准确可靠
|
|
6
|
+
- **模型字段修复**:修复 reasoning_item 和普通 item 的 model 字段取值问题,使用实际模型响应信息替代可能为空的值,确保模型信息完整准确
|
|
7
|
+
|
|
8
|
+
## 🔧 改进优化
|
|
9
|
+
|
|
10
|
+
- **企业微信回复增强**:增强 chatId 解析能力,支持从 chatId 字符串提取路由信息;优化工具返回格式为结构化 JSON,提升消息处理的可靠性
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# 🚀 CodeBuddy Code v2.79.0 发布
|
|
2
|
+
|
|
3
|
+
## ✨ 新功能
|
|
4
|
+
|
|
5
|
+
### Daemon 常驻模式与后台会话
|
|
6
|
+
|
|
7
|
+
新增 Daemon 守护进程支持,可通过 `daemon start/stop/status/restart` 命令管理后台运行的 CLI 实例。同时支持 `--bg` 参数在后台启动任务,配合 `ps/logs/attach/kill` 命令对后台任务进行全生命周期管理。
|
|
8
|
+
|
|
9
|
+
### Web UI Workers 与日志管理
|
|
10
|
+
|
|
11
|
+
Web UI 新增 Workers 页面,可视化管理所有 Worker 进程和 Daemon,支持启停、终止操作。同时新增独立日志查看器,支持 4 种日志类型(遥测/进程/调试/对话)切换、关键词搜索和语法高亮。
|
|
12
|
+
|
|
13
|
+
### 系统监控视图
|
|
14
|
+
|
|
15
|
+
Web UI 新增 Metrics 页面,展示系统 CPU、内存、磁盘使用概览以及各实例进程级资源指标(RSS、Heap、运行时长),支持 8 秒自动轮询刷新,帮助随时掌握资源状态。
|
|
16
|
+
|
|
17
|
+
### 编辑器体验全面升级
|
|
18
|
+
|
|
19
|
+
- **标签增强**:支持拖拽排序、固定标签(Pin)、溢出滚动箭头,以及增强右键菜单(复制路径、在文件树中定位、关闭右侧、关闭已保存)
|
|
20
|
+
- **面包屑导航**:编辑器顶部显示文件路径层级,点击可快速切换同级文件
|
|
21
|
+
- **快速打开**:支持 Cmd+P / Ctrl+P 快速搜索并打开文件
|
|
22
|
+
- **文件预览**:支持图片(缩放/拖拽/棋盘格背景)、Markdown、PDF、SVG 预览和二进制文件信息页
|
|
23
|
+
- **状态栏**:底部显示光标位置、选区信息、语言类型等编辑状态
|
|
24
|
+
- **最近文件**:空编辑器页面展示最近打开文件列表
|
|
25
|
+
|
|
26
|
+
## 🔧 改进优化
|
|
27
|
+
|
|
28
|
+
- **执行阶段追踪**:Loading 状态栏新增细粒度执行阶段显示(preparing / waiting for model / streaming / processing / running tool),帮助了解 Agent 当前正在做什么
|
|
29
|
+
- **后台任务支持扩展**:stream-json 和 headless 模式现已支持后台任务,仅 print 模式(`-p`)保持原有限制
|
|
30
|
+
- **设置页面重构**:重构为数据驱动的设置面板,支持通过 REST API 读写用户级设置,包含开关、选择、文本输入、JSON 编辑等控件,操作后有保存反馈提示
|
|
31
|
+
- **代码块优化**:复制按钮改为悬停浮动显示,去除语言标签栏,界面更简洁
|
|
32
|
+
- **菜单交互改进**:斜杠命令、@ 文件补全、+ 功能面板现支持点击外部自动关闭
|
|
33
|
+
|
|
34
|
+
## 🐛 问题修复
|
|
35
|
+
|
|
36
|
+
- **命令补全菜单**:修复输入命令参数时补全菜单仍然显示的问题,光标离开命令名区域后菜单会正确关闭
|
|
37
|
+
- **指标采集**:修复多实例场景下 metrics 接口的循环调用问题
|
|
38
|
+
- **会话工作目录**:修复 Web UI 会话工作目录设置为 URL 而非实际路径的问题
|
|
@@ -73,7 +73,7 @@ CodeBuddy Code 使用分层配置系统,让您能够在不同级别进行个
|
|
|
73
73
|
| `showTokensCounter` | 是否在界面中显示 Tokens 计数器 | `false` |
|
|
74
74
|
| `endpoint` | 自定义服务端点地址 | `"https://api.example.com"` |
|
|
75
75
|
| `envRouteMode` | 环境路由模式配置 | `"production"` |
|
|
76
|
-
| `sandbox` | Bash 沙箱配置,见[Bash
|
|
76
|
+
| `sandbox` | Bash 沙箱配置,见[Bash沙箱设置](#bash沙箱设置) | `{"enabled": true}` |
|
|
77
77
|
| `promptSuggestionEnabled` | 启用 Prompt 建议功能,在 Agent 完成对话后自动预测下一步操作(默认:`true`) | `false` |
|
|
78
78
|
| `reasoningEffort` | Reasoning effort 级别配置,控制模型推理的深度。可选值:`low`、`medium`、`high`、`xhigh`。留空时使用产品配置默认值。可通过 `/config` 面板切换,选择 `auto` 等效于清除此设置 | `"high"` |
|
|
79
79
|
| `memory` | [Experimental] 记忆功能配置,见[记忆功能配置](#记忆功能配置experimental) | `{"enabled": true}` |
|
|
@@ -8,8 +8,10 @@ Web UI 提供与终端界面相同的核心能力,并针对浏览器进行了
|
|
|
8
8
|
|
|
9
9
|
- **对话**:发送消息、查看对话、实时监控工具执行
|
|
10
10
|
- **终端**:内嵌终端,支持分屏布局(最多 4 个面板)
|
|
11
|
-
-
|
|
11
|
+
- **Workers**:管理 CLI Worker 进程和 Daemon 守护进程
|
|
12
|
+
- **日志**:独立日志查看器,支持多种日志类型和关键词搜索
|
|
12
13
|
- **远程控制**:连接微信和企业微信渠道
|
|
14
|
+
- **监控**:系统资源指标和各 Worker 进程级内存/运行时间指标
|
|
13
15
|
- **任务**:浏览任务模版并创建定时任务
|
|
14
16
|
- **插件**:管理插件安装和插件市场
|
|
15
17
|
- **设置**:配置主题、语言、模型和权限模式
|