Swarm

面向 OpenCode 与 Claude Code 的多智能体蜂群协作插件:把大任务拆成子任务并行执行,并在本地持久化记忆与学习成果。

Star 数
★ 748
最近更新
5 个月前
主语言
TypeScript

30 秒速览

运行形态
Agent 插件 / 技能命令行工具MCP 服务器
可在哪里用
兼容但需适配Claude Code
费用
免费,无需付费服务
上手难度
低 · 几分钟可跑通
开始前需要
BunOpenCode 或 Claude CodeOllama(可选,用于本地嵌入)npm 包:opencode-swarm-pluginShell / 命令行本地文件系统MCP Server
典型场景
使用 OpenCode 的开发者,需要把一个大型特性(如 OAuth 用户认证)拆分成多个并行子任务由多个 agent 同时完成
不适合
  • 不使用 OpenCode 或 Claude Code 的团队
  • 无法安装 Bun 运行时的环境
  • 需要语义记忆但不愿本地运行 Ollama 的用户

这个 Agent 能做什么,适合哪些场景?

Swarm(npm 包名 opencode-swarm-plugin,仓库 joelhooks/swarm-tools)是一个在本地运行的多智能体协调系统,以 OpenCode 插件和 Claude Code 插件/MCP 服务器两种形式交付。它将用户给出的任务分解为可并行的子任务,在 Git 支持的任务追踪器 Hive(.hive/ 目录)中创建 cell,并为每个 worker 分配文件预留锁以避免冲突。智能体之间通过 Swarm Mail(基于 libSQL 的嵌入式事件存储)进行消息传递与检查点记录。每个完成的任务都会记录时长、错误、涉及文件与成败,供学习系统沉淀模式;失败率超过 60% 会自动生成反模式,置信度 90 天未复验则衰减。全部状态为仅追加的事件日志,所有组件(libSQL、Hive、Hivemind、Swarm Mail)均在本地运行,无外部服务器依赖。

在会话中输入 /swarm "任务" 后,协调器先通过 Hivemind 查询历史会话、选择策略并分解任务;随后在 Hive 中创建任务 cell(hive_create / hive_cells / hive_close),通过 swarmmail_reserve 对 src 路径加排他文件锁,用 swarmmail_send 在 worker 之间发送消息。worker 并行工作,完成结果经审查后才被批准。每次完成记录 outcome 事件(时长、错误、文件、成功与否),模式按 candidate → established → proven 成熟。Hivemind 用 Ollama 嵌入向量做语义存储与检索(hivemind_store / hivemind_find),无 Ollama 时回退到全文检索。CLI 提供 swarm setup / doctor / init / config;斜杠命令包括 /swarm、/hive、/inbox、/status、/handoff。

  1. 使用 OpenCode 的开发者,需要把一个大型特性(如 OAuth 用户认证)拆分成多个并行子任务由多个 agent 同时完成
  2. Claude Code 用户希望安装 MCP 插件,让多个 worker 通过文件预留锁互不冲突地修改同一代码库
  3. 团队希望用 Git 同步的 .hive/ 目录在多次会话间持久追踪任务状态并做会话交接(/handoff)
  4. 希望积累项目经验的开发者,用 Hivemind 存储 auth 等领域的踩坑经验并在后续任务中语义检索
  5. 注重数据主权、希望在本地运行全部协调与记忆基础设施(libSQL 事件存储 + Ollama 嵌入)的用户

如何安装或部署这个 Agent?

需要先安装 Bun(必需运行时),可选安装 Ollama 用于本地嵌入。

OpenCode 方式:

  1. npm install -g opencode-swarm-plugin
  2. swarm setup
  3. 在任意 OpenCode 会话中使用 /swarm "你的任务"

Claude Code 方式:

  1. npm install -g opencode-swarm-plugin
  2. 在 Claude Code 中执行 /plugin → Manage marketplaces → Add marketplace,输入 joelhooks/swarm-tools
  3. /plugin → Manage plugins → swarm-tools → swarm → Install

MCP 服务器会自动启动。

