核心用法
ai-collab 是一套多代理自主协作系统,专为两个 OpenClaw 代理并行工作而设计。系统采用主从架构:Agent A(主代理,如 Jim)运行 claude code 处理交互式任务;Agent B(守护代理,如 Clawdy)以 claude --print 子进程运行,处理后台监控和快速查询。
关键组件:
- 共享聊天日志(chat.log):所有代理间通信的唯一可信记录
- 收件箱协议(inbox/):基于文件系统的原子消息队列,使用
inotifywait触发 - 结构化消息标签:
[TASK:name]、[ACK:name]、[DONE:name]、[BLOCKED:name]、[HANDOFF:name]、[STATUS:update]、[QUESTION:topic]
典型工作流:
1. 用户通过 Telegram 或直接向 Agent A 发出指令
2. Agent A 评估任务,将子任务通过原子写入放入 inbox
3. Agent B 的 inotifywait 触发,执行 claude --print 处理
4. 响应写入 chat.log,cron 轮询脚本将其路由回 Agent A
安全机制:
- 金融交易强制要求
[AUTHORIZED:financial:amount:timestamp:user]标签,无标签则自动阻断 - 速率限制(60秒窗口内最多10次调用)防止 API 滥用
- 任务阻塞两次后自动接管,避免无限等待
显著优点
1. 真正的并行处理:主代理执行复杂任务时,守护代理可同时进行监控、查询或预处理
2. 状态持久化:基于文件的通信确保崩溃后可恢复,chat.log 提供完整审计追踪
3. 成本优化:守护代理可使用 claude-haiku-4-5-20251001 等轻量模型,降低 API 费用
4. 灵活的模型组合:支持 Claude↔Claude、Claude↔GPT、GPT↔GPT 多种配置
5. 原子操作保证:mktemp + mv 写入模式避免消息损坏
潜在缺点与局限性
1. 延迟敏感性:依赖 inotify 和 60 秒轮询,不适合毫秒级响应场景
2. 文件系统依赖:要求 POSIX 环境和 inotifywait,Windows/WSL 兼容性存疑
3. 单点故障:chat.log 损坏或磁盘满将导致整个系统瘫痪
4. 调试复杂性:跨代理的错误追踪需检查多个位置(daemon PID、stderr 文件、chat.log)
5. 无原生加密:.env 文件依赖 chmod 600,无网络传输加密(本地文件系统假设)
适合人群
- 高级自动化用户:熟悉 tmux、cron、bash 和 API 密钥管理的技术用户
- 多任务并行需求者:需要同时运行研究、监控、执行等多条任务线的场景
- 成本敏感型用户:希望用轻量模型处理大量简单查询,保留强模型用于复杂任务
- 审计合规需求者:需要完整操作日志记录的企业或团队
常规风险
| 风险类别 | 具体描述 | 缓解措施 |
|---------|---------|---------|
| 未授权交易 | 金融关键词绕过 AUTHORIZED 标签 | 强制正则匹配阻断,人工复核流程 |
| 无限循环 | 代理间循环提问不收敛 | 协议规则强制关闭循环,速率限制 |
| 敏感信息泄露 | `.env` 文件权限不当 | 文档明确 `chmod 600`,禁止日志记录 |
| 守护进程僵死 | PID 文件残留或 tmux 会话丢失 | 15分钟 watchdog 自动重启 |
| API 配额耗尽 | 后台任务失控调用 | 60秒窗口10次调用硬限制 |