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 生成的程式碼具備生產可用的可信度,同時保持可配置性與語言無關性。
相關
- 專案
- 專案
- 專案
- 專案
- 專案