Coding 工具 · 总览
把完成事件接入 bluebell
bluebell 提供通用完成事件协议,不提供固定“支持工具”名单。你负责选择工具当前版本的完成信号,bluebell 负责后续保存与通知。
通用边界
适配器只负责转换事件
- 读取工具回调
- →
- 选择完成事件
- →
- 生成稳定身份
- →
- 调用 bluebellctl
工具适配脚本不访问 CloudKit、不连接 Watch,也不决定设备如何震动。它只把当前工具的完成事件交给 bluebell。
完成语义
不要把“发生了事件”当作“工作完成”
| 信号 | 能否直接当作完成 |
|---|---|
| 等待用户批准 | 不能;Agent 仍可能继续。 |
| 一次工具调用结束 | 不能;这通常只是当前轮次的一步。 |
| 子任务结束 | 通常不能;主任务可能仍在运行。 |
| 交互式进程退出 | 不能作为通用规则;会话可能被手动关闭或异常退出。 |
| 厂商定义的 turn complete / Stop / idle | 可作为候选,但必须核对当前版本以及子会话、继续执行和重试语义。 |
推荐顺序
先本机,后多设备
- 保持 bluebell Mac 运行。
从客户端复制当前 CLI 路径。
- 运行 bluebellctl 的
--local测试。确认最近提醒出现,先隔离 CloudKit 与设备通知问题。
- 记录一次真实工具回调。
核对字段、发生次数、主会话与子会话差异,不读取或上传不必要的对话内容。
- 接入适配脚本,并继续使用
--local。执行一轮真实任务,确认只产生一条逻辑完成。
- 固定 dedupeKey 后移除
--local。开启 Mac 总推送并观察发送队列,再验证真实设备。
当前示例
按工具查看适配方法
旧版本
迁移旧 Bluebell hook 时先备份
新版不会自动修改或删除旧版曾写入的工具配置。请先备份配置文件,只移除明确属于 Bluebell 旧 helper、plugin 或 extension 的条目,保留同一事件上的其他 hooks。
迁移完成后使用客户端显示的真实 bluebellctl 路径重新接入。不要因为看到历史来源名,就认为对应工具仍是内置支持或已经安装。