Skip to content

🐝 Multi-agent swarm coordination for OpenCode with learning capabilities, agent issue tracking, and management

Notifications You must be signed in to change notification settings

joelhooks/swarm-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Swarm

npm version Documentation

 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•—    β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ–ˆβ•—
 β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•‘    β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ•‘
 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘ β–ˆβ•— β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β–ˆβ–ˆβ–ˆβ–ˆβ•”β–ˆβ–ˆβ•‘
 β•šβ•β•β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘
 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ–ˆβ•”β–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘ β•šβ•β• β–ˆβ–ˆβ•‘
 β•šβ•β•β•β•β•β•β• β•šβ•β•β•β•šβ•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•  β•šβ•β•β•šβ•β•     β•šβ•β•

Multi-agent coordination that survives context death.

Break big tasks into small ones. Spawn agents to work in parallel. Learn from what works.

swarmtools.ai Β· Documentation


Installation

OpenCode

npm install -g opencode-swarm-plugin
swarm setup

Done. Use /swarm "your task" in any OpenCode session.

Claude Code

Step 1: Install the CLI globally (required):

npm install -g opencode-swarm-plugin

Step 2: Add the marketplace in Claude Code:

/plugin
β†’ Manage marketplaces
β†’ Add marketplace
β†’ Enter: joelhooks/swarm-tools

Step 3: Install the plugin:

/plugin
β†’ Manage plugins
β†’ swarm-tools
β†’ swarm
β†’ Install

The MCP server starts automatically. Use /swarm "your task" in any session.


What It Does

/swarm "Add user authentication with OAuth"
  1. Decomposes the task into parallelizable subtasks
  2. Creates cells in the Hive (git-backed task tracker)
  3. Spawns workers with file reservations (no conflicts)
  4. Coordinates via Swarm Mail (embedded event store)
  5. Reviews each completion before approval
  6. Learns what worked for next time

Core Concepts

Hive

Git-backed task tracking in .hive/. Survives sessions, syncs via git.

hive_create({ title: "Fix auth bug", type: "bug" })
hive_cells({ status: "in_progress" })
hive_close({ id: "cell-123", reason: "Fixed" })

Hivemind

Semantic memory with embeddings. Store learnings, search later.

hivemind_store({ information: "Auth requires idempotency keys", tags: "auth,gotcha" })
hivemind_find({ query: "auth patterns" })

Swarm Mail

Actor-model coordination between agents. File reservations, messaging, checkpoints.

swarmmail_reserve({ paths: ["src/auth/*"], exclusive: true })
swarmmail_send({ to: ["worker-b"], subject: "Need types", body: "..." })

Commands

Command Description
/swarm <task> Decompose and spawn parallel workers
/hive Query and manage tasks
/inbox Check messages from other agents
/status Swarm coordination status
/handoff End session with sync and handoff notes

CLI

swarm setup      # Configure OpenCode/Claude Code integration
swarm doctor     # Check dependencies (Ollama for embeddings)
swarm init       # Initialize hive in current project
swarm config     # Show config paths

How It Works

                         Your Task
                             β”‚
                             β–Ό
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚  COORDINATOR   β”‚
                    β”‚                β”‚
                    β”‚ 1. Query past  β”‚
                    β”‚    sessions    β”‚
                    β”‚ 2. Pick strat  β”‚
                    β”‚ 3. Decompose   β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
           β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
           β–Ό                 β–Ό                 β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  Worker A  β”‚    β”‚  Worker B  β”‚    β”‚  Worker C  β”‚
    β”‚            β”‚    β”‚            β”‚    β”‚            β”‚
    β”‚ πŸ”’ files   │───▢│ πŸ”’ files   β”‚    β”‚ πŸ”’ files   β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
           β”‚                 β”‚                 β”‚
           β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β–Ό
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚   LEARNING     β”‚
                    β”‚                β”‚
                    β”‚ Record outcome β”‚
                    β”‚ Update weights β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Architecture

Everything runs locally. No external servers.

  • libSQL - Embedded SQLite for event sourcing
  • Hive - Git-backed .hive/ directory for tasks
  • Hivemind - Semantic memory with Ollama embeddings (falls back to FTS)
  • Swarm Mail - DurableMailbox, DurableLock, DurableDeferred primitives

Event Sourcing

All state is an append-only event log:

agent_registered β†’ Agent joins swarm
message_sent     β†’ Agent-to-agent communication
file_reserved    β†’ Exclusive lock acquired
file_released    β†’ Lock released
checkpoint       β†’ Progress snapshot
outcome          β†’ Completion result

Learning System

Every completion records duration, errors, files touched, success.

  • Patterns mature: candidate β†’ established β†’ proven
  • Anti-patterns auto-generate when failure rate > 60%
  • Confidence decays over 90 days unless revalidated

Dependencies

Required Optional
Bun Ollama - local embeddings

Run swarm doctor to check status.


Development

bun install
bun turbo build
bun turbo test

Credits


MIT

About

🐝 Multi-agent swarm coordination for OpenCode with learning capabilities, agent issue tracking, and management

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 10