Squad
在 GitHub Copilot 中,把项目协作沉淀为可审查的持久化 AI 开发团队。
这个 Agent 能做什么,适合哪些场景?
Squad 是面向 GitHub Copilot 的人类主导型 AI 开发团队工具,提供 CLI 与 TypeScript SDK 两个主要组件。它把团队成员、路由规则、决策、成员历史和会话日志写入项目中的 .squad/ 目录,让团队状态随 Git 保存并跨会话保留。使用者通过 copilot --agent squad 或 VS Code 的 Copilot Chat 与团队交互,由协调者把工作分发给不同成员。CLI 还提供初始化、升级、导入导出、远程团队连接和 Ralph 轮询等功能;SDK 则支持以 squad.config.ts 生成 Markdown 团队定义。项目明确处于 alpha 阶段,接口和命令可能在发布间变更。
运行 squad init 后,Squad 会在当前项目创建 .squad/team.md、routing.md、decisions.md、agents/*/charter.md、history.md、identity/ 和 log/ 等状态文件。用户在 GitHub Copilot 中描述任务后,协调者根据 routing.md 分派成员;成员各自在独立上下文读取自身知识,并把学习结果和决策写回项目文件。squad upgrade 更新 squad.agent.md、模板和 GitHub Actions 工作流,同时保留 .squad/ 中的团队状态。squad triage(别名 watch、loop)可轮询议题,生成包含议题和团队状态的临时上下文文件,并在 --execute 时调用配置的代理命令;它还可用 git-notes 或 orphan-branch 持久化轮询状态。SDK-first 模式使用 @bradygaster/squad-sdk 的 defineSquad、defineTeam 和 defineAgent,在 squad.config.ts 中定义团队后通过 squad build 生成 .squad/ Markdown 文件。
- 使用 GitHub Copilot 的全栈开发者,希望把前端、后端、测试等职责写入仓库,并在多个开发会话间保留项目决策。
- 维护 GitHub Issues 的小型工程团队,需要用 squad watch --execute 定期发现可处理议题,并把执行交给 Copilot 会话。
- 正在新建 React 与 Node 项目的开发者,希望通过 squad init --preset default 快速生成成员、章程和路由规则。
- 需要在分支切换后继续保留团队状态的开发者,可使用 squad externalize 将 .squad/ 状态移出工作树。
- 想以 TypeScript 配置而非手写 Markdown 定义团队的工程师,可使用 squad.config.ts 和 squad build 生成团队文件。
这个 Agent 有哪些优点和局限?
- 把团队名单、路由、决策、成员历史和可搜索会话日志保存在 .squad/,团队上下文可随 Git 克隆和跨会话延续。
- 同时提供 CLI、Markdown-first 工作流和 TypeScript SDK-first 工作流,后者可由 squad.config.ts 生成团队 Markdown。
- Ralph watch 提供议题轮询、可选代理执行、健康检查、日志、状态后端及四级错误升级机制。
- 明确采用人工主导模式:优先级、审批与最终变更责任仍由人承担。
- 核心交互明确依赖 GitHub Copilot,兼容性属于平台特定,而非通用模型或 API 代理方案。
- 需要较新的 Node.js、npm、Git SSH agent 和 GitHub CLI;使用 Issues、PRs 与 Ralph 还需通过 gh auth login 完成 GitHub 认证。
- 项目标注为 alpha,README 明确说明 API 与 CLI 命令可能在版本间变化;SDK-first 模式也标为实验性且存在已知问题。
- watch 的 --execute 会启动代理会话;使用 --yolo 会免去逐次工具调用确认,因此采用前应评估本地权限与审查流程。
如何安装或部署这个 Agent?
前提:Node.js >=22.5.0、npm >=10.0.0、带 SSH agent 的 Git,以及用于 GitHub 集成的 GitHub CLI。进入 Git 仓库后运行:
npm install -g @bradygaster/squad-cli
squad init
随后为 Issues、PRs 与 Ralph 登录 GitHub:
gh auth login
可用 git status 检查仓库,并确认 .squad/team.md 已创建。若要从源码运行,克隆仓库后执行 npm install、npm run build,再运行 node ./packages/squad-cli/dist/cli-entry.js init。
如何使用这个 Agent?
打开 GitHub Copilot CLI 并启动 Squad:
copilot --agent squad --yolo
然后用自然语言说明项目或任务,例如“我正在开始一个新项目,请建立团队;我要做一个 React 和 Node 的菜谱分享应用。”确认成员提案后即可开始协作。在 VS Code 中,也可以在 Copilot Chat 选择 Squad agent。要监控议题但不执行,运行 npx @bradygaster/squad-cli watch;要自动执行可处理议题,运行 npx @bradygaster/squad-cli watch --execute --interval 5。SDK-first 模式则创建 squad.config.ts,导入 @bradygaster/squad-sdk 的构建函数,最后执行 squad build。
这个 Agent 与同类方案有什么区别?
Squad 将 GitHub Copilot CLI 作为推荐交互入口,README 已弃用无参数运行 squad 的交互式 shell。与 Markdown-first 默认模式相比,SDK-first 模式通过 squad.config.ts 和 squad build 管理团队,但被标为实验性,生产团队建议使用 Markdown-first。