squad 是一个轻量级的多 AI 智能体终端协作工具
squad 是一个轻量级的多 AI 智能体终端协作工具。它让 Claude Code、Gemini CLI、Codex CLI、OpenCode 等 AI 工具在不同终端里通过简单的 CLI 命令 + 本地 SQLite 实时协作,没有守护进程、没有后台服务,每条命令都是一次性操作。
核心角色示例:
- manager:拆解目标、分配任务、协调
- worker:执行具体任务
- inspector:代码审查,给出 PASS/FAIL
一、安装
1. macOS(推荐 Homebrew)
1 | brew install mco-org/tap/squad |
2. Windows
- 去 Releases 页面 下载 squad-x86_64-pc-windows-msvc.zip
- 解压出 squad.exe,放到一个目录(例如 C:\Tools\squad)
- 把该目录加入系统 PATH
3. 从源码编译(所有平台)
需要 Rust 1.77+:
1 | cargo install --git https://github.com/mco-org/squad.git |
安装完成后验证:
1 | squad --help |
二、初始化工作区(每个项目只需做一次)
进入你的项目目录:
1 | cd /path/to/your/project |
这一步会做以下事情:
- 创建 .squad/ 目录
- 把 .squad/ 加入 .gitignore
- 在项目的 CLAUDE.md、AGENTS.md、GEMINI.md(如果存在)中追加协作说明
- 生成默认角色模板(manager / worker / inspector)
如果想刷新内置角色文件(不影响自定义角色):
1 | squad init --refresh-roles |
三、安装斜杠命令到 AI 工具
1 | # 自动检测并安装到所有支持的工具 |
安装位置示例:
- Claude Code → ~/.claude/commands/squad.md
- Gemini CLI → ~/.gemini/commands/squad.toml
- Codex CLI → ~/.codex/skills/squad/SKILL.md
- OpenCode → ~/.config/opencode/commands/squad.md
安装后,在对应工具里直接用 /squad(Codex 用 $squad)即可。
四、启动多 Agent 协作(核心流程)
打开多个终端窗口,分别进入同一个项目目录。
终端 1(Manager):
1 | /squad manager |
Manager 会加入,询问你的目标(Goal),然后拆解成任务并分配给 Worker。
终端 2(Worker):
1 | /squad worker |
自动加入为 worker,进入循环:等待任务 → 执行 → 回报。
终端 3(再开一个 Worker 或 Inspector):
1 | /squad worker # 会自动变成 worker-2 |
多个相同角色会自动加后缀(worker、worker-2、worker-3),无需手动处理冲突。
推荐工作流
- 你告诉 Manager 目标
- Manager 用 squad task create 分配任务
- Worker 用 squad receive –wait 等待并领取任务(task ack)
- Worker 执行完成后用 squad task complete … –summary “完成内容” 回报
- Inspector 可对代码进行审查并反馈
五、常用命令速查
| 命令 | 作用 |
|---|---|
| squad init | 初始化项目工作区 |
| squad setup | 安装斜杠命令到 AI 工具 |
| squad join |
手动加入(通常用斜杠命令自动完成) |
| squad leave |
退出并归档 |
| squad agents | 查看当前在线 Agent |
| squad send |
发送自由消息(@all 可广播) |
| squad receive |
检查收件箱(–wait 会阻塞等待) |
| squad task create |
创建结构化任务 |
| squad task ack |
领取任务 |
| squad task complete |
完成任务并汇报 |
| squad task list | 查看任务列表 |
| squad task requeue |
重新排队 |
| squad history | 查看消息历史 |
| squad roles | 列出可用角色 |
| squad teams | 列出团队模板 |
| squad clean | 清空所有状态 |
六、自定义角色与团队
自定义角色
在 .squad/roles/ 下新建 Markdown 文件即可:
1 | echo "你是一个专业的数据库专家,负责设计 schema、优化查询、审查 SQL……" > .squad/roles/dba.md |
然后启动:
1 | /squad dba |
团队模板(YAML)
在 .squad/teams/ 下创建,例如 dev.yaml:
1 | name: dev |
查看团队说明:
1 | squad team dev |
七、可选:tmux 一键启动(Unix)
仓库自带脚本 scripts/squad-tmux-launch.sh,可自动开多窗格并注入命令。需要 tmux + ruby + claude。
1 | scripts/squad-tmux-launch.sh /path/to/project --dry-run # 先预览 |
支持读取 .squad/launcher.yaml 和任务简报。
八、工作原理简述
所有 Agent 通过项目下的 .squad/messages.db(SQLite) 通信:
- 发送消息 / 创建任务 → 写入数据库
- 接收消息 → 读取数据库
- 无网络、无守护进程、无 socket
Agent 推荐循环:
1 | 加入 → receive --wait → 收到任务 → task ack → 执行 → task complete → 再次 receive --wait |
九、注意事项与最佳实践
- 每个项目独立:squad init 后状态都在项目本地的 .squad/ 目录。
- Token 消耗:多个 Agent 同时运行会明显增加 API 调用,建议有订阅或本地模型。
- 角色提示词:内置角色提示词在 .squad/roles/,可按需修改(用 –refresh-roles 可恢复默认)。
- 清理状态:出问题时运行 squad clean。
- Windows 用户:部分 setup 检测可能有兼容问题,可手动把命令文件放到对应目录。
- 协议版本:新版本支持更完善的任务命令和 JSON 输出(protocol ≥ 2)。
十、完整最小示例
1 | # 1. 安装 |
告诉 Manager 你的目标,然后观察它们如何分工协作即可。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 极客的赛博空间 | 专注 AI 与技术分享!
评论