如何使用这个 Agent?

  1. 在项目根目录运行 swarm init 初始化 Hive,可用 swarm doctor 检查依赖。
  2. 会话中执行 /swarm "Add user authentication with OAuth" 触发任务分解与并行 worker 生成。
  3. 用 /hive 查询与管理任务,/inbox 查看其他 agent 的消息,/status 查看协调状态,/handoff 结束会话并生成交接笔记。
  4. 可选配置嵌入模型:export OLLAMA_MODEL=nomic-embed-text(默认 mxbai-embed-large),export OLLAMA_HOST=http://localhost:11434。支持模型:mxbai-embed-large(1024d)、nomic-embed-text(768d)、all-minilm(384d)、snowflake-arctic-embed(1024d)。

这个 Agent 有哪些优点和局限?

优点
  • 文件预留锁(swarmmail_reserve 排他锁)从机制上避免多 worker 同时改同一文件的冲突,这是多数多 agent 方案缺失的能力
  • 完全本地运行:libSQL 嵌入式 SQLite + Git 支持的 .hive/ 任务目录 + 可选 Ollama 本地嵌入,无外部服务器
  • 学习系统有具体机制:模式按 candidate→established→proven 成熟,失败率超 60% 自动生成反模式,置信度 90 天衰减
  • 全量事件溯源(agent_registered、message_sent、file_reserved、checkpoint、outcome 等),状态可审计、可回放
局限
  • 仓库未标注许可证,商业化或企业内部合规使用前需先确认授权条款
  • 强依赖 Bun 运行时和 OpenCode 或 Claude Code 宿主环境,其他编码环境需要自行适配
  • 语义记忆依赖本地 Ollama;未安装时回退到全文检索,语义检索能力会打折
  • 协调多个并行 worker 会产生 token 消耗与审查开销,小任务未必划算;文档宣称的学习效果缺乏第三方验证

这个 Agent 与同类方案有什么区别?

README 致谢部分明确说明其多智能体协调思路受 MCP Agent Mail(Dicklesworthstone/mcp_agent_mail)启发,并借鉴了 Electric SQL 的 durable streams 模式与 obra/superpowers 的验证模式;但文档未提供与这些项目或其他竞品的正式对比。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Swarm 当前 60 · 存在缺口 Agent 插件 / 技能免费 ★ 748 5 个月前 TypeScript Claude Code
Claudexor 76 · 表现良好 命令行工具免费 + 模型费 ★ 518 今天 TypeScript Codex · Claude Code
Oh My OpenAgent 49 · 缺口较多 Agent 插件 / 技能免费 + 模型费 ★ 70k 今天 TypeScript Claude Code
Ouroboros Agent OS 53 · 缺口较多 命令行工具免费 + 模型费 ★ 6.3k 今天 Python Codex · Claude Code

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
存在缺口
60/ 100 五分制 3.0 / 5
信任安全 16/29
可靠稳定 9/14
适用触发 10/18
规范维护 11/18
有效结果 9/13
证据核验 5/8
查看各维度的扣分理由
信任安全16 / 29 · 2.8/5

本地优先架构(libSQL、git 支持的 .hive/、Ollama 本地嵌入、无外部服务器)最小化数据外流;文件预留锁降低冲突权限;swarm doctor 提供依赖检查。扣分:协调器自动生成子代理并写文件,未见对破坏性操作的用户确认机制;未涉及敏感数据处理或清除策略;回滚仅靠 git 事件溯源与 checkpoint,无明确恢复流程。

可靠稳定9 / 14 · 3.2/5

CI 覆盖构建、类型检查、打包校验与针对性测试,evalite 评估门禁,CodeQL 静态扫描。扣分:CI 注释坦承完整单测套件在 GitHub Actions 中挂起而改跑子集,说明整体可靠性验证不完整;依赖 Bun/Ollama 等非普遍预装工具。

适用触发10 / 18 · 2.8/5

README 明确面向 OpenCode 与 Claude Code 双平台,swarm doctor 适配环境检测,嵌入模型可降级到 FTS。扣分:能力边界(任务规模上限、并行 worker 数、失败时的行为)几乎未说明。

规范维护11 / 18 · 3.1/5

