@seemseam/ccb 8.0.12 → 8.0.13
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/README.md +135 -1358
- package/README_zh.md +132 -793
- package/VERSION +1 -1
- package/package.json +3 -3
- package/readme_ar.md +312 -0
- package/readme_de.md +312 -0
- package/readme_en.md +312 -0
- package/readme_es.md +312 -0
- package/readme_fr.md +312 -0
- package/readme_ja.md +312 -0
- package/readme_ko.md +312 -0
- package/readme_pt.md +312 -0
- package/readme_ru.md +312 -0
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-
# CCB
|
|
3
|
+
# CCB 手机 App 来了!
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
**基于去中心化多 Agent 设计**
|
|
6
|
+
**可见、可控的多 Agent 交互 TUI 工作台**
|
|
7
7
|
|
|
8
8
|
<p>
|
|
9
|
-
<img src="https://img.shields.io/badge/version-8.0.
|
|
9
|
+
<img src="https://img.shields.io/badge/version-8.0.13-orange.svg" alt="version">
|
|
10
10
|
<img src="https://img.shields.io/badge/platform-Linux%20%7C%20macOS%20%7C%20WSL-lightgrey.svg" alt="platform">
|
|
11
11
|
<img src="https://img.shields.io/badge/providers-15%20CLI%20families-0B7285.svg" alt="providers">
|
|
12
12
|
</p>
|
|
@@ -29,104 +29,70 @@
|
|
|
29
29
|
<img src="https://img.shields.io/badge/Droid-3DDC84?style=flat-square&logo=android&logoColor=white" alt="Droid">
|
|
30
30
|
</p>
|
|
31
31
|
|
|
32
|
-
[
|
|
32
|
+
**中文** | [English](readme_en.md) | [日本語](readme_ja.md) | [Français](readme_fr.md) | [Deutsch](readme_de.md) | [العربية](readme_ar.md) | [Español](readme_es.md) | [Português](readme_pt.md) | [한국어](readme_ko.md) | [Русский](readme_ru.md)
|
|
33
33
|
|
|
34
|
-
[
|
|
34
|
+
[快速开始](#quick-start) · [Mobile App](#mobile-app) · [Rich 模式](#rich-mode) · [配置团队](#configure-agents) · [使用文档](docs/manuals/user-guide/) · [开发文档](docs/manuals/developer-guide/)
|
|
35
35
|
|
|
36
36
|
<p align="center">
|
|
37
|
-
<img src="assets/readme_v7/ccb-hero-
|
|
37
|
+
<img src="assets/readme_v7/ccb-hero-zh-light.png" alt="CCB 可见多 Agent CLI 工作台" width="960">
|
|
38
38
|
</p>
|
|
39
39
|
|
|
40
40
|
</div>
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
<a id="supported-clis"></a>
|
|
43
43
|
|
|
44
|
-
##
|
|
44
|
+
## 支持的 CLI
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
你可以在 `.ccb/ccb.config` 中为不同 agent 混用不同 CLI;真实可用性取决于本机 CLI 安装状态和账号权限。
|
|
47
47
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
## Repository Layout
|
|
83
|
-
|
|
84
|
-
This repository now carries both the CCB core and the mobile controller source:
|
|
85
|
-
|
|
86
|
-
- core CLI, ccbd, mobile gateway, and Python tests live at the repository root;
|
|
87
|
-
- Flutter mobile app source, mobile tools, and mobile planning docs live under
|
|
88
|
-
[`mobile/`](mobile/).
|
|
89
|
-
|
|
90
|
-
The mobile app remains a separate build surface inside the monorepo. Core
|
|
91
|
-
commands such as `ccb update mobile` should consume released mobile artifacts
|
|
92
|
-
or the mobile release manifest, not Android build outputs checked into source.
|
|
93
|
-
|
|
94
|
-
### 1. Install or update
|
|
95
|
-
|
|
96
|
-
New installs should use the npm package:
|
|
48
|
+
| CLI family | Provider id |
|
|
49
|
+
| :--- | :--- |
|
|
50
|
+
| Codex | `codex` |
|
|
51
|
+
| Claude | `claude` |
|
|
52
|
+
| Gemini | `gemini` |
|
|
53
|
+
| Kimi | `kimi` |
|
|
54
|
+
| MiMo | `mimo` |
|
|
55
|
+
| Qwen | `qwen` |
|
|
56
|
+
| Cursor | `cursor` |
|
|
57
|
+
| GitHub Copilot CLI | `copilot` |
|
|
58
|
+
| Crush | `crush` |
|
|
59
|
+
| Kiro CLI | `kiro` |
|
|
60
|
+
| Pi | `pi` |
|
|
61
|
+
| Z.ai CLI | `zai` |
|
|
62
|
+
| OpenCode | `opencode` |
|
|
63
|
+
| Antigravity | `agy` |
|
|
64
|
+
| Droid | `droid` |
|
|
65
|
+
|
|
66
|
+
<a id="why-ccb"></a>
|
|
67
|
+
|
|
68
|
+
## 为什么用 CCB?
|
|
69
|
+
|
|
70
|
+
- 强稳定的 agent 间通信能力,支持 `A -> B -> C`、`A,B -> C`、`A -> B,C` 等复杂协作关系。
|
|
71
|
+
- 每个 agent 都是完整原生终端,支持可见的界面排布和直接接管。
|
|
72
|
+
- 后台 daemon 持续运行,可以脱离前台界面保持项目状态。
|
|
73
|
+
- Hub 能力:一个命令同时并发运行多家 CLI provider。
|
|
74
|
+
- 手机远程控制器:跨 provider 语音操控、文件传输和远程终端访问。
|
|
75
|
+
|
|
76
|
+
<a id="how-to-install"></a>
|
|
77
|
+
|
|
78
|
+
## 如何安装
|
|
79
|
+
|
|
80
|
+
推荐使用 npm 安装或更新:
|
|
97
81
|
|
|
98
82
|
```bash
|
|
99
83
|
npm install -g @seemseam/ccb
|
|
100
84
|
```
|
|
101
85
|
|
|
102
|
-
|
|
86
|
+
安装完成后,后续更新直接使用 CCB 自带 updater:
|
|
103
87
|
|
|
104
88
|
```bash
|
|
105
89
|
ccb update
|
|
106
90
|
```
|
|
107
91
|
|
|
108
|
-
Install or refresh the optional mobile controller setup:
|
|
109
|
-
|
|
110
|
-
```bash
|
|
111
|
-
ccb update mobile
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
This command checks the local mobile gateway prerequisites, guides Tailscale
|
|
115
|
-
login/Serve setup when needed, keeps the gateway loopback-only, and prints the
|
|
116
|
-
current Android APK download link plus pairing steps.
|
|
117
|
-
|
|
118
|
-
Install or refresh the optional rich media workbench; it bundles verified binaries where possible and installs only the required terminal/media/font dependencies through the platform package manager:
|
|
119
|
-
|
|
120
|
-
```bash
|
|
121
|
-
ccb update rich
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
After rich is enabled, plain `ccb` opens the rich WezTerm launcher unless it is already running inside a CCB-managed rich WezTerm; use `ccb uninstall rich` to return to the normal terminal startup.
|
|
125
|
-
|
|
126
92
|
<details>
|
|
127
|
-
<summary><b>GitHub release
|
|
93
|
+
<summary><b>GitHub release 包和源码安装兜底</b></summary>
|
|
128
94
|
|
|
129
|
-
|
|
95
|
+
如果当前环境不方便使用 npm,可以到 [Releases](https://github.com/SeemSeam/claude_codex_bridge/releases) 下载与你的平台匹配的包,解压后安装:
|
|
130
96
|
|
|
131
97
|
```bash
|
|
132
98
|
tar -xzf ccb-*.tar.gz
|
|
@@ -134,7 +100,7 @@ cd ccb-*
|
|
|
134
100
|
./install.sh install
|
|
135
101
|
```
|
|
136
102
|
|
|
137
|
-
|
|
103
|
+
源码安装只建议开发或临时兜底使用:
|
|
138
104
|
|
|
139
105
|
```bash
|
|
140
106
|
git clone https://github.com/SeemSeam/claude_codex_bridge.git
|
|
@@ -142,25 +108,36 @@ cd claude_codex_bridge
|
|
|
142
108
|
./install.sh install
|
|
143
109
|
```
|
|
144
110
|
|
|
145
|
-
|
|
111
|
+
源码安装会让全局 `ccb` / `ask` 链接回当前 checkout。普通用户更建议使用 npm 包。
|
|
146
112
|
|
|
147
113
|
</details>
|
|
148
114
|
|
|
149
|
-
|
|
115
|
+
<a id="quick-start"></a>
|
|
116
|
+
|
|
117
|
+
## 快速开始
|
|
118
|
+
|
|
119
|
+
### 1. 启动
|
|
120
|
+
|
|
121
|
+
在工作目录执行:
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
ccb
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
如果启动时提示无法自动创建 `.ccb` 或找不到项目锚点,需要手动创建 `.ccb` 作为项目锚点:
|
|
150
128
|
|
|
151
129
|
```bash
|
|
152
130
|
mkdir -p .ccb
|
|
153
131
|
```
|
|
154
132
|
|
|
155
|
-
<a id="
|
|
133
|
+
<a id="configure-agents"></a>
|
|
156
134
|
|
|
157
|
-
### 2.
|
|
135
|
+
### 2. 创建项目配置
|
|
158
136
|
|
|
159
|
-
|
|
137
|
+
在项目根目录创建 `.ccb/ccb.config`。推荐使用 v2 `[windows]` 拓扑:window 内的 agent 排布由 `,` 和 `;` 控制上下堆叠和左右分栏,例如 `A,B;C,D` 接近四宫格布局。
|
|
160
138
|
|
|
161
139
|
```toml
|
|
162
140
|
version = 2
|
|
163
|
-
entry_window = "main"
|
|
164
141
|
|
|
165
142
|
[windows]
|
|
166
143
|
main = "main:codex"
|
|
@@ -177,1359 +154,159 @@ tips_height = "35%"
|
|
|
177
154
|
comms_limit = 3
|
|
178
155
|
```
|
|
179
156
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
Validate the config:
|
|
157
|
+
验证配置并启动工作台:
|
|
183
158
|
|
|
184
159
|
```bash
|
|
185
160
|
ccb config validate
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
Start the workspace:
|
|
189
|
-
|
|
190
|
-
```bash
|
|
191
161
|
ccb
|
|
192
162
|
```
|
|
193
163
|
|
|
194
|
-
### 3.
|
|
164
|
+
### 3. 开始协作
|
|
195
165
|
|
|
196
|
-
|
|
166
|
+
你可以直接在某个 agent pane 里输入,也可以让 agent 之间协作:
|
|
197
167
|
|
|
198
168
|
```text
|
|
199
169
|
/ask reviewer review the latest parser changes and list blocking issues.
|
|
200
170
|
```
|
|
201
171
|
|
|
202
|
-
|
|
172
|
+
也可以在工作编排中让 agent 自动调用 `/ask` 完成委派和交接。建议通过修改 agent 记忆或项目共享记忆 `.ccb/ccb_memory.md` 进行编排。
|
|
203
173
|
|
|
204
174
|
<a id="mobile-app"></a>
|
|
205
175
|
|
|
206
|
-
|
|
176
|
+
## 手机远程控制(Android)
|
|
207
177
|
|
|
208
|
-
|
|
178
|
+
推荐使用手机控制 CCB:可以接入所有 CCB 项目,控制每个 agent,语音输入,并传递文件。
|
|
209
179
|
|
|
210
180
|
```bash
|
|
211
181
|
ccb update mobile
|
|
212
182
|
```
|
|
213
183
|
|
|
214
|
-
|
|
184
|
+
该命令会指导你完成安装和配置。
|
|
215
185
|
|
|
216
186
|
<p align="center">
|
|
217
|
-
<img src="assets/readme_v7/mobile-control-chat.jpg" alt="CCB Mobile agent
|
|
218
|
-
<img src="assets/readme_v7/mobile-control-terminal.jpg" alt="CCB Mobile
|
|
219
|
-
<img src="assets/readme_v7/mobile-control-files.jpg" alt="CCB Mobile
|
|
220
|
-
<img src="assets/readme_v7/mobile-control-pairing.jpg" alt="CCB Mobile
|
|
221
|
-
</p>
|
|
222
|
-
|
|
223
|
-
<p align="center">
|
|
224
|
-
<sub>Mobile can switch projects and agents, inspect conversations, open terminals, transfer files, and connect through scoped pairing.</sub>
|
|
187
|
+
<img src="assets/readme_v7/mobile-control-chat.jpg" alt="CCB Mobile agent 对话" width="180">
|
|
188
|
+
<img src="assets/readme_v7/mobile-control-terminal.jpg" alt="CCB Mobile 终端控制" width="180">
|
|
189
|
+
<img src="assets/readme_v7/mobile-control-files.jpg" alt="CCB Mobile 文件传输" width="180">
|
|
190
|
+
<img src="assets/readme_v7/mobile-control-pairing.jpg" alt="CCB Mobile 配对和连接" width="180">
|
|
225
191
|
</p>
|
|
226
192
|
|
|
227
193
|
<details>
|
|
228
|
-
<summary><b>Mobile App
|
|
229
|
-
|
|
230
|
-
CCB 8.0.12 includes the Flutter CCB Mobile source under [`mobile/`](mobile/)
|
|
231
|
-
and publishes an Android APK as a GitHub Release asset:
|
|
194
|
+
<summary><b>Mobile App 详情、安全边界和源码</b></summary>
|
|
232
195
|
|
|
233
|
-
|
|
234
|
-
- App source: [`mobile/app`](mobile/app)
|
|
235
|
-
- Server/gateway source: [`lib/mobile_gateway`](lib/mobile_gateway)
|
|
196
|
+
CCB 8.0.13 已把 Flutter 版 CCB Mobile 源码放入 [`mobile/`](mobile/),并在 GitHub Release 中发布 Android APK:
|
|
236
197
|
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
input, open terminal views, and upload/download image or document attachments
|
|
241
|
-
through the authenticated gateway.
|
|
198
|
+
- [下载 CCB Mobile v8.0.13 APK](https://github.com/bfly123/claude_code_bridge/releases/download/v8.0.13/ccb-mobile-v8.0.13.apk)
|
|
199
|
+
- App 源码:[`mobile/app`](mobile/app)
|
|
200
|
+
- 服务端 gateway 源码:[`lib/mobile_gateway`](lib/mobile_gateway)
|
|
242
201
|
|
|
243
|
-
|
|
202
|
+
手机端定位是远程控制真实服务器上的 CCB 项目。它可以从 server-wide mobile gateway 获取所有已挂载项目,切换 window/agent,渲染 agent 对话上下文,以 pane-native 输入方式发送文本,打开 terminal 视图,并通过认证 gateway 上传/下载图片和文档附件。
|
|
244
203
|
|
|
245
|
-
|
|
246
|
-
ccb update mobile
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
Then follow the printed steps:
|
|
204
|
+
安全边界:
|
|
250
205
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
4. Open CCB Mobile and scan the pairing QR.
|
|
256
|
-
|
|
257
|
-
Security boundaries:
|
|
258
|
-
|
|
259
|
-
- The CCB gateway remains bound to loopback, such as `127.0.0.1:8787`.
|
|
260
|
-
- Tailscale Serve is used for tailnet access; Tailscale Funnel is not enabled.
|
|
261
|
-
- CCB does not store Tailscale passwords, OAuth tokens, admin API tokens, or
|
|
262
|
-
alter tailnet ACLs/grants.
|
|
263
|
-
- The phone only receives the scopes granted by the pairing profile, such as
|
|
264
|
-
view, content, terminal, file upload, and file download.
|
|
206
|
+
- CCB gateway 只绑定 loopback,例如 `127.0.0.1:8787`。
|
|
207
|
+
- 远程访问使用 Tailscale Serve,不启用 Tailscale Funnel。
|
|
208
|
+
- CCB 不保存 Tailscale 密码、OAuth token、admin API token,也不会自动修改 tailnet ACL/grants。
|
|
209
|
+
- 手机只获得 pairing profile 授权的 scope,例如 view、content、terminal、file upload 和 file download。
|
|
265
210
|
|
|
266
211
|
</details>
|
|
267
212
|
|
|
268
|
-
<a id="rich-mode
|
|
213
|
+
<a id="rich-mode"></a>
|
|
269
214
|
|
|
270
|
-
|
|
215
|
+
## Rich 富媒体终端
|
|
271
216
|
|
|
272
|
-
|
|
217
|
+
在终端查看文件结构、打开文件、编辑文档和预览媒体内容。
|
|
273
218
|
|
|
274
219
|
<p align="center">
|
|
275
|
-
<img src="assets/readme_v7/rich-workbench.png" alt="CCB rich
|
|
220
|
+
<img src="assets/readme_v7/rich-workbench.png" alt="CCB rich 富媒体工作台在 WezTerm 中使用 Yazi 预览" width="860">
|
|
276
221
|
</p>
|
|
277
222
|
|
|
278
223
|
```bash
|
|
279
224
|
ccb update rich
|
|
280
225
|
```
|
|
281
226
|
|
|
282
|
-
|
|
227
|
+
rich 启用后,普通 `ccb` 会自动打开 rich WezTerm launcher,只有当当前已经处于 CCB 自己拉起的 rich WezTerm 中时才不会再次跳转;运行 `ccb uninstall rich` 可退回普通终端启动。
|
|
283
228
|
|
|
284
|
-
<
|
|
285
|
-
<summary><b>Rich Mode details</b></summary>
|
|
229
|
+
<a id="agent-roles"></a>
|
|
286
230
|
|
|
287
|
-
|
|
231
|
+
## Agent Roles Spec 规范和角色库
|
|
288
232
|
|
|
289
|
-
|
|
233
|
+
CCB 支持 [Agent Roles Spec](https://github.com/SeemSeam/agent-roles-spec):这是一个 host-neutral 的专业 agent 封装规范,可把 skills、记忆和工具依赖打包成可安装、可挂载、可卸载的 Role Pack。该仓库同时也是公开角色库。
|
|
290
234
|
|
|
291
|
-
|
|
235
|
+
| Role | 基本功能 |
|
|
236
|
+
| :--- | :--- |
|
|
237
|
+
| `agentroles.ccb_self` | CCB 自维护、配置辅助、运行诊断、受保护恢复和工作流编排。 |
|
|
238
|
+
| `agentroles.archi` | 架构审查、边界检查、耦合分析、可维护性风险和后续 gate 建议。 |
|
|
239
|
+
| `agentroles.frontend_engineer` | 前端设计与实现、设计系统、可访问性、浏览器 QA 和受审查的 AGY 委派。 |
|
|
240
|
+
| `agentroles.mobile_app_engineer` | iOS、Android、React Native、Expo、Flutter、SwiftUI、Jetpack Compose 等移动端设计与实现。 |
|
|
241
|
+
| `agentroles.mother` | Role 创建、Role source 审计、角色研究、蓝图设计和 Agent Roles 规范合规检查。 |
|
|
242
|
+
| `agentroles.su_ccb` | SU-CCB 工作流操作,覆盖需求分析、计划、派发、审查 gate、归档和恢复。 |
|
|
292
243
|
|
|
293
|
-
|
|
244
|
+
<a id="config-memory"></a>
|
|
294
245
|
|
|
295
|
-
|
|
296
|
-
<summary><b>Available catalog roles</b></summary>
|
|
246
|
+
## 配置和共享记忆
|
|
297
247
|
|
|
298
|
-
|
|
299
|
-
| :--- | :--- |
|
|
300
|
-
| `agentroles.ccb_self` | CCB self-maintenance, config help, runtime diagnosis, guarded recovery, and workflow orchestration. |
|
|
301
|
-
| `agentroles.archi` | Architecture review, boundary checks, coupling analysis, maintainability risk, and practical next-step gates. |
|
|
302
|
-
| `agentroles.frontend_engineer` | Frontend design and implementation, design-system work, accessibility, browser QA, and reviewed AGY delegation. |
|
|
303
|
-
| `agentroles.mobile_app_engineer` | Mobile app design and implementation across iOS, Android, React Native, Expo, Flutter, SwiftUI, and Jetpack Compose. |
|
|
304
|
-
| `agentroles.mother` | Role creation, role-source audit, role research, blueprinting, and Agent Roles spec compliance review. |
|
|
305
|
-
| `agentroles.su_ccb` | SU-CCB workflow operation for requirement analysis, planning, dispatch, review gates, archive, and recovery. |
|
|
248
|
+
如果你不确定应该如何分组、要几个 worker、哪些 agent 用 worktree、哪些 agent 需要独立模型或 API,可以直接问当前工作台里的 `ccb_self`。它是 CCB 内置的 self-agent,理解 CCB 命令、配置权威层、roles、windows、reload 边界和常见恢复路径,并能用私有 `ccb-config` skill 和你讨论后生成配置方案。空白项目默认包含 `ccb_self`;已有自定义配置可以用 `ccb roles add agentroles.ccb_self:codex` 添加。
|
|
306
249
|
|
|
307
|
-
|
|
250
|
+
`.ccb/ccb_memory.md` 是项目级共享记忆文档,适合记录团队协作规则、项目约束、长期上下文和 agent 交接约定。把跨 agent 的稳定信息放在这里,比把同一段说明复制到多个 provider 私有记忆里更可靠。
|
|
308
251
|
|
|
309
|
-
|
|
252
|
+
<a id="contact"></a>
|
|
253
|
+
|
|
254
|
+
## 联系方式
|
|
310
255
|
|
|
311
256
|
- Email: `bfly123@126.com`
|
|
312
|
-
-
|
|
313
|
-
-
|
|
257
|
+
- [Telegram group & contact / TG 群与联系](https://t.me/+BKn03v8I_ehmYzRk)
|
|
258
|
+
- 微信: `seemseam-com`
|
|
314
259
|
|
|
315
260
|
<p align="center">
|
|
316
|
-
<img src="assets/weixin.jpg" alt="
|
|
261
|
+
<img src="assets/weixin.jpg" alt="微信群" width="240">
|
|
317
262
|
</p>
|
|
318
263
|
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
## More Reading
|
|
322
|
-
|
|
323
|
-
Start with Quick Start for first use. Open only the reference area you need.
|
|
324
|
-
|
|
325
|
-
| Topic | When to open it |
|
|
326
|
-
| :--- | :--- |
|
|
327
|
-
| Concepts and positioning | What CCB is, why multi-agent workflows help, and how CCB compares with other approaches. |
|
|
328
|
-
| Daily operation | Common commands and tmux basics for routine use. |
|
|
329
|
-
| Configuration and roles | `.ccb/ccb.config`, Role Packs, and `ccb_self` configuration help. |
|
|
330
|
-
| Collaboration and maintenance | Ask routes, install/update notes, FAQ, and credits. |
|
|
331
|
-
| Release notes | Current v7 highlights and historical release entries. |
|
|
332
|
-
|
|
333
|
-
<details open>
|
|
334
|
-
<summary><b>Concepts and positioning</b></summary>
|
|
335
|
-
|
|
336
|
-
### What Is CCB?
|
|
337
|
-
|
|
338
|
-
CCB is a project-level agent CLI workspace. It uses tmux to manage multiple real CLI agents and unifies startup, restore, communication, configuration, windows, and runtime state for one project.
|
|
339
|
-
|
|
340
|
-
- **Real CLI sessions, not fake panels**: every agent pane runs the actual provider CLI.
|
|
341
|
-
- **Visible collaboration**: the sidebar shows windows, agents, status, and communication; users can switch panes by mouse.
|
|
342
|
-
- **Mixed providers**: one project can run Codex, Claude, Gemini, Kimi (`kimi`), MiMo (`mimo`), Qwen (`qwen`), Cursor (`cursor`), Copilot (`copilot`), Crush (`crush`), Kiro (`kiro`), Pi (`pi`), Z.ai CLI (`zai`), OpenCode, Droid, and Antigravity (`agy`) together.
|
|
343
|
-
- **Project config**: `.ccb/ccb.config` defines the team, layout, windows, worktrees, model, key, and url.
|
|
344
|
-
- **Built-in CCB expert**: blank projects include `ccb_self`, a self-maintenance agent with deep CCB knowledge for usage guidance, config design, diagnostics, recovery, and workflow repair.
|
|
345
|
-
- **Roles**: a new role packaging model that lets specialized agents carrying
|
|
346
|
-
"heavy weapons" such as independent skills, memory, and tool dependencies
|
|
347
|
-
instantly land in a target project as hot-loadable, removable agents, while
|
|
348
|
-
leaving the main environment, user global config, and project runtime state
|
|
349
|
-
unchanged.
|
|
350
|
-
- **Recoverable runtime**: CCB supervises agent panes and supports attach, restore, and project-scoped cleanup.
|
|
351
|
-
- **Explicit collaboration channel**: agents can delegate through `/ask`, `$ask`, callback, and silence routes.
|
|
352
|
-
|
|
353
|
-
### Why Multi Agents
|
|
354
|
-
|
|
355
|
-
A single agent is enough for small tasks. Once work needs planning, parallel edits, review, testing, and handoff, multi agents help separate roles, context, models, and execution. CCB focuses on putting multiple real CLI agents into one visible terminal workspace.
|
|
264
|
+
<a id="community"></a>
|
|
356
265
|
|
|
357
|
-
|
|
358
|
-
| :--- | :--- |
|
|
359
|
-
| Role separation | `main` plans, `worker` implements, `reviewer` checks risk. |
|
|
360
|
-
| Parallel progress | One agent can edit while another reads docs, validates, or reviews. |
|
|
361
|
-
| Model and context layering | Different agents can use different providers, models, APIs, worktrees, and memory. |
|
|
362
|
-
|
|
363
|
-
<details>
|
|
364
|
-
<summary><b>Why one agent starts to struggle</b></summary>
|
|
365
|
-
|
|
366
|
-
- Mixed roles reduce context focus: one conversation tries to architect, edit, test, and review itself.
|
|
367
|
-
- Complex task execution has a ceiling: long work needs split points, handoffs, checks, and rollback boundaries.
|
|
368
|
-
- Cost pressure is higher: if every step needs the strongest model, even simple sub-tasks become expensive.
|
|
369
|
-
- Tool and skill management becomes harder: a "does everything" agent also accumulates too much authority and instruction load.
|
|
370
|
-
- Serial waiting is inefficient: when one agent is reading logs or running tests, other independent work cannot naturally continue.
|
|
371
|
-
|
|
372
|
-
</details>
|
|
373
|
-
|
|
374
|
-
### Which Multi-Agent Approach Should You Use?
|
|
375
|
-
|
|
376
|
-
Multi-agent systems are not one fixed shape. Use the short table first; expand the details only if you are comparing tradeoffs.
|
|
377
|
-
|
|
378
|
-
| Approach | One-line summary | Best fit |
|
|
379
|
-
| :--- | :--- | :--- |
|
|
380
|
-
| [Claude Code native subagents](https://code.claude.com/docs/en/sub-agents) / [agent teams](https://code.claude.com/docs/en/agent-teams) | Native delegation inside Claude Code. | You mostly stay in Claude Code and want more coordination handled by a Claude lead. |
|
|
381
|
-
| [Hive / OpenHive](https://github.com/aden-hive/hive) | Production-oriented multi-agent workflow harness. | You need state, recovery, observability, cost controls, and graph workflows. |
|
|
382
|
-
| CCB | Visible, controllable local CLI-agent workspace with mixed providers. | You want Codex, Claude, Gemini, Kimi, MiMo, Qwen, Cursor, Copilot, Crush, Kiro, Z.ai CLI, OpenCode, Antigravity, and other real CLIs in one project terminal. |
|
|
383
|
-
|
|
384
|
-
<details>
|
|
385
|
-
<summary><b>Details: model choice, control, context, and complex workflows</b></summary>
|
|
386
|
-
|
|
387
|
-
| Question | Claude Code native | Hive / OpenHive | CCB |
|
|
388
|
-
| :--- | :--- | :--- | :--- |
|
|
389
|
-
| Different model vendors? | Can choose Claude models for teammates/subagents; overall path is still Claude Code. | LiteLLM route covers many hosted and local providers. | Choose Codex, Claude, Gemini, Kimi, MiMo, Qwen, Cursor, Copilot, Crush, Kiro, Z.ai CLI, OpenCode, Droid, Antigravity, and per-agent model/key/url. |
|
|
390
|
-
| Is the process visible? | In-process or split panes depending on mode. | Runtime observability and dashboard-style control. | Real tmux panes by default; users can click, type, copy, and inspect each CLI. |
|
|
391
|
-
| Is topology controllable? | Natural-language teammate setup, with much coordination handled by the lead. | Goal-generated graph-like topology, harness oriented. | Config explicitly defines agents, windows, panes, worktrees, and sidebar behavior. |
|
|
392
|
-
| Is context manageable? | Subagents/teammates have separate contexts; teams have task and message state. | Role memory, durable state, and recovery are core design points. | Each CLI keeps its provider session; shared project memory and per-agent memory are optional. |
|
|
393
|
-
| Best landing zone | Fast delegation inside Claude Code. | Business automation, long-running workflows, production reliability. | Local development with visible cross-provider CLI agents. |
|
|
394
|
-
|
|
395
|
-
CCB also supports complex workflows, but it is not an automatic DAG generator. You design complexity explicitly through `.ccb/ccb.config`, windows, role memory, worktrees, model/API settings, and ask/callback routes.
|
|
396
|
-
|
|
397
|
-
</details>
|
|
398
|
-
|
|
399
|
-
</details>
|
|
400
|
-
|
|
401
|
-
<details>
|
|
402
|
-
<summary><b>Daily operation</b></summary>
|
|
403
|
-
|
|
404
|
-
### Daily Operation
|
|
405
|
-
|
|
406
|
-
| Goal | Command |
|
|
407
|
-
| :--- | :--- |
|
|
408
|
-
| Start or reattach the current project workspace | `ccb` |
|
|
409
|
-
| Safe start, keeping configured/manual permission behavior | `ccb -s` |
|
|
410
|
-
| Rebuild runtime state while keeping config and same-name managed agent history | `ccb -n` |
|
|
411
|
-
| Stop this project's background runtime | `ccb kill` |
|
|
412
|
-
| Force cleanup before rebuilding | `ccb kill -f` then `ccb -n` |
|
|
413
|
-
| Update to the latest stable release | `ccb update` |
|
|
414
|
-
| Install or refresh the optional rich workbench | `ccb update rich` |
|
|
415
|
-
| Remove rich mode and return normal startup | `ccb uninstall rich` |
|
|
416
|
-
| Open the rich workbench | `ccb rich` |
|
|
417
|
-
| Inspect the active config layer | `ccb config validate` |
|
|
418
|
-
| Preview a config reload plan without changing tmux | `ccb reload --dry-run` |
|
|
419
|
-
| Apply supported config changes without restarting other agents | `ccb reload` |
|
|
420
|
-
|
|
421
|
-
### tmux Basics
|
|
422
|
-
|
|
423
|
-
CCB can be used mostly with the mouse, but learning a few tmux shortcuts makes daily work much faster. This section lists only common tmux keyboard operations.
|
|
424
|
-
|
|
425
|
-
In this section, `<prefix>` means `Ctrl-b`: **press `Ctrl-b`, release it, then press the function key**. Use an English input method for the function key so punctuation keys are not intercepted by another IME.
|
|
426
|
-
|
|
427
|
-
| Goal | Function key | Notes |
|
|
428
|
-
| :--- | :--- | :--- |
|
|
429
|
-
| Move to an adjacent pane | `h` / `j` / `k` / `l` or Arrow keys | CCB-managed tmux sessions enable Vim-style pane focus keys. |
|
|
430
|
-
| Resize current pane | `H` / `J` / `K` / `L` | Repeatable resize keys in Vim directions. |
|
|
431
|
-
| Move to the next pane | `o` | Fast rotation when direction does not matter. |
|
|
432
|
-
| Zoom / unzoom current pane | `z` | Useful for long output, diffs, and logs. |
|
|
433
|
-
| Open window / pane list | `w` | Pick a target in larger layouts. |
|
|
434
|
-
| Next window | `n` | Switch to the next tmux window. |
|
|
435
|
-
| Previous window | `p` | Switch to the previous tmux window. |
|
|
436
|
-
| Jump to numbered window | `0` to `9` | Jump directly by tmux window number. |
|
|
437
|
-
| Enter copy / scroll mode | `[` | Review history, scroll, and select text. |
|
|
438
|
-
| Exit copy / scroll mode | `q` or `Esc` | Return to normal input. |
|
|
439
|
-
| Paste tmux buffer | `]` | Paste content copied into tmux's own buffer. |
|
|
440
|
-
| Detach session | `d` | Leave the display without stopping CCB; you can reattach later. |
|
|
441
|
-
|
|
442
|
-
Copy and paste tips:
|
|
443
|
-
|
|
444
|
-
- **Mouse copy**: in most terminals, drag with the left mouse button to copy; if tmux captures the drag, enter copy / scroll mode first.
|
|
445
|
-
- **Bypass tmux selection**: many terminals support `Shift + mouse drag` for native terminal selection.
|
|
446
|
-
- **System paste**: Linux/Windows terminals usually use `Ctrl+Shift+V`; macOS terminals usually use `Cmd+V`.
|
|
447
|
-
- **tmux paste**: if the content is in the tmux buffer, use function key `]`.
|
|
448
|
-
|
|
449
|
-
<details>
|
|
450
|
-
<summary><b>More common tmux operations</b></summary>
|
|
451
|
-
|
|
452
|
-
| Goal | Function key | Notes |
|
|
453
|
-
| :--- | :--- | :--- |
|
|
454
|
-
| Scroll in copy / scroll mode | `PageUp` / `PageDown` / `Arrow keys` | Terminal support can vary. |
|
|
455
|
-
| Start selection in copy / scroll mode | `v` | CCB uses tmux vi copy mode. |
|
|
456
|
-
| Copy selection in copy / scroll mode | `y` | Copies to the tmux buffer and exits copy mode. |
|
|
457
|
-
| Search in copy / scroll mode | `Ctrl-s` / `Ctrl-r` | Commonly forward / backward search. |
|
|
458
|
-
| Create a window | `c` | Use only when you intentionally need another shell. |
|
|
459
|
-
| Rename a window | `,` | Helps identify multi-window workflows. |
|
|
460
|
-
| Show tmux key help | `?` | Useful when you forget a shortcut. |
|
|
461
|
-
|
|
462
|
-
New users should avoid pane/window killing shortcuts at first. To stop a CCB project, prefer CCB's project-level shutdown command instead of killing one recoverable pane by accident.
|
|
463
|
-
|
|
464
|
-
</details>
|
|
465
|
-
|
|
466
|
-
</details>
|
|
467
|
-
|
|
468
|
-
<details>
|
|
469
|
-
<summary><b>Configuration and roles</b></summary>
|
|
470
|
-
|
|
471
|
-
### Configure Your Agent Team
|
|
472
|
-
|
|
473
|
-
CCB resolves config in three layers, from lowest to highest priority:
|
|
474
|
-
|
|
475
|
-
1. Built-in default config.
|
|
476
|
-
2. User config at `~/.ccb/ccb.config`.
|
|
477
|
-
3. Project config at `.ccb/ccb.config`.
|
|
478
|
-
|
|
479
|
-
Higher layers replace lower layers as a whole; they are not merged. The project authority file is `.ccb/ccb.config`. The old `.ccb_config/ccb.config` path is legacy migration evidence only.
|
|
480
|
-
The built-in default is a v2 `[windows]` config with `agent1`, `agent2`, `agent3`, and `ccb_self`. The optional rich workbench can be installed with `ccb update rich`; once enabled, normal `ccb` startup uses the rich launcher unless you run `ccb uninstall rich`. The default `ccb_self` agent uses `codex` and is bound to `agentroles.ccb_self`.
|
|
481
|
-
|
|
482
|
-
`.ccb/ccb.config` mainly controls:
|
|
483
|
-
|
|
484
|
-
| Config area | Syntax or location | Notes |
|
|
485
|
-
| :--- | :--- | :--- |
|
|
486
|
-
| Window grouping | `[windows]` | Group agents into tmux windows such as `main`, `work`, `review`, or `research`. |
|
|
487
|
-
| Agent name and provider | `main:codex`, `reviewer:claude` | Names are used by the UI, ask routing, and memory files; provider decides which CLI starts. |
|
|
488
|
-
| Workspace isolation | `worker1:codex(worktree)` | Gives implementation agents isolated git worktrees to reduce accidental overlap. |
|
|
489
|
-
| Sidebar behavior | `[ui.sidebar]` | Controls whether the sidebar appears in every window, its left/right position, width, and Comms height. |
|
|
490
|
-
| Tool windows | `[tool_windows.<name>]` | Add managed non-agent windows such as the rich workbench; they appear as one sidebar row and are not `ask` targets. |
|
|
491
|
-
| Per-agent model/API | `[agents.<name>]` | Configure `model`, `key`, `url`, and related agent-local overrides. |
|
|
492
|
-
| Role Pack binding | `agentroles.archi:codex` | Bind a reusable role package through a window leaf; role assets are installed once and projected into the derived agent. |
|
|
493
|
-
| Role description | `[agents.<name>] description = "..."` | Give an agent a short responsibility note; longer workflow rules belong in memory. |
|
|
494
|
-
|
|
495
|
-
After editing `.ccb/ccb.config` in a mounted project, run `ccb reload --dry-run` to preview the plan and `ccb reload` to apply it. The explicit reload path can dynamically add agents, add windows, add/remove managed tool windows, unload idle agents, and remove idle windows while keeping unrelated agents and panes running. It does not run as a background file watcher, and unsafe changes such as busy unloads, provider replacement, agent moves, tool command replacement, and arbitrary reshapes are rejected without killing existing panes.
|
|
496
|
-
|
|
497
|
-
If you want to discuss the configuration before writing it by hand, ask `ccb_self` to describe the target team. Blank projects include this route by default; projects with a user or project config should add `agentroles.ccb_self` if they have overridden the built-in default. Its built-in `ccb-config` skill proposes a complete config first, then writes `.ccb/ccb.config` only after confirmation.
|
|
498
|
-
|
|
499
|
-
#### Role Packs
|
|
500
|
-
|
|
501
|
-
Role Packs define reusable agent roles through the
|
|
502
|
-
[Agent Roles Spec](https://github.com/SeemSeam/agent-roles-spec). The spec is a
|
|
503
|
-
host-neutral package format for specialist agents: a Role carries a stable
|
|
504
|
-
identity, responsibilities, non-goals, memory, skills, prompts, references,
|
|
505
|
-
tools, plugin content, validation notes, and host adapter metadata as one
|
|
506
|
-
reviewable unit.
|
|
507
|
-
|
|
508
|
-
The practical value is separation. Role source stays portable and versioned;
|
|
509
|
-
project bindings decide where that Role is mounted; runtime provider state,
|
|
510
|
-
credentials, task progress, and generated projection output stay outside the
|
|
511
|
-
Role. That makes specialist agents easier to install, update, audit, migrate,
|
|
512
|
-
and remove without copying long prompts into every project or mutating user
|
|
513
|
-
global configuration.
|
|
514
|
-
|
|
515
|
-
The recommended default catalog roles are `agentroles.ccb_self`, the CCB
|
|
516
|
-
self-maintenance role, and `agentroles.archi`, an architecture reviewer role
|
|
517
|
-
from `agent-roles-spec` backed by Architec. `install.sh install` automatically
|
|
518
|
-
attempts to install or refresh these recommended roles by default; `ccb update`
|
|
519
|
-
refreshes installed roles and installs missing recommended roles in the user
|
|
520
|
-
environment. You can also refresh manually:
|
|
521
|
-
|
|
522
|
-
```bash
|
|
523
|
-
ccb roles list
|
|
524
|
-
ccb roles show agentroles.archi
|
|
525
|
-
ccb roles install agentroles.archi
|
|
526
|
-
ccb roles update agentroles.ccb_self
|
|
527
|
-
ccb roles update agentroles.archi
|
|
528
|
-
```
|
|
529
|
-
|
|
530
|
-
Project role bindings stay pinned by `.ccb/role-lock.json`. `ccb update` does
|
|
531
|
-
not rewrite project locks. When you run `ccb` inside a project, CCB checks
|
|
532
|
-
bound role locks against the current installed roles; interactive starts ask
|
|
533
|
-
whether to refresh stale project locks in place, and non-interactive starts
|
|
534
|
-
print a warning only.
|
|
535
|
-
|
|
536
|
-
`ccb_self` is strongly recommended for CCB projects because it is the built-in
|
|
537
|
-
CCB expert agent. It carries CCB-specific knowledge about project config,
|
|
538
|
-
command usage, role binding, reload boundaries, runtime diagnostics, guarded
|
|
539
|
-
recovery, workflow repair, and single-agent restart assistance without taking
|
|
540
|
-
over product work. Blank projects include it in the built-in default. Existing
|
|
541
|
-
projects, and projects with user or project config that replace the built-in
|
|
542
|
-
default, should add it explicitly where they want that maintenance agent:
|
|
543
|
-
|
|
544
|
-
```bash
|
|
545
|
-
ccb roles add agentroles.ccb_self:codex
|
|
546
|
-
ccb reload
|
|
547
|
-
```
|
|
548
|
-
|
|
549
|
-
To use `agentroles.archi` in a project, add it as a window leaf:
|
|
550
|
-
|
|
551
|
-
```bash
|
|
552
|
-
ccb roles add agentroles.archi:codex
|
|
553
|
-
ccb reload
|
|
554
|
-
```
|
|
555
|
-
|
|
556
|
-
This writes the compact form `agentroles.archi:codex`. At runtime CCB resolves
|
|
557
|
-
it to the project-local agent `archi`, then projects the role memory and skills
|
|
558
|
-
into that agent's managed provider home.
|
|
559
|
-
|
|
560
|
-
<details>
|
|
561
|
-
<summary><b>Config format examples: single window, multi-window, per-agent model/API</b></summary>
|
|
562
|
-
|
|
563
|
-
#### Single-window compact config
|
|
564
|
-
|
|
565
|
-
```text
|
|
566
|
-
cmd; main:codex, worker1:codex(worktree); reviewer:claude
|
|
567
|
-
```
|
|
266
|
+
## 社区和致谢
|
|
568
267
|
|
|
569
|
-
|
|
268
|
+
感谢 [Linux.do 社区](https://linux.do) 在测试、反馈和讨论中的支持。
|
|
570
269
|
|
|
571
|
-
-
|
|
572
|
-
- `main`, `worker1`, and `reviewer` are agent names.
|
|
573
|
-
- `codex` and `claude` are providers.
|
|
574
|
-
- `;` splits left-to-right; `,` stacks top-to-bottom.
|
|
575
|
-
- `(worktree)` means that agent uses an isolated git worktree.
|
|
270
|
+
感谢 [tmux-agent-sidebar](https://github.com/hiroppy/tmux-agent-sidebar) 提供的 sidebar 思路和启发。
|
|
576
271
|
|
|
577
|
-
|
|
272
|
+
<a id="release-notes"></a>
|
|
578
273
|
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
```toml
|
|
582
|
-
version = 2
|
|
583
|
-
entry_window = "main"
|
|
584
|
-
|
|
585
|
-
[windows]
|
|
586
|
-
main = "main:codex"
|
|
587
|
-
work = "worker1:codex(worktree), worker2:claude(worktree)"
|
|
588
|
-
review = "reviewer:claude, qa:gemini"
|
|
589
|
-
|
|
590
|
-
[ui.sidebar]
|
|
591
|
-
mode = "every_window"
|
|
592
|
-
width = "15%"
|
|
593
|
-
bottom_height = 20
|
|
594
|
-
agents_height = "50%"
|
|
595
|
-
comms_height = "15%"
|
|
596
|
-
tips_height = "35%"
|
|
597
|
-
comms_limit = 3
|
|
598
|
-
```
|
|
599
|
-
|
|
600
|
-
Note: `cmd` belongs to compact/hybrid single-window layouts. Do not put `cmd` inside `[windows]`.
|
|
601
|
-
|
|
602
|
-
#### Rich workbench tool window
|
|
603
|
-
|
|
604
|
-
Tool windows are tmux windows managed by CCB, but they are not agents. They do not appear in `ccb ask` targets and do not create provider runtime records.
|
|
605
|
-
|
|
606
|
-
```toml
|
|
607
|
-
version = 2
|
|
608
|
-
entry_window = "main"
|
|
609
|
-
|
|
610
|
-
[windows]
|
|
611
|
-
main = "main:codex"
|
|
612
|
-
|
|
613
|
-
[tool_windows.rich]
|
|
614
|
-
command = "CCB_WORKBENCH_PROFILE=rich CCB_WORKBENCH_FORCE_RICH=1 ccb-workbench files"
|
|
615
|
-
label = "rich"
|
|
616
|
-
```
|
|
617
|
-
|
|
618
|
-
`ccb update rich` prepares the optional workbench bundle under CCB-owned XDG paths, downloads and validates bundled binaries where available, and uses the platform package manager only for required rich dependencies such as WezTerm, Markdown/PDF/image/video helpers, and recommended fonts. Under WSL, CCB can launch Windows-native `wezterm.exe` while running the rich tools inside the current Linux distro. Normal `ccb update` keeps this bundle untouched; rerun `ccb update rich` to install, repair, or refresh it. Run `ccb uninstall rich` to remove the bundle and return plain `ccb` to normal terminal startup. Set `CCB_RICH_DOWNLOAD_BINARIES=0` to skip bundled binary downloads, or `CCB_RICH_INSTALL_DEPS=0` to skip system package installation.
|
|
619
|
-
|
|
620
|
-
#### Per-agent model, API key, or base URL
|
|
621
|
-
|
|
622
|
-
Use compact format when layout is enough. If some agents need separate models or API routes, keep the compact header and add TOML overlays:
|
|
623
|
-
|
|
624
|
-
```toml
|
|
625
|
-
cmd; fast:codex, deep:codex; reviewer:claude
|
|
626
|
-
|
|
627
|
-
[agents.fast]
|
|
628
|
-
model = "gpt-5-mini"
|
|
629
|
-
|
|
630
|
-
[agents.deep]
|
|
631
|
-
key = "sk-..."
|
|
632
|
-
url = "https://api.example.com/v1"
|
|
633
|
-
model = "gpt-5"
|
|
634
|
-
|
|
635
|
-
[agents.reviewer]
|
|
636
|
-
model = "sonnet"
|
|
637
|
-
```
|
|
638
|
-
|
|
639
|
-
Do not commit real API keys to a public repository. `key` / `url` are agent-local shortcuts; advanced provider environment variables belong in provider profile or agent env fields.
|
|
640
|
-
|
|
641
|
-
</details>
|
|
642
|
-
|
|
643
|
-
### Use ccb_self For CCB Config
|
|
644
|
-
|
|
645
|
-
The full `ccb-config` skill belongs to the `agentroles.ccb_self` role. It is not a globally inherited skill for every agent. CCB installs or refreshes this Role Pack by default, and blank projects include `ccb_self` in the built-in default config. Existing projects, or projects with a user/project config that replaces the built-in default, should bind it where they want the maintenance assistant.
|
|
646
|
-
|
|
647
|
-
`ccb_self` is more than a config helper: it is designed as CCB's self-understanding agent. Use it when you need help using CCB, explaining the active layout, choosing an agent topology, migrating `.ccb/ccb.config`, diagnosing project runtime state, or repairing a CCB workflow.
|
|
648
|
-
|
|
649
|
-
If you do not want to hand-write `.ccb/ccb.config`, ask `ccb_self` and describe your project goal, parallelism, window grouping, worktree isolation, provider/model/API preferences. `ccb_self` uses its built-in `ccb-config` skill to discuss the shape with you and propose a complete config.
|
|
650
|
-
|
|
651
|
-
Example:
|
|
652
|
-
|
|
653
|
-
```bash
|
|
654
|
-
ccb ask ccb_self "Design a team for a Python library: main coordinates work, three workers implement in worktrees, and one reviewer checks regressions and risks. Recommend whether this should stay single-window or become main/work/review windows."
|
|
655
|
-
```
|
|
656
|
-
|
|
657
|
-
For an existing project that does not already configure `ccb_self`, run
|
|
658
|
-
`ccb roles add agentroles.ccb_self:codex` and `ccb reload` first.
|
|
659
|
-
|
|
660
|
-
<details>
|
|
661
|
-
<summary><b>ccb-config write flow and boundaries</b></summary>
|
|
662
|
-
|
|
663
|
-
1. Describe the project and team goal in natural language.
|
|
664
|
-
2. `ccb_self`'s built-in `ccb-config` reads the current config authority and decides whether this is a new config, an edit, or a migration.
|
|
665
|
-
3. It proposes one complete config before writing.
|
|
666
|
-
4. You confirm the proposal, then it edits only `.ccb/ccb.config`.
|
|
667
|
-
5. It validates the config and tells you to use `ccb reload --dry-run` / `ccb reload` when the change can be applied dynamically.
|
|
668
|
-
|
|
669
|
-
By default, `ccb-config` does not edit `.ccb/ccb_memory.md` or `.ccb/agents/<agent>/memory.md`. It should touch those memory files only when you explicitly ask `ccb_self` for workflow memory or role memory design.
|
|
670
|
-
|
|
671
|
-
</details>
|
|
672
|
-
|
|
673
|
-
</details>
|
|
674
|
-
|
|
675
|
-
<details>
|
|
676
|
-
<summary><b>Collaboration and maintenance</b></summary>
|
|
677
|
-
|
|
678
|
-
### Agent Collaboration
|
|
679
|
-
|
|
680
|
-
Normal `ask` is submit-and-return: after handing work to the target agent, the current agent should not poll and wait.
|
|
681
|
-
|
|
682
|
-
| Scenario | Recommended route |
|
|
683
|
-
| :--- | :--- |
|
|
684
|
-
| Human directly targets an agent | `/ask reviewer ...` or `$ask reviewer ...` |
|
|
685
|
-
| Current agent is inside an active CCB task and needs a child result before replying | `ask --callback reviewer` |
|
|
686
|
-
| Current agent sends independent work whose successful result does not need to return | `ask --silence worker1` |
|
|
687
|
-
| Queue or status diagnostics | `pend`, `watch`, `ping`, and similar commands are diagnostics only |
|
|
688
|
-
|
|
689
|
-
When an agent submits a child task, choose flags from the result intent first,
|
|
690
|
-
then add dependency and artifact preservation only when needed:
|
|
691
|
-
|
|
692
|
-
| Need | Recommended flags |
|
|
693
|
-
| :--- | :--- |
|
|
694
|
-
| Publish or execute work; successful result is not useful | `--silence` |
|
|
695
|
-
| Get a short outcome: status, findings, risks, blockers, or next steps | `--compact` |
|
|
696
|
-
| Get full consultation, analysis, report, generated doc, or structured findings | `--artifact-reply` |
|
|
697
|
-
| Continue an active parent task only after the child result arrives | add `--callback` |
|
|
698
|
-
| Preserve exact pasted logs, diff, JSON/YAML, table, or copied text | add `--artifact-request` |
|
|
699
|
-
| Preserve exact input and full output | `--artifact-io` |
|
|
700
|
-
| Short question or short handoff where inline text is enough | plain `ask` |
|
|
701
|
-
|
|
702
|
-
`--callback` and `--silence` control task relationship. Artifact flags control
|
|
703
|
-
content preservation. The automatic long-message spill is only a fallback, so
|
|
704
|
-
use artifact flags proactively when exact input or full output matters.
|
|
705
|
-
|
|
706
|
-
<details>
|
|
707
|
-
<summary><b>Why callback matters</b></summary>
|
|
708
|
-
|
|
709
|
-
If agent A is handling a user-originated CCB task and needs agent B's result to finish, A should use callback. CCB records the parent/child relationship, lets A's current turn end, and later delivers B's result back to A as a continuation. That avoids polling, queue blocking, and wasted context.
|
|
710
|
-
|
|
711
|
-
</details>
|
|
712
|
-
|
|
713
|
-
### Install And Update
|
|
714
|
-
|
|
715
|
-
#### Requirements
|
|
716
|
-
|
|
717
|
-
- Node.js and npm for the recommended npm install path
|
|
718
|
-
- Python 3.10+
|
|
719
|
-
- `tmux`
|
|
720
|
-
- At least one agent CLI you plan to use, such as Codex, Claude, Gemini, Kimi, MiMo, Qwen, Cursor, Copilot, Crush, Kiro, Z.ai CLI, OpenCode, Droid, or Antigravity
|
|
721
|
-
- Linux, macOS, or WSL
|
|
722
|
-
|
|
723
|
-
Current v7 / newer versions do not claim native Windows support. Native Windows support only applies to the v5 line. If you are on Windows and want current versions, use WSL and keep both `ccb` and agent CLIs inside WSL.
|
|
724
|
-
|
|
725
|
-
#### npm first
|
|
726
|
-
|
|
727
|
-
For first install, prefer npm:
|
|
728
|
-
|
|
729
|
-
```bash
|
|
730
|
-
npm install -g @seemseam/ccb
|
|
731
|
-
```
|
|
732
|
-
|
|
733
|
-
For later updates:
|
|
734
|
-
|
|
735
|
-
```bash
|
|
736
|
-
ccb update
|
|
737
|
-
```
|
|
738
|
-
|
|
739
|
-
[GitHub Releases](https://github.com/SeemSeam/claude_codex_bridge/releases) remain available for environments where npm is unavailable. Source checkout install is for development, fix validation, or temporary fallback.
|
|
740
|
-
|
|
741
|
-
#### Uninstall
|
|
742
|
-
|
|
743
|
-
```bash
|
|
744
|
-
ccb uninstall
|
|
745
|
-
ccb reinstall
|
|
746
|
-
|
|
747
|
-
# Fallback from the package or source directory:
|
|
748
|
-
./install.sh uninstall
|
|
749
|
-
```
|
|
750
|
-
|
|
751
|
-
### FAQ
|
|
752
|
-
|
|
753
|
-
<details>
|
|
754
|
-
<summary><b>The expected agents did not appear</b></summary>
|
|
755
|
-
|
|
756
|
-
Run `ccb config validate` and check that `config_source_kind` is the layer you expected. Project config `.ccb/ccb.config` has highest priority; if it is missing, CCB uses `~/.ccb/ccb.config` or the built-in default.
|
|
757
|
-
|
|
758
|
-
</details>
|
|
759
|
-
|
|
760
|
-
<details>
|
|
761
|
-
<summary><b>Copy/paste is awkward</b></summary>
|
|
762
|
-
|
|
763
|
-
First try mouse-drag copy and `Ctrl+Shift+V` / `Cmd+V` paste. If tmux captures the drag, use function key `[` after `<prefix>` to enter copy / scroll mode. If you only want native terminal selection, many terminals support `Shift + mouse drag`.
|
|
764
|
-
|
|
765
|
-
</details>
|
|
766
|
-
|
|
767
|
-
<details>
|
|
768
|
-
<summary><b>I want to migrate an old compact config to multi-window</b></summary>
|
|
769
|
-
|
|
770
|
-
Ask `ccb_self` to use its built-in `ccb-config` and describe your target window groups, such as main/work/review. Migration should preserve old agent names, providers, worktree markers, model/key/url fields, and write `[windows]` only after confirmation.
|
|
771
|
-
|
|
772
|
-
</details>
|
|
773
|
-
|
|
774
|
-
<details>
|
|
775
|
-
<summary><b>The sidebar helper is unavailable</b></summary>
|
|
776
|
-
|
|
777
|
-
Prefer a release package because it carries or handles the sidebar helper. Source installs may need a local Rust toolchain if no compatible prebuilt helper is available.
|
|
778
|
-
|
|
779
|
-
</details>
|
|
780
|
-
|
|
781
|
-
### Community And Credits
|
|
782
|
-
|
|
783
|
-
Thanks to the [Linux.do community](https://linux.do) for testing, feedback, and discussion.
|
|
784
|
-
|
|
785
|
-
Thanks to [tmux-agent-sidebar](https://github.com/hiroppy/tmux-agent-sidebar) for the sidebar ideas and inspiration.
|
|
786
|
-
|
|
787
|
-
</details>
|
|
788
|
-
|
|
789
|
-
<details>
|
|
790
|
-
<summary><b>Release notes</b></summary>
|
|
791
|
-
|
|
792
|
-
### Release Notes
|
|
793
|
-
|
|
794
|
-
v7 highlights:
|
|
795
|
-
|
|
796
|
-
- Native CCB sidebar with per-window project view, agent status, and mouse switching.
|
|
797
|
-
- Comms split from agent activity, making communication status and provider pane activity clearer.
|
|
798
|
-
- `version = 2` `[windows]` topology for workflow-oriented tmux window grouping.
|
|
799
|
-
- Explicit `ccb reload` support for dynamic agent/window load and idle unload without restarting unrelated agents.
|
|
800
|
-
- Compact / hybrid config compatibility, so single-window teams do not need forced migration.
|
|
801
|
-
- Hardened tmux, Ghostty, release helper, Codex trust, and provider session restore paths.
|
|
274
|
+
## 新版本记录
|
|
802
275
|
|
|
803
276
|
<details open>
|
|
804
|
-
<summary><b>v8.0.
|
|
277
|
+
<summary><b>v8.0.12</b> - Release CI 可移植性与 README 多语言同步</summary>
|
|
805
278
|
|
|
806
|
-
-
|
|
807
|
-
|
|
808
|
-
-
|
|
809
|
-
routes, pane-native message input, transcript rendering, terminal access, and
|
|
810
|
-
image/document upload and download support.
|
|
811
|
-
- Promotes `ccb update mobile` as the guided setup entry for Tailscale Tailnet
|
|
812
|
-
onboarding while preserving loopback-only gateway binding and avoiding Funnel,
|
|
813
|
-
token storage, or ACL/grant automation.
|
|
279
|
+
- mobile host registry 测试现在把临时 Unix socket 放到短的 `/tmp/ccb-sock-*` 路径,避免 macOS CI 触发 `AF_UNIX path too long`。
|
|
280
|
+
- `ccb update mobile`、README 链接、package metadata 和 mobile release manifest 对齐到 8.0.12 APK。
|
|
281
|
+
- 中文 README 现在是 GitHub 主 README;英文迁移到 `readme_en.md`,并新增日语、法语、德语、阿拉伯语、西班牙语、葡萄牙语、韩语和俄语版本,所有语言保持同一章节结构。
|
|
814
282
|
|
|
815
283
|
</details>
|
|
816
284
|
|
|
817
285
|
<details>
|
|
818
|
-
<summary><b>
|
|
286
|
+
<summary><b>v8.0.0</b> - CCB Mobile Monorepo 发布</summary>
|
|
819
287
|
|
|
820
|
-
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
- Adds short runtime socket fallback for long project paths that would exceed
|
|
824
|
-
Unix socket path limits.
|
|
825
|
-
- Hardens callback repair and Codex binding cache invalidation, then records
|
|
826
|
-
full regression, long-idle Codex soak, Claude callback, and mixed-provider
|
|
827
|
-
integration evidence.
|
|
288
|
+
- Flutter 版 CCB Mobile 源码正式进入本仓库,并在 GitHub Release 中发布 Android APK。
|
|
289
|
+
- 新增 server-wide mobile 项目发现、配对、认证 gateway 路由、pane-native 消息输入、对话上下文渲染、terminal 访问,以及图片/文档上传下载能力。
|
|
290
|
+
- 将 `ccb update mobile` 提升为 Tailscale Tailnet onboarding 的统一入口,同时保持 gateway 仅监听 loopback,不启用 Funnel、不保存 token、不自动修改 ACL/grants。
|
|
828
291
|
|
|
829
292
|
</details>
|
|
830
293
|
|
|
831
294
|
<details>
|
|
832
|
-
<summary><b>v7.
|
|
295
|
+
<summary><b>v7.7.0</b> - Runtime Accelerator 发布加固</summary>
|
|
833
296
|
|
|
834
|
-
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
- Makes Codex, Claude, and Gemini pane-backed no-terminal timeouts opt-in by
|
|
838
|
-
default while preserving explicit reliability timeout policies.
|
|
839
|
-
- Validated with a 32-minute source-runtime ask smoke: the job stayed running
|
|
840
|
-
past 30 minutes, then completed with `result_message` and no
|
|
841
|
-
`heartbeat_timeout`/`incomplete` evidence.
|
|
297
|
+
- Release artifacts 现在会携带可选 Rust `ccb-runtime-accelerator`,安装版 Codex agent 在预期存在 sidecar 时不再静默退回 Python 热路径。
|
|
298
|
+
- 当项目路径导致 Unix socket 路径过长时,accelerator socket 会自动落到短的 per-user runtime socket root。
|
|
299
|
+
- 加固 callback repair 和 Codex binding cache invalidation,并记录完整回归、长 idle Codex soak、Claude callback 和混合 provider 集成测试证据。
|
|
842
300
|
|
|
843
301
|
</details>
|
|
844
302
|
|
|
845
303
|
<details>
|
|
846
|
-
<summary><b>v7.6.
|
|
847
|
-
|
|
848
|
-
- Adds `ccb theme` as the top-level theme switch for CCB-owned tmux/sidebar UI,
|
|
849
|
-
with `+` and `-` cycling across dark and light palettes.
|
|
850
|
-
- Adds readable light-mode tmux status, pane border, sidebar, activity, and
|
|
851
|
-
comms status colors for light terminal backgrounds.
|
|
852
|
-
- Makes generated rich WezTerm profiles follow the same global CCB theme
|
|
853
|
-
preference on the next launch/reload.
|
|
304
|
+
<summary><b>v7.6.19</b> - 长任务 ask 默认等待策略</summary>
|
|
854
305
|
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
<summary><b>v7.6.17</b> - Codex Log Symlink Target Repair</summary>
|
|
859
|
-
|
|
860
|
-
- Repairs managed Codex `logs_2.sqlite` temp symlink targets when
|
|
861
|
-
`/tmp/ccb-codex-logs-*` cleanup removes the target directory between starts.
|
|
862
|
-
- Falls back by removing an unrecoverable broken symlink and restoring the local
|
|
863
|
-
backup before Codex initializes its SQLite databases.
|
|
864
|
-
- Adds regression coverage for the missing symlink target parent startup path.
|
|
865
|
-
|
|
866
|
-
</details>
|
|
867
|
-
|
|
868
|
-
<details>
|
|
869
|
-
<summary><b>v7.6.16</b> - Codex SQLite Migration Recovery</summary>
|
|
870
|
-
|
|
871
|
-
- Fixes the managed Codex `logs_2.sqlite` redirect so CCB no longer
|
|
872
|
-
pre-creates Codex-owned SQLite schema; Codex runs its own migrations first.
|
|
873
|
-
- Installs the CCB diagnostic insert-block trigger only after Codex has created
|
|
874
|
-
the log database and `_sqlx_migrations` records.
|
|
875
|
-
- Repairs bad temporary log databases left by the intermediate policy by moving
|
|
876
|
-
them aside and letting Codex recreate them through the normal migration path.
|
|
877
|
-
|
|
878
|
-
</details>
|
|
879
|
-
|
|
880
|
-
<details>
|
|
881
|
-
<summary><b>v7.6.15</b> - Codex Diagnostics And Sidebar Focus</summary>
|
|
882
|
-
|
|
883
|
-
- Redirects managed Codex `logs_2.sqlite` diagnostic writes to temporary
|
|
884
|
-
storage by default and blocks diagnostic log inserts, while diagnostics mode
|
|
885
|
-
can restore the original database path for troubleshooting.
|
|
886
|
-
- Falls back to the in-place diagnostic trigger path when the temporary SQLite
|
|
887
|
-
symlink cannot be installed.
|
|
888
|
-
- Fixes sidebar clicks for agents in other tmux windows by selecting the target
|
|
889
|
-
window before selecting the pane, with pane-id fallback when window metadata
|
|
890
|
-
is missing.
|
|
891
|
-
|
|
892
|
-
</details>
|
|
893
|
-
|
|
894
|
-
<details>
|
|
895
|
-
<summary><b>v7.6.14</b> - Mobile Gateway Alpha And Codex Diagnostics</summary>
|
|
896
|
-
|
|
897
|
-
- Adds the mobile gateway alpha surface: authenticated pairing, focus routes,
|
|
898
|
-
terminal open/resume/history routes, websocket terminal frames, public route
|
|
899
|
-
metadata, and device revocation commands.
|
|
900
|
-
- Adds right-side sidebar placement and flattened `[ui.sidebar]` rendering while
|
|
901
|
-
keeping legacy `[ui.sidebar.view]` input compatible.
|
|
902
|
-
- Supports multiple local agents sharing one Role Pack role id without
|
|
903
|
-
collapsing them into a single runtime identity.
|
|
904
|
-
- Reduces Codex diagnostic SQLite churn by filtering TRACE/DEBUG log rows by
|
|
905
|
-
default while preserving INFO/ERROR rows; `CCB_CODEX_DIAGNOSTIC_LOGS=1`
|
|
906
|
-
disables the filter.
|
|
907
|
-
|
|
908
|
-
</details>
|
|
909
|
-
|
|
910
|
-
<details>
|
|
911
|
-
<summary><b>v7.6.13</b> - Provider Profile Overlay Fixes</summary>
|
|
912
|
-
|
|
913
|
-
- Codex plugin overrides now resolve in the intended order: inherited source
|
|
914
|
-
config, `provider_profile.plugins`, then `CCB_CODEX_PLUGIN_OVERRIDES_JSON` /
|
|
915
|
-
`CCB_CODEX_PLUGIN_OVERRIDES`.
|
|
916
|
-
- Codex agents without an inherited `config.toml` now still materialize
|
|
917
|
-
`provider_profile.plugins` into managed `config.toml`.
|
|
918
|
-
- Claude `provider_profile.mcp_servers` now works even when the source
|
|
919
|
-
`.claude.json` does not exist, and `enabled = false` clears stale managed MCP
|
|
920
|
-
servers from the agent trust file.
|
|
921
|
-
- Callback continuations now preserve the upstream finalization target, and
|
|
922
|
-
inherited ask skills remind agents not to answer callback continuations before
|
|
923
|
-
upstream results are available.
|
|
924
|
-
|
|
925
|
-
</details>
|
|
926
|
-
|
|
927
|
-
<details>
|
|
928
|
-
<summary><b>v7.6.12</b> - Claude MCP And Hook Inheritance</summary>
|
|
929
|
-
|
|
930
|
-
- Managed Claude agents now inherit Claude Code MCP configuration from the
|
|
931
|
-
source `.claude.json`, including global `mcpServers` and current
|
|
932
|
-
project/workspace MCP server state.
|
|
933
|
-
- Project-level MCP state is mapped only onto the current managed workspace key,
|
|
934
|
-
so unrelated source project records are not copied into the agent home.
|
|
935
|
-
- Source-home Claude Code hooks are merged with CCB-managed finish/activity
|
|
936
|
-
hooks, so installed user hook tools stay visible after agent restart.
|
|
937
|
-
- Managed Claude `.claude.json` is treated as secret provider state because MCP
|
|
938
|
-
definitions may include environment variables or auth-adjacent launch data.
|
|
939
|
-
|
|
940
|
-
</details>
|
|
941
|
-
|
|
942
|
-
<details>
|
|
943
|
-
<summary><b>v7.6.11</b> - Layout Percent And Codex MCP Overlays</summary>
|
|
944
|
-
|
|
945
|
-
- Adds explicit pane split ratios in layout tokens, such as
|
|
946
|
-
`agent1:codex@30`, while preserving the existing even-split default when no
|
|
947
|
-
suffix is present.
|
|
948
|
-
- Adds source-controlled per-agent Codex MCP overlays through
|
|
949
|
-
`provider_profile.mcp_servers`; same-name MCP servers override inherited
|
|
950
|
-
Codex config and different names are additive.
|
|
951
|
-
- Preserves trusted Codex command hooks during managed Codex home projection,
|
|
952
|
-
improves sidebar Comms/Tips scrolling and resizing, and exposes more reply
|
|
953
|
-
artifact evidence in `ccb trace`.
|
|
954
|
-
|
|
955
|
-
</details>
|
|
956
|
-
|
|
957
|
-
<details>
|
|
958
|
-
<summary><b>v7.6.10</b> - Z.ai Provider Support</summary>
|
|
959
|
-
|
|
960
|
-
- Adds managed optional Z.ai CLI provider support with `provider = "zai"`,
|
|
961
|
-
visible `zai --directory` panes, and per-job `zai --prompt` execution.
|
|
962
|
-
- Uses Z.ai's native subprocess completion boundary: process exit plus
|
|
963
|
-
assistant stdout extraction from JSONL output, without model-printed
|
|
964
|
-
`CCB_DONE`.
|
|
965
|
-
- Adds `ZAI_START_CMD`, provider session/pathing support, deterministic stubs,
|
|
966
|
-
focused execution tests, and README/provider list updates.
|
|
967
|
-
|
|
968
|
-
</details>
|
|
969
|
-
|
|
970
|
-
<details>
|
|
971
|
-
<summary><b>v7.6.9</b> - Kimi And AGY Provider Reliability</summary>
|
|
972
|
-
|
|
973
|
-
- Kimi execution now records receipt, no-captured-output diagnostics, trace,
|
|
974
|
-
and resume metadata so missing replies and recovered turns are easier to
|
|
975
|
-
diagnose.
|
|
976
|
-
- AGY prompt delivery now waits for ready evidence, handles pane fallback and
|
|
977
|
-
ambiguous tmux send outcomes, and reports coalesced request diagnostics more
|
|
978
|
-
clearly.
|
|
979
|
-
- Dispatcher, mailbox trace, and text artifact diagnostics now expose the
|
|
980
|
-
provider details needed to investigate Kimi/AGY delivery and completion edge
|
|
981
|
-
cases.
|
|
982
|
-
|
|
983
|
-
</details>
|
|
984
|
-
|
|
985
|
-
<details>
|
|
986
|
-
<summary><b>v7.6.8</b> - Role Pack Current Store</summary>
|
|
987
|
-
|
|
988
|
-
- Role Pack runtime lookup now follows the installed current package under
|
|
989
|
-
`.roles/installed/<role-id>/current`; legacy multi-version stores remain
|
|
990
|
-
compatibility input only.
|
|
991
|
-
- Project `.ccb/role-lock.json` files are now legacy diagnostics: CCB no
|
|
992
|
-
longer writes them, adopts from them, or suppresses role memory and skills
|
|
993
|
-
because of stale lock residue.
|
|
994
|
-
- Provider launch sessions record role id, version, and digest; restart now
|
|
995
|
-
fails explicitly when the launch digest differs from installed current instead
|
|
996
|
-
of silently resuming an old provider conversation.
|
|
997
|
-
- Release artifact metadata patching now targets `ccb.py` after the bash
|
|
998
|
-
launcher split, keeping built tarballs on the intended version.
|
|
999
|
-
|
|
1000
|
-
</details>
|
|
1001
|
-
|
|
1002
|
-
<details>
|
|
1003
|
-
<summary><b>v7.6.7</b> - Rich Workbench Closure</summary>
|
|
1004
|
-
|
|
1005
|
-
- Plain `ccb` and `ccb rich` now launch the CCB-managed rich WezTerm unless
|
|
1006
|
-
already inside that managed rich session; ordinary external WezTerm sessions
|
|
1007
|
-
no longer suppress rich auto-start.
|
|
1008
|
-
- Runtime entrypoints share the `_ccb-python` launcher, keeping installed and
|
|
1009
|
-
source command execution pinned to the intended Python interpreter.
|
|
1010
|
-
- Built-in defaults keep `ccb_self` in its own `claude` window, while ordinary
|
|
1011
|
-
default startup still avoids standalone Neovim tool windows.
|
|
1012
|
-
|
|
1013
|
-
</details>
|
|
1014
|
-
|
|
1015
|
-
<details>
|
|
1016
|
-
<summary><b>v7.6.6</b> - Role Store Home Pinning</summary>
|
|
1017
|
-
|
|
1018
|
-
- Pins role store lookup outside managed provider homes so provider session
|
|
1019
|
-
`HOME` rewrites no longer make role checks search provider-local `.roles`
|
|
1020
|
-
directories.
|
|
1021
|
-
- Preserves `AGENT_ROLES_STORE` through CCB launch boundaries and falls back to
|
|
1022
|
-
the real source/account home role store when no explicit store is set.
|
|
1023
|
-
- Missing role diagnostics now print the resolved role store path, making
|
|
1024
|
-
provider-home drift easier to identify.
|
|
1025
|
-
|
|
1026
|
-
</details>
|
|
1027
|
-
|
|
1028
|
-
<details>
|
|
1029
|
-
<summary><b>v7.6.5</b> - Rich WezTerm IME</summary>
|
|
1030
|
-
|
|
1031
|
-
- Enables IME support in the generated rich WezTerm config and maps
|
|
1032
|
-
`XMODIFIERS=@im=...` into WezTerm's XIM name so X11 fcitx/ibus input works
|
|
1033
|
-
for Chinese and other IME-backed text.
|
|
1034
|
-
- Generated `ccb-workbench` wrappers now detect running or installed
|
|
1035
|
-
`fcitx5`, `fcitx`, or `ibus-daemon` before launching WezTerm, while
|
|
1036
|
-
preserving any user-provided input-method environment.
|
|
1037
|
-
- Keeps the v7.6.4 green release surface and all v7.6.2 rich/tmux fixes intact
|
|
1038
|
-
for npm latest install testing.
|
|
1039
|
-
|
|
1040
|
-
</details>
|
|
1041
|
-
|
|
1042
|
-
<details>
|
|
1043
|
-
<summary><b>v7.6.4</b> - macOS Release Install Smoke</summary>
|
|
1044
|
-
|
|
1045
|
-
- Keeps the 7.6.3 macOS temporary-root hardening and updates the CI release
|
|
1046
|
-
install smoke to use the explicit temporary-bin override for its isolated
|
|
1047
|
-
sibling `CODEX_BIN_DIR`.
|
|
1048
|
-
- Leaves user-facing installer safety intact while allowing the release
|
|
1049
|
-
workflow to validate macOS package installation from a temporary smoke root.
|
|
1050
|
-
- Keeps the v7.6.2 rich workbench and tmux single-status-row fixes intact for
|
|
1051
|
-
user install testing.
|
|
1052
|
-
|
|
1053
|
-
</details>
|
|
1054
|
-
|
|
1055
|
-
<details>
|
|
1056
|
-
<summary><b>v7.6.3</b> - macOS CI Green Patch</summary>
|
|
1057
|
-
|
|
1058
|
-
- Fixes macOS temporary-root detection for install guards by recognizing the
|
|
1059
|
-
resolved `${TMPDIR:-/tmp}` parent used by GitHub Actions runners.
|
|
1060
|
-
- Aligns doctor temporary implementation detection with macOS `/tmp` symlink
|
|
1061
|
-
behavior, preventing false red CI on `/private/tmp` and
|
|
1062
|
-
`/private/var/folders/...` paths.
|
|
1063
|
-
- Keeps the v7.6.2 rich workbench and tmux single-status-row fixes intact for
|
|
1064
|
-
user install testing.
|
|
1065
|
-
|
|
1066
|
-
</details>
|
|
1067
|
-
|
|
1068
|
-
<details>
|
|
1069
|
-
<summary><b>v7.6.2</b> - Rich Workbench Hotfix</summary>
|
|
1070
|
-
|
|
1071
|
-
- Allows `rich` in `.ccb/ccb.config` as a tool/layout alias without requiring
|
|
1072
|
-
a provider runtime; it materializes as a managed tool pane/window and is not
|
|
1073
|
-
an `ask` target.
|
|
1074
|
-
- After `ccb update rich` enables the bundle, plain `ccb` can use the rich
|
|
1075
|
-
launcher outside an existing rich/WezTerm session while avoiding recursive
|
|
1076
|
-
WezTerm launches.
|
|
1077
|
-
- Adds `ccb uninstall rich`, `ccb rich uninstall`, and `ccb rich disable` for
|
|
1078
|
-
returning to normal CCB startup without changing full `ccb uninstall`
|
|
1079
|
-
behavior.
|
|
1080
|
-
- Rich updates clean only CCB-owned legacy editor roots and links, leaving
|
|
1081
|
-
user-owned editor installs and personal config untouched.
|
|
1082
|
-
|
|
1083
|
-
</details>
|
|
1084
|
-
|
|
1085
|
-
<details>
|
|
1086
|
-
<summary><b>v7.6.1</b> - Rich Workbench Binary Packaging</summary>
|
|
1087
|
-
|
|
1088
|
-
- `ccb update rich` now bundles verified Yazi/ya binaries where possible before
|
|
1089
|
-
falling back to package managers.
|
|
1090
|
-
- Linux rich installs prefer official Yazi musl builds before GNU builds to
|
|
1091
|
-
avoid newer glibc requirements on older stable distributions.
|
|
1092
|
-
- Downloaded Yazi binaries must pass `--version` validation before activation,
|
|
1093
|
-
and invalid managed binaries are removed so fallback paths remain available.
|
|
1094
|
-
- Under WSL, rich launchers can use Windows-native `wezterm.exe` while keeping
|
|
1095
|
-
CCB, Yazi, and preview helpers inside the current Linux distro.
|
|
1096
|
-
|
|
1097
|
-
</details>
|
|
1098
|
-
|
|
1099
|
-
<details>
|
|
1100
|
-
<summary><b>v7.6.0</b> - Rich Workbench Lifecycle</summary>
|
|
1101
|
-
|
|
1102
|
-
- Makes rich workbench an explicit optional bundle installed with
|
|
1103
|
-
`ccb update rich`.
|
|
1104
|
-
- Keeps ordinary `install.sh install` and `ccb update` focused on CCB itself;
|
|
1105
|
-
they no longer auto-provision standalone Neovim.
|
|
1106
|
-
- Public `ccb tools ... neovim` routes now refuse standalone provisioning and
|
|
1107
|
-
point users to `ccb update rich`; `ccb rich` launches only an installed and
|
|
1108
|
-
enabled rich bundle.
|
|
1109
|
-
- Restores the CCB tmux status bar to one line by removing the old second-line
|
|
1110
|
-
copy hint.
|
|
1111
|
-
|
|
1112
|
-
</details>
|
|
1113
|
-
|
|
1114
|
-
<details>
|
|
1115
|
-
<summary><b>v7.5.3</b> - Kimi Runtime Reliability And Hindsight Compatibility</summary>
|
|
1116
|
-
|
|
1117
|
-
- Adds Kimi runtime hardening without changing other provider execution paths:
|
|
1118
|
-
Kimi can fall back to stable pane evidence for K2.7 Code when the native turn
|
|
1119
|
-
log does not expose a completed reply in time.
|
|
1120
|
-
- Makes Kimi Hindsight memory opt-in at the CCB execution boundary. It activates
|
|
1121
|
-
only when `.hindsight/kimi.json`, `.hindsight/codex.json`,
|
|
1122
|
-
`HINDSIGHT_API_URL`, or `HINDSIGHT_BANK_ID` is configured, and failures remain
|
|
1123
|
-
non-blocking provider diagnostics.
|
|
1124
|
-
- Preserves trusted Codex command hooks, including Hindsight Codex hooks, when
|
|
1125
|
-
CCB materializes managed Codex homes. Operators can extend the allowlist with
|
|
1126
|
-
`CCB_CODEX_INHERITED_HOOK_EVENTS` and
|
|
1127
|
-
`CCB_CODEX_INHERITED_COMMAND_HOOK_MARKERS`; arbitrary root hooks remain
|
|
1128
|
-
filtered out.
|
|
1129
|
-
- Accepts both `HINDSIGHT_API_KEY` and `HINDSIGHT_API_TOKEN` for the Kimi
|
|
1130
|
-
bridge and the `scripts/hindsight` helper.
|
|
1131
|
-
- Documents the supported provider surface more clearly in the README while
|
|
1132
|
-
keeping unrelated provider behavior unchanged.
|
|
1133
|
-
|
|
1134
|
-
</details>
|
|
1135
|
-
|
|
1136
|
-
<details>
|
|
1137
|
-
<summary><b>v7.5.2</b> - Native CLI Provider Wave</summary>
|
|
1138
|
-
|
|
1139
|
-
- Adds built-in optional provider ids for Qwen Code (`qwen`), Cursor Agent
|
|
1140
|
-
(`cursor`), GitHub Copilot CLI (`copilot`), Crush (`crush`), Kiro CLI
|
|
1141
|
-
(`kiro`), Pi (`pi`), and Z.ai CLI (`zai`).
|
|
1142
|
-
- Uses native per-job CLI execution and provider-owned completion signals:
|
|
1143
|
-
stream-json / JSON result events for Qwen, Cursor, Copilot, and Pi; process
|
|
1144
|
-
exit plus stdout for Crush, Kiro, and Z.ai CLI. These adapters do not require
|
|
1145
|
-
model-printed `CCB_DONE`; Pi terminalizes on native `turn_end`.
|
|
1146
|
-
- Adds `QWEN_START_CMD`, `CURSOR_START_CMD`, `COPILOT_START_CMD`,
|
|
1147
|
-
`CRUSH_START_CMD`, `KIRO_START_CMD`, `PI_START_CMD`, and `ZAI_START_CMD`
|
|
1148
|
-
command overrides plus provider session bindings, runtime launchers,
|
|
1149
|
-
deterministic stubs, and focused
|
|
1150
|
-
execution tests.
|
|
1151
|
-
|
|
1152
|
-
</details>
|
|
1153
|
-
|
|
1154
|
-
<details>
|
|
1155
|
-
<summary><b>v7.5.1</b> - MiMo Provider Release Surface</summary>
|
|
1156
|
-
|
|
1157
|
-
- Adds MiMo Code to the public README provider strip with a Xiaomi-branded
|
|
1158
|
-
MiMo badge and updates the top-level positioning to eight CLI families.
|
|
1159
|
-
- Publishes the committed MiMo native provider integration in the 7.5 line:
|
|
1160
|
-
managed `mimo` panes, `MIMO_START_CMD`, generated MiMo instructions, and
|
|
1161
|
-
`mimo run --pure --format json` completion parsing.
|
|
1162
|
-
- Synchronizes npm package metadata and release workflow defaults with the
|
|
1163
|
-
new patch release.
|
|
1164
|
-
|
|
1165
|
-
</details>
|
|
1166
|
-
|
|
1167
|
-
<details>
|
|
1168
|
-
<summary><b>v7.5.0</b> - Native CLI Providers And Homepage Sync</summary>
|
|
1169
|
-
|
|
1170
|
-
- Adds managed native CLI provider support for Kimi plus broader native CLI
|
|
1171
|
-
runtime groundwork, including runtime specs, session bindings, command
|
|
1172
|
-
overrides, and cleanup coverage.
|
|
1173
|
-
- Moves Kimi and Antigravity completion detection toward provider-owned
|
|
1174
|
-
session or transcript evidence instead of requiring model-printed `CCB_DONE`.
|
|
1175
|
-
- Uses Kimi's current `--auto-approve` flag for CCB auto-permission while
|
|
1176
|
-
recognizing legacy/alias flags such as `--auto`, `--yes`, `-y`, and `--yolo`.
|
|
1177
|
-
- Synchronizes the English and Chinese README homepages with refreshed hero
|
|
1178
|
-
assets and the seven public CLI-family positioning.
|
|
1179
|
-
|
|
1180
|
-
</details>
|
|
1181
|
-
|
|
1182
|
-
<details>
|
|
1183
|
-
<summary><b>v7.4.4</b> - Claude End-Turn And npm Release Surface</summary>
|
|
1184
|
-
|
|
1185
|
-
- Completes Claude pane-backed asks promptly when a primary assistant response
|
|
1186
|
-
emits `stop_reason=end_turn` with an observed request anchor and non-empty
|
|
1187
|
-
reply, avoiding the previous 900-second timeout path.
|
|
1188
|
-
- Treats empty session-boundary terminal events with no prior assistant reply
|
|
1189
|
-
as `incomplete/task_complete_empty_reply` with empty-provider diagnostics.
|
|
1190
|
-
- Restores the `@seemseam/ccb` npm release surface with package metadata, CLI
|
|
1191
|
-
runner wrappers, and tag-triggered Trusted Publishing after GitHub release
|
|
1192
|
-
assets are available.
|
|
1193
|
-
- Refreshes the v7 README homepage around canonical hero assets, npm-first
|
|
1194
|
-
install, and clearer `ccb_self` guidance.
|
|
1195
|
-
|
|
1196
|
-
</details>
|
|
1197
|
-
|
|
1198
|
-
<details>
|
|
1199
|
-
<summary><b>v7.4.3</b> - PR #225 Reliability Follow-Up</summary>
|
|
1200
|
-
|
|
1201
|
-
- Restores the Claude launcher contract: inline `--settings` now reflects the
|
|
1202
|
-
materialized settings overlay without injecting provider env into settings
|
|
1203
|
-
JSON.
|
|
1204
|
-
- Fixes Claude WSL Windows-executable environment forwarding so path variables
|
|
1205
|
-
use `/p` translation while `ANTHROPIC_*` API values pass through as raw env
|
|
1206
|
-
names.
|
|
1207
|
-
- Hardens Antigravity resume lookup for SQLite `bytes`, `str`, and
|
|
1208
|
-
`memoryview` metadata and falls back to `--continue` if lookup fails.
|
|
1209
|
-
- Adds regression tests for the Claude settings contract, WSL API env
|
|
1210
|
-
forwarding, and AGY resume fallback behavior.
|
|
1211
|
-
|
|
1212
|
-
</details>
|
|
1213
|
-
|
|
1214
|
-
<details>
|
|
1215
|
-
<summary><b>v7.4.2</b> - Self-Supervision And Empty Reply Guards</summary>
|
|
1216
|
-
|
|
1217
|
-
- Hardens CCB self-supervision with bounded provider-runtime snapshots,
|
|
1218
|
-
project-view activity evidence, suspicion envelopes, and a self-first
|
|
1219
|
-
diagnosis path.
|
|
1220
|
-
- Treats empty Claude/Gemini hook replies, Codex protocol `task_complete`
|
|
1221
|
-
empty replies, and AGY done-marker empty replies as `incomplete` with
|
|
1222
|
-
diagnostics.
|
|
1223
|
-
- Preserves intentional no-reply behavior: `--silence` success remains
|
|
1224
|
-
completed, callback parent `callback_pending` remains legal, and abnormal
|
|
1225
|
-
silent completions stay diagnosable.
|
|
1226
|
-
- Tightens default Role Pack install and project role-lock refresh handling for
|
|
1227
|
-
`agentroles.archi` and `agentroles.ccb_self`.
|
|
1228
|
-
|
|
1229
|
-
</details>
|
|
1230
|
-
|
|
1231
|
-
<details>
|
|
1232
|
-
<summary><b>v7.4.1</b> - Maintenance Heartbeat And ccb_self Defaults</summary>
|
|
1233
|
-
|
|
1234
|
-
- Hardens the project-scoped maintenance heartbeat runner, schedule handling,
|
|
1235
|
-
activation suppression, and diagnostics evidence paths while keeping
|
|
1236
|
-
heartbeat opt-in.
|
|
1237
|
-
- Adds `ccb_self:codex` bound to canonical `agentroles.ccb_self` in the
|
|
1238
|
-
built-in blank-project default and refreshes the recommended role during
|
|
1239
|
-
install/update provisioning without rewriting existing custom configs.
|
|
1240
|
-
- Aligns CCB source with the `agent-roles-spec` role id
|
|
1241
|
-
`agentroles.ccb_self`; `agentrole.ccb_self` is accepted only as legacy input
|
|
1242
|
-
compatibility.
|
|
1243
|
-
- Tightens generated config authority, Role Pack hook paths, and Codex prompt
|
|
1244
|
-
delivery acceptance guards.
|
|
1245
|
-
- Adds the `ccb_self` expert manual, plan decisions, and tests for expert
|
|
1246
|
-
reference and communication recovery guidance.
|
|
1247
|
-
|
|
1248
|
-
</details>
|
|
1249
|
-
|
|
1250
|
-
<details>
|
|
1251
|
-
<summary><b>v7.4.0</b> - ccb_self Maintenance Role</summary>
|
|
1252
|
-
|
|
1253
|
-
- Adds the `agentroles.ccb_self` self-maintenance Role Pack path for CCB config
|
|
1254
|
-
ownership, diagnostics, guarded recovery, chain repair, and single-agent
|
|
1255
|
-
restart assistance.
|
|
1256
|
-
- Moves full `ccb-config` into the private `ccb_self` Role skill instead of a
|
|
1257
|
-
globally inherited skill.
|
|
1258
|
-
- Installs or refreshes recommended default Role Packs, including
|
|
1259
|
-
`agentroles.ccb_self`, during install/update Role Pack provisioning.
|
|
1260
|
-
- Adds `ccb_self:codex` bound to `agentroles.ccb_self` in the built-in blank
|
|
1261
|
-
project default; existing custom configs can still add
|
|
1262
|
-
`agentroles.ccb_self:codex` explicitly.
|
|
1263
|
-
|
|
1264
|
-
</details>
|
|
1265
|
-
|
|
1266
|
-
<details>
|
|
1267
|
-
<summary><b>v7.3.8</b> - AGY Adapter And Project Tmux History</summary>
|
|
1268
|
-
|
|
1269
|
-
- Adds the Antigravity (`agy`) `pane_quiet` execution adapter with protocol parsing, command dispatch, polling, and docs for managed provider operation.
|
|
1270
|
-
- Preserves 50000 lines of scrollback history for CCB-managed project tmux sessions, including project namespace create/reuse and detached runtime fallback paths.
|
|
1271
|
-
- Keeps tmux mouse, vi key, clipboard, focus, and history policies consistently reapplied after the authoritative project session exists.
|
|
1272
|
-
- Hardens Claude startup by passing inline `--settings` JSON when possible, preserving non-ASCII source paths through provider launch.
|
|
1273
|
-
|
|
1274
|
-
</details>
|
|
1275
|
-
|
|
1276
|
-
<details>
|
|
1277
|
-
<summary><b>v7.3.7</b> - Ask Parameter Policy And Skill Guidance</summary>
|
|
1278
|
-
|
|
1279
|
-
- Updates inherited Claude, Codex, and Droid ask skills to choose flags from result intent first: `--silence`, `--compact`, `--artifact-reply`, or plain `ask`.
|
|
1280
|
-
- Keeps dependency handling explicit by adding `--callback` only when an active parent job must wait for a child result.
|
|
1281
|
-
- Separates artifact transport from task relationship: use `--artifact-request` and `--artifact-io` when exact input or input/output preservation matters.
|
|
1282
|
-
- Adds the Agent Collaboration ask-parameter quick reference to README and README_zh.
|
|
1283
|
-
- Adds the ask-parameter-policy plan tree, decision records, parameter matrix, and validation notes.
|
|
1284
|
-
|
|
1285
|
-
</details>
|
|
1286
|
-
|
|
1287
|
-
<details>
|
|
1288
|
-
<summary><b>v7.3.6</b> - Provider Memory Ownership Cleanup</summary>
|
|
1289
|
-
|
|
1290
|
-
- Adds provider memory ownership policy: Claude, Codex, and OpenCode managed contexts no longer duplicate provider-native project memory inside the CCB generated bundle; Gemini keeps the previous behavior pending audit.
|
|
1291
|
-
- Filters legacy CCB install marker blocks and old collaboration sections only from provider user memory, without rewriting user-owned memory files.
|
|
1292
|
-
- Updates the default `.ccb/ccb_memory.md` template to v5 and removes the duplicate Ask Communication block already supplied by managed CCB memory.
|
|
1293
|
-
- Adds seed-aware shared memory migration, upgrading only unedited old generated templates while preserving edited project memory.
|
|
1294
|
-
- Stops Claude route-mode installs from writing `~/.claude/rules/ccb-config.md`; install/uninstall now remove only CCB-marked legacy external config and preserve unmarked user files.
|
|
1295
|
-
- Keeps source runtime startup import-safe by avoiding the tmux UI version detection cycle under `ccb_test`.
|
|
1296
|
-
|
|
1297
|
-
</details>
|
|
1298
|
-
|
|
1299
|
-
<details>
|
|
1300
|
-
<summary><b>v7.3.5</b> - Tmux Border Hook Hotfix</summary>
|
|
1301
|
-
|
|
1302
|
-
- Fixes tmux `after-select-pane` hooks that could persist temporary release paths like `/tmp/ccb-v...-release.../config/ccb-border.sh` and later report `returned 127` when clicking panes.
|
|
1303
|
-
- Makes border hooks use `run-shell -b` with an executable guard, so stale script paths do not spam tmux errors.
|
|
1304
|
-
- Refreshes active tmux UI hooks after `ccb update` on a best-effort basis, so users upgrading from v7.3.4 automatically rewrite bad hooks without failing Role Pack provisioning.
|
|
1305
|
-
- v7.3.4 is withdrawn/prerelease; use v7.3.5 or newer as the stable upgrade target.
|
|
1306
|
-
|
|
1307
|
-
</details>
|
|
1308
|
-
|
|
1309
|
-
<details>
|
|
1310
|
-
<summary><b>v7.3.4</b> - Withdrawn Prerelease</summary>
|
|
1311
|
-
|
|
1312
|
-
- Simplifies `agentroles.archi` tooling around the global `@seemseam/archi` npm package; CCB no longer manages separate Hippo, llmgateway, pip, venv, git, or editable Archi dependencies.
|
|
1313
|
-
- Aligns `ccb roles install/update/doctor agentroles.archi` with the npm-provided `archi` CLI and bundled Hippo/llmgateway capabilities.
|
|
1314
|
-
- Updates `bin/ccb-arch` to forward to `archi`, with a clear `npm install -g @seemseam/archi` hint when the CLI is missing.
|
|
1315
|
-
- Fixes sidebar focus/refresh handling so selecting agents from the sidebar no longer restarts panes unnecessarily.
|
|
1316
|
-
- Withdrawn because tmux border hooks could persist temporary release paths and later report `ccb-border.sh ... returned 127`; use v7.3.5 or newer.
|
|
1317
|
-
- Adds the guarded `ccb_test` source entrypoint for isolated source-checkout validation without affecting installed CCB.
|
|
1318
|
-
- Disables OpenCode autoupdate for managed panes through `opencode.json` and `OPENCODE_DISABLE_AUTOUPDATE=true`.
|
|
1319
|
-
- Refreshes inherited `ccb-config` skills for config-only use, language-following behavior, YAML description quoting, clearer menu grouping, and sidebar pane restart guidance.
|
|
1320
|
-
- Adds the config-designer UI plan tree and includes the main-branch `@percent` layout token plus Antigravity lifecycle cleanup updates.
|
|
1321
|
-
|
|
1322
|
-
</details>
|
|
1323
|
-
|
|
1324
|
-
<details>
|
|
1325
|
-
<summary><b>v7.3.3</b> - Withdrawn Draft</summary>
|
|
1326
|
-
|
|
1327
|
-
- Withdrawn before stable rollout because it carried a sidebar focus/refresh regression. It is not the recommended release and should not be used for upgrades; use v7.3.5 or newer.
|
|
1328
|
-
|
|
1329
|
-
</details>
|
|
1330
|
-
|
|
1331
|
-
<details>
|
|
1332
|
-
<summary><b>v7.3.2</b> - First-Install Role Pack Provisioning Hotfix</summary>
|
|
1333
|
-
|
|
1334
|
-
- Fixes a blank-environment first install bug where `install.sh` tried to update `agentroles.archi` before it was installed, leaving Role Pack provisioning incomplete.
|
|
1335
|
-
- Keeps the existing install refresh path: `ccb roles update agentroles.archi` is still attempted first, then falls back to `ccb roles install agentroles.archi` when the role is missing.
|
|
1336
|
-
- Aligns optional Role Pack skip messaging with the install path.
|
|
1337
|
-
- Supersedes v7.3.1 as the recommended stable release for new installs; v7.3.1 is published but has the blank first-install Role Pack provisioning bug.
|
|
1338
|
-
|
|
1339
|
-
</details>
|
|
1340
|
-
|
|
1341
|
-
<details>
|
|
1342
|
-
<summary><b>v7.3.1</b> - Agent Roles, Artifact Ask, And Shared Workspace Release</summary>
|
|
1343
|
-
|
|
1344
|
-
- Adds daemon-managed ask artifact transport with `--artifact-request`, `--artifact-reply`, and `--artifact-io`, including callback-compatible artifact replies for long outputs.
|
|
1345
|
-
- Finalizes the Agent Roles store path around the external `agent-roles` manager and `.roles/installed`, while preserving `ccb.archi` compatibility for `agentroles.archi`.
|
|
1346
|
-
- Adds shared workspace controls with `workspace_path` and `workspace_group`, plus `provider_command_template` for wrapping the CCB-built provider command without breaking resume handling.
|
|
1347
|
-
- Fixes Claude startup under root, OpenCode `ccb clear` submit timing after restored sessions, and managed Neovim activation so the original runtime path is preserved.
|
|
1348
|
-
- Refreshes inherited `ask` and `ccb-config` skills for submit-only ask rules, artifact modes, windows-first config, shared workspaces, and provider command templates.
|
|
1349
|
-
- Stabilizes WSL/root release tests by making non-root Claude command assertions independent from the runner UID.
|
|
1350
|
-
|
|
1351
|
-
</details>
|
|
1352
|
-
|
|
1353
|
-
<details>
|
|
1354
|
-
<summary><b>v7.3.0</b> - Superseded Prerelease</summary>
|
|
1355
|
-
|
|
1356
|
-
- Superseded by v7.3.1 after the remote WSL Tests workflow exposed root-sensitive Claude command assertions. The v7.3.0 GitHub release was kept as a prerelease and did not upload official release artifacts.
|
|
1357
|
-
|
|
1358
|
-
</details>
|
|
1359
|
-
|
|
1360
|
-
<details>
|
|
1361
|
-
<summary><b>v7.2.12</b> - Agent Roles Store Migration Release</summary>
|
|
1362
|
-
|
|
1363
|
-
- Uses the external `agent-roles` package manager by default for Role Pack install, update, and sync.
|
|
1364
|
-
- Writes Role Pack payloads into the spec-owned `.roles/installed` store.
|
|
1365
|
-
- Copies existing legacy installed role snapshots into `.roles/installed` without deleting the old store; runtime lookup reads the spec-owned store only after migration.
|
|
1366
|
-
- Routes `ccb roles update --path ...` through the Agent Roles manager so path updates also write `.roles/installed`.
|
|
1367
|
-
- Supersedes v7.2.11, which was an incomplete opt-in preview release and should not be used as the recommended release.
|
|
1368
|
-
|
|
1369
|
-
</details>
|
|
1370
|
-
|
|
1371
|
-
<details>
|
|
1372
|
-
<summary><b>v7.2.11</b> - Superseded Agent Roles Opt-In Preview</summary>
|
|
1373
|
-
|
|
1374
|
-
- Superseded by v7.2.12 after the release direction changed from an opt-in `CCB_AGENT_ROLES_MANAGER=1` preview to a default-on Agent Roles manager migration.
|
|
1375
|
-
|
|
1376
|
-
</details>
|
|
1377
|
-
|
|
1378
|
-
<details>
|
|
1379
|
-
<summary><b>v7.2.10</b> - Role Pack Post-Update Hotfix</summary>
|
|
1380
|
-
|
|
1381
|
-
- Fixes managed `ccb update` so optional Role Pack and Neovim provisioning runs through the newly installed `ccb __post-update` entrypoint instead of the old updater process.
|
|
1382
|
-
- Repairs legacy installed `ccb.archi` role metadata under canonical `agentroles.archi` and falls back to the current catalog source when old source paths are gone.
|
|
1383
|
-
- Preserves optional post-update provisioning as warnings, while `CCB_INSTALL_ROLES=1`, `CCB_INSTALL_NEOVIM=1`, or `CCB_POST_UPDATE_REQUIRED=1` still fail the parent update when required provisioning fails.
|
|
1384
|
-
- Keeps new config guidance on `agentroles.archi`; `ccb.archi` remains a legacy input alias only.
|
|
1385
|
-
|
|
1386
|
-
</details>
|
|
1387
|
-
|
|
1388
|
-
<details>
|
|
1389
|
-
<summary><b>v7.2.9</b> - Agent Roles Catalog Release</summary>
|
|
1390
|
-
|
|
1391
|
-
- Moves the production architecture role out of the CCB source tree and consumes `agentroles.archi` from `agent-roles-spec`.
|
|
1392
|
-
- Adds catalog-backed role list/install/update/sync/add/doctor behavior with installed-role metadata, project locks, digest pinning, and explicit re-add updates.
|
|
1393
|
-
- Projects role memory, CCB adapter memory, provider skills, and Architec adapter hooks into managed provider homes.
|
|
1394
|
-
- Keeps `ccb.archi` as a compatibility alias while writing canonical `agentroles.archi` bindings and locks.
|
|
1395
|
-
- Fixes the source runtime guard so `ccb --project <allowed-test-dir> ...` smoke commands launched from the source checkout pass the release gate.
|
|
1396
|
-
- Passes generated soak, fastpath, and storage cleanup smoke roots through `CCB_SOURCE_ALLOWED_ROOTS`.
|
|
1397
|
-
- Passes the WSL mounted startup smoke project under `/mnt/c/Temp` through `CCB_SOURCE_ALLOWED_ROOTS`.
|
|
1398
|
-
- Hardens the Claude restart provider blackbox test to wait for the running partial reply before asserting it.
|
|
1399
|
-
- Hardens Role Pack CI fixtures so full GitHub Actions tests do not require a sibling `agent-roles-spec` checkout.
|
|
1400
|
-
|
|
1401
|
-
</details>
|
|
1402
|
-
|
|
1403
|
-
<details>
|
|
1404
|
-
<summary><b>v7.2.8</b> - Superseded Role Fixture Hotfix</summary>
|
|
1405
|
-
|
|
1406
|
-
- Superseded by v7.2.9 after the release gate found that full GitHub Actions runners did not have the sibling `agent-roles-spec` checkout expected by Role Pack tests.
|
|
1407
|
-
|
|
1408
|
-
</details>
|
|
1409
|
-
|
|
1410
|
-
<details>
|
|
1411
|
-
<summary><b>v7.2.7</b> - Superseded WSL Mounted Smoke Hotfix</summary>
|
|
1412
|
-
|
|
1413
|
-
- Superseded by v7.2.8 after the release gate found a provider blackbox timing race in the Claude restart partial-reply assertion.
|
|
1414
|
-
|
|
1415
|
-
</details>
|
|
1416
|
-
|
|
1417
|
-
<details>
|
|
1418
|
-
<summary><b>v7.2.6</b> - Superseded Official Smoke Root Hotfix</summary>
|
|
1419
|
-
|
|
1420
|
-
- Superseded by v7.2.7 after the release gate found that the WSL mounted startup smoke in the main Tests workflow also needed its generated `/mnt/c/Temp` project in `CCB_SOURCE_ALLOWED_ROOTS`.
|
|
1421
|
-
|
|
1422
|
-
</details>
|
|
1423
|
-
|
|
1424
|
-
<details>
|
|
1425
|
-
<summary><b>v7.2.5</b> - Superseded Source Runtime Guard Hotfix</summary>
|
|
1426
|
-
|
|
1427
|
-
- Superseded by v7.2.6 after the release gate found that official soak, fastpath, and storage cleanup smoke checks needed explicit generated test roots in `CCB_SOURCE_ALLOWED_ROOTS`.
|
|
1428
|
-
|
|
1429
|
-
</details>
|
|
1430
|
-
|
|
1431
|
-
<details>
|
|
1432
|
-
<summary><b>v7.2.4</b> - Superseded Agent Roles Catalog Release</summary>
|
|
1433
|
-
|
|
1434
|
-
- Superseded by v7.2.5 after the release gate found that source checkout `--project` commands were rejected from the source cwd during CCBD real platform smoke checks.
|
|
1435
|
-
|
|
1436
|
-
</details>
|
|
1437
|
-
|
|
1438
|
-
<details>
|
|
1439
|
-
<summary><b>v7.2.3</b> - Root Install Support Validation Hotfix</summary>
|
|
1440
|
-
|
|
1441
|
-
- Keeps the root install confirmation behavior from v7.2.2: root installs require explicit confirmation, while uninstall remains ungated.
|
|
1442
|
-
- Preserves install identity metadata and `ccb doctor` runtime user/owner/root diagnostics.
|
|
1443
|
-
- Fixes WSL release validation by making install metadata tests explicitly simulate non-root identity where required.
|
|
1444
|
-
|
|
1445
|
-
</details>
|
|
1446
|
-
|
|
1447
|
-
<details>
|
|
1448
|
-
<summary><b>v7.2.2</b> - Root Install Confirmation Release</summary>
|
|
1449
|
-
|
|
1450
|
-
- Adds an explicit root install confirmation gate: `install.sh install` refuses root by default, accepts interactive `yes`, and requires `CCB_ALLOW_ROOT_INSTALL=1` for non-interactive root installs.
|
|
1451
|
-
- Keeps uninstall cleanup outside the root confirmation gate, so root-owned installs can still be removed.
|
|
1452
|
-
- Records install identity metadata including root status, install user, and sudo user details.
|
|
1453
|
-
- Extends `ccb doctor` with runtime user, owner, root state, and a warning when root runs inside a non-root project.
|
|
1454
|
-
- Fixes the non-blocking build-info type hygiene issue by returning `dict[str, object]` from `read_build_info()`.
|
|
1455
|
-
|
|
1456
|
-
</details>
|
|
1457
|
-
|
|
1458
|
-
<details>
|
|
1459
|
-
<summary><b>v7.2.1</b> - Antigravity Runtime Follow-Up</summary>
|
|
1460
|
-
|
|
1461
|
-
- Completes `agy` / Google Antigravity runtime and session plumbing with provider runtime specs, client specs, public provider-core exports, and `.agy-<agent>-session` naming.
|
|
1462
|
-
- Adds regression coverage for named Antigravity pane launches using `AGY_START_CMD`, auto-permission, restore continuation, and prepared-state compatibility.
|
|
1463
|
-
- Aligns README provider lists and release surface so Antigravity is visible alongside Codex, Claude, Gemini, OpenCode, and Droid.
|
|
1464
|
-
- Clarifies no-change reload semantics: non-dry-run `ccb reload` with no config delta returns `noop` / `no_op` without publishing a graph.
|
|
1465
|
-
- Adds Agent Roles public specification planning notes for the future host-neutral RolePack project.
|
|
1466
|
-
|
|
1467
|
-
</details>
|
|
1468
|
-
|
|
1469
|
-
<details>
|
|
1470
|
-
<summary><b>v7.2.0</b> - Role Packs And Managed Tools Release</summary>
|
|
1471
|
-
|
|
1472
|
-
- Adds the Role Pack surface with the built-in `ccb.archi` architecture role, role memory, Codex/Claude skill projection, and project role locks.
|
|
1473
|
-
- Makes `ccb roles add ccb.archi:codex` the primary role onboarding command; config stores the shorthand while runtime resolves it to the local `archi` agent.
|
|
1474
|
-
- Makes `ccb roles install/update ccb.archi` refresh role assets and dependencies by default; install/update prompts interactive users and gives non-interactive users the follow-up command.
|
|
1475
|
-
- Adds managed tool windows, sidebar rows, and safe reload add/remove behavior for non-agent tools.
|
|
1476
|
-
- Includes the new `agy` / Google Antigravity provider support from `main`.
|
|
1477
|
-
|
|
1478
|
-
</details>
|
|
1479
|
-
|
|
1480
|
-
<details>
|
|
1481
|
-
<summary><b>v7.1.1</b> - Sidebar View Height Release</summary>
|
|
1482
|
-
|
|
1483
|
-
- Adds three configurable sidebar sections under `[ui.sidebar.view]`: `agents_height`, `comms_height`, and `tips_height`.
|
|
1484
|
-
- Changes the default native sidebar split to Agents `50%`, Comms `15%`, and Tips `35%`.
|
|
1485
|
-
- Carries the height settings through config parsing, project_view payloads, reload planning, and the Rust sidebar TUI.
|
|
1486
|
-
- Fixes reload reliability for same-name agent remounts: a dynamically unloaded retired agent can be rebuilt under the same name without `runtime_authority_already_exists`, while old stopped session records remain available for inheritance.
|
|
1487
|
-
- Updates the inherited Codex/Claude `ccb-config` skill docs and references so generated or migrated windows topology exposes all three values.
|
|
1488
|
-
|
|
1489
|
-
</details>
|
|
1490
|
-
|
|
1491
|
-
<details>
|
|
1492
|
-
<summary><b>v7.1.0</b> - Dynamic Reload Release</summary>
|
|
1493
|
-
|
|
1494
|
-
- Adds explicit hot reload for `.ccb/ccb.config`: use `ccb reload --dry-run` to preview and `ccb reload` to apply supported changes.
|
|
1495
|
-
- Dynamically mounts append-only agents and new windows under the existing ccbd daemon without interrupting unrelated panes.
|
|
1496
|
-
- Dynamically unloads idle removed agents and idle removed windows while preserving remaining agent panes.
|
|
1497
|
-
- Treats config signature drift as reload-pending instead of a daemon restart trigger; busy unloads and unsafe replacements still fail closed.
|
|
1498
|
-
- Starts the Role Pack surface with `ccb.archi`, `ccb roles ...`, project role
|
|
1499
|
-
locks, role memory inclusion, and provider skill projection.
|
|
1500
|
-
|
|
1501
|
-
</details>
|
|
1502
|
-
|
|
1503
|
-
<details>
|
|
1504
|
-
<summary><b>v7.0.11</b> - Provider Activity And Sidebar Focus Release</summary>
|
|
1505
|
-
|
|
1506
|
-
- Records provider-native activity evidence from hook artifacts so sidebar status can reflect active, pending, idle, and failed provider work more accurately.
|
|
1507
|
-
- Refreshes sidebar panes immediately after project focus changes by invalidating the cached project view and sending an in-session refresh.
|
|
1508
|
-
- Restores fast tmux pane click focus with direct `select-pane -t = ; send-keys -M`, avoiding the slower hidden subprocess path for ordinary pane clicks.
|
|
1509
|
-
- Hardens namespace config, provider hook install settings, clipboard/runtime launch paths, and Codex managed trust handling with focused regression coverage.
|
|
1510
|
-
|
|
1511
|
-
</details>
|
|
1512
|
-
|
|
1513
|
-
<details>
|
|
1514
|
-
<summary><b>v7.0.10</b> - Sidebar Tips And Tmux Controls Release</summary>
|
|
1515
|
-
|
|
1516
|
-
- Keeps the native sidebar as a stable three-panel view: Tree `1/3`, compact Comms `1/4`, and Tips `5/12`.
|
|
1517
|
-
- Expands default Tips for projects without custom tips, covering pane movement and resize, window switching, copy mode, paste, and help.
|
|
1518
|
-
- Preserves the top-right `↻` and `×` controls: `×` runs project-level `ccb kill`, while `q` and `Esc` exit only the sidebar.
|
|
1519
|
-
- Documents and keeps CCB-managed tmux Vim controls: `mode-keys vi`, copy-mode `v` / `C-v` / `y`, `prefix+h/j/k/l`, and `prefix+H/J/K/L`.
|
|
1520
|
-
|
|
1521
|
-
</details>
|
|
1522
|
-
|
|
1523
|
-
<details>
|
|
1524
|
-
<summary><b>v7.0.9</b> - README v7 Redesign Release</summary>
|
|
1525
|
-
|
|
1526
|
-
- Rebuilds `README.md` around the v7 visible multi-agent workspace, task-first onboarding, multi-agent approach comparison, v7 UI tour, Quick Start, tmux basics, config examples, and install/update flow.
|
|
1527
|
-
- Adds real v7 terminal screenshots under `assets/readme_v7/` for the public README walkthrough.
|
|
1528
|
-
- Preserves the README redesign plan and supporting notes under `docs/plantree/`.
|
|
1529
|
-
- Keeps the v7.0.8 runtime, `ccb clear`, config overlay, and sidebar fixes intact while refreshing the GitHub-facing documentation package.
|
|
1530
|
-
|
|
1531
|
-
</details>
|
|
306
|
+
- 普通长时间 `ask` 默认继续等待真实 provider/completion 结果,不再仅因 heartbeat 诊断自动 terminalize 为 `incomplete/heartbeat_timeout`。
|
|
307
|
+
- Codex、Claude、Gemini 的 pane-backed no-terminal timeout 默认改为显式 opt-in,仍保留显式 reliability timeout 策略。
|
|
308
|
+
- 已用 32 分钟 source-runtime ask smoke 验证:任务超过 30 分钟仍保持 running,随后以 `result_message` 完成,未出现 `heartbeat_timeout` 或 `incomplete` 证据。
|
|
1532
309
|
|
|
1533
310
|
</details>
|
|
1534
311
|
|
|
1535
|
-
|
|
312
|
+
完整历史请看 [CHANGELOG.md](CHANGELOG.md)。
|