ZaxbyHub/opencode-swarm
Architect-centric agentic swarm plugin for OpenCode. Hub-and-spoke orchestration with SME consultation, code generation, and QA review.
OpenCode Swarm – AI 驱动、带门禁的代码生成流水线
是什么 – OpenCode AI 编码平台的插件,将单个 AI 会话转变为微型开发团队。该插件会自动创建一组专业代理(架构师、编码员、评审员、测试工程师、安全批评家等),并通过门禁流水线运行代码生成工作流,确保所有必需检查通过后才允许合并代码。
为何重要 – 大多数 AI 编码工具让一个模型写完代码后,再让同一个模型判断代码是否良好。Swarm 则分离职责:规划、实现、评审、测试、安全扫描和文档化均由专用的只读模型实例负责。这减少了“模型说完成了 → 实际上能运行”的信任差距,并在无需手动交接的情况下提供生产级防护机制。
核心概念
| 概念 | README 中的说明 |
|---|---|
| 代理 | 从插件配置生成的实时代理名单(/swarm agents)。核心代理包括 架构师、编码员、评审员、test_engineer、critic、critic_oversight、SME、docs,以及许多可选/条件代理(设计师、各类批评家、策展人、理事会等)。 |
| 门禁流水线 | 代码必须经过评审员 + 测试工程师批准才能发布。每个阶段可启用额外门禁(如批评家、漂移验证器、幻觉验证器等)。 |
| DEEP_DIVE 协议 | 使用专用代理对整个代码库进行按需、只读审计。 |
| 外部技能策展 | 可选流水线,通过正则表达式注入/不安全指令扫描和来源验证,发现、隔离并验证外部“技能”插件,待其通过后才可晋升。 |
| 技能优化器 | 手动单技能优化器(/swarm skill-opt …),用于起草、烟雾测试、验证并原子性激活 SKILL.md 候选文件。 |
| 阶段完成门禁 | 每个阶段必须通过完成验证和漂移验证门禁,架构师才能进入下一阶段。 |
| 可恢复会话 | 所有状态均存储在 .swarm/ 下;会话可暂停并稍后恢复。 |
| PR 监控 | 可选的 GitHub PR 订阅功能,通过 gh CLI 轮询 CI 状态,并将结果输入 AutomationEventBus。 |
| 语言支持 | 支持 13 种第一级语言配置(TS/JS、Python、Go、Rust、Java、Kotlin、C/C++、C#、Ruby、Swift、Dart、PHP),并支持 20 种语法的 tree-sitter 解析。 |
| 安全防护 | 内置 SAST、密钥扫描、依赖项审计、静态 shell 写入检测(POSIX、PowerShell、cmd)、作用域强制和破坏性命令阻断。 |
| 执行模式 | 会话级模式(Balanced、Turbo、Lean Turbo、Full-Auto)在安全与速度之间权衡;项目级 execution_mode(strict、balanced、fast)设置默认钩子。 |
安装与首次运行
# 推荐单命令安装(需 Bun ≥1.3.13 或 Node ≥22.13)
bunx opencode-swarm install
安装程序 将插件注册到 OpenCode,禁用原生的 explore 和 general 代理,将全局配置写入 ~/.config/opencode/opencode-swarm.json,并在无项目覆盖文件时创建一个占位文件。
若偏好 npm:
npm install -g opencode-swarm && opencode-swarm install
安装完成后,启动 OpenCode 并从代理选择器中选择 Swarm 架构师(或使用自动选中的默认值)。首次运行会创建 .swarm/ 目录并填充配置。
典型工作流(如 README 演示所示)
- 提示 – 例如:
帮我构建一个带测试的 JWT 认证助手。 - 架构师 创建分阶段实现计划,并通过 批评家门禁。
- 编码员 编写当前任务的代码。
- 自动检查(SAST、密钥、依赖项审计)运行。
- 评审员 验证正确性和安全性。
- 测试工程师 编写并执行测试。
- 架构师 执行回归扫描;若任一门禁失败,将结构化反馈返回给责任代理。
- 文档 和回顾自动更新。
- 所有产物(计划、证据、遥测)存储在
.swarm/中,供后续检查(/swarm evidence、/swarm status)。
关键命令(斜杠风格,用于 OpenCode 会话内)
| 命令 | 用途 |
|---|---|
/swarm help |
列出所有 Swarm 命令。 |
/swarm agents |
显示已注册代理的实时名单。 |
/swarm status |
当前阶段/任务信息。 |
/swarm show-plan |
显示完整实现计划(可按阶段过滤)。 |
/swarm evidence |
显示任务的测试、评审和安全结果。 |
/swarm pr subscribe … |
订阅 GitHub PR 以获取 CI 反馈。 |
| `/swarm auto-proceed [on | off]` |
| `/swarm turbo [on | off]、/swarm full-auto [on |
/swarm reset --confirm |
清除所有 Swarm 状态。 |
/swarm diagnose |
健康检查与版本信息。 |
配置
- 全局配置位于
~/.config/opencode/opencode-swarm.json。 - 项目级覆盖可放置于
.opencode/opencode-swarm.json(需手动启用)。 - 重要开关包括:
external_skills.curation_enabled– 启用外部技能发现流水线。skill_opt.enabled– 启用单技能优化器。pr_monitor.enabled– 激活 GitHub PR 监控。execution_mode– 设置默认安全配置(strict、balanced、fast)。 |
更新
由于 OpenCode 缓存插件,普通重启不会拉取更新的 npm 版本。请使用提供的帮助命令:
bunx opencode-swarm update # 仅刷新缓存
# 或
bunx opencode-swarm install # 完全重装(重新确认配置)
/swarm diagnose 会报告运行中和最新 npm 版本;设置 version_check: false 可静默后台检查。
谁会使用它?
- 依赖 AI 代码生成但需要生产级安全(安全审查、测试覆盖率、审计追踪)的开发者。
- 希望实现“单提示”体验,同时仍强制执行代码审查和测试策略的团队。
- 需要在多语言环境中实现可追溯、可恢复的 AI 驱动开发会话的组织。
总结
OpenCode Swarm 是一个真实可安装的插件,为 OpenCode AI 编码环境增加了全栈、多代理工作流。通过将单一模型转变为协调团队并强制门禁执行,它旨在使 AI 生成的代码具备生产可用的可信度,同时保持可配置性和语言无关性。
相关
- 项目
- 项目
- 项目
- 项目
- 项目