信息架构清晰(Hive/Hivemind/Swarm Mail 分层、事件溯源列表、命令表);MIT 许可在 README 声明;使用 changesets 版本管理;有致谢归属。扣分:仓库内未见 LICENSE 文件与 CHANGELOG 证据;已知限制仅隐含(全量测试挂起未在 README 披露);维护者责任与更新路径未成文。

有效结果9 / 13 · 3.5/5

把大任务分解为带文件预留的并行子任务并附带学习系统,边际价值明确;输出为结构化 hive/邮件/事件日志,易用。扣分:学习系统收益(pattern 成熟度、60% 失败率阈值)仅有断言,成本收益无法从静态文件核实。

证据核验5 / 8 · 3.1/5

README 中的命令与 CI 验证的构建产物、测试文件相互印证;credits 明确区分灵感来源与自有实现;eval 结果以 JSON 输出可追溯。扣分:静态审查无法核实学习系统与 eval 门禁的实际效果,置信度限于 low。

风险与缓解建议
  • 协调器会自动生成子代理并写入文件,敏感仓库使用前应先在隔离环境中验证,并确认破坏性操作是否需要人工确认。
  • 完整单元测试在 CI 中挂起、仅跑子集,可靠性声明应打折看待。
  • 请自行核对仓库 LICENSE 文件与 npm 包内容;README 声明的 MIT 未经独立文件验证。
  • 学习记忆存储本地会话数据,敏感项目中应评估 .hive/ 与嵌入数据库的留存内容。
证据充分度:低 评估于 2026年9月10日 审查版本 b6852530c3dc
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. [email protected]
    发布说明摘录
    Patch Changes - [f21f581](https://github.com/joelhooks/swarm-tools/commit/f21f581c2efeb1407ae2761bfb2f4a641714e212) Thanks [@joelhooks](https://github.com/joelhooks)! - chore: link plugin versions — sync claude-code-swarm-plugin with opencode-swarm-plugin
    在 GitHub 查看 ↗
  2. 发布说明摘录
    Patch Changes - Updated dependencies \[[35a81f3](https://github.com/joelhooks/swarm-tools/commit/35a81f38318ed08b835e7269405e8e53ed4599a5)]: - [email protected]
    在 GitHub 查看 ↗
  3. [email protected]
    发布说明摘录
    Patch Changes - [35a81f3](https://github.com/joelhooks/swarm-tools/commit/35a81f38318ed08b835e7269405e8e53ed4599a5) Thanks [@joelhooks](https://github.com/joelhooks)! - fix(publish): bump bun to 1.3.8 and add workspace dep resolution safety net Previous fix (0.63.1) still shipped with unresolved workspace:* because CI was pinned to bun 1.3.4 via packageManager. Bumps to 1.3.8 and replaces the inline one-liner with a proper publish script that verifies and resolves any leaked workspace:* references before uploading to npm.
    在 GitHub 查看 ↗

常见问题

它会把代码或数据发送到云端吗?
README 明确说明一切均在本地运行,无外部服务器:任务存储在 Git 支持的 .hive/ 目录,事件存储用嵌入式 libSQL,嵌入向量用本地 Ollama(可选)。
多个 agent 同时改代码不会冲突吗?
worker 通过 Swarm Mail 的 swarmmail_reserve 获取排他文件预留锁(如 src/auth/*),完成前其他 worker 无法预订相同路径,从机制上避免写冲突。
不用 Ollama 能用吗?
可以。Ollama 是可选依赖,用于 Hivemind 的语义嵌入;没有 Ollama 时系统回退到全文检索(FTS),但语义搜索能力会受限。可用 swarm doctor 检查依赖状态。
支持哪些宿主环境?
文档明确支持 OpenCode(npm 全局安装 + swarm setup)和 Claude Code(通过 marketplace 安装插件,MCP 服务器自动启动)。其他环境未在文档中说明。
学习系统是如何积累经验的?
每次完成都会记录 outcome 事件(时长、错误、涉及文件、成功与否);模式按 candidate→established→proven 逐级成熟,失败率超过 60% 自动生成反模式,置信度 90 天未复验会衰减。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents