An open API service indexing awesome lists of open source software.

https://github.com/joelhooks/swarm-tools

🐝 Multi-agent swarm coordination for OpenCode with learning capabilities, agent issue tracking, and management
https://github.com/joelhooks/swarm-tools

ai-agents machine-learning multi-agent opencode swarm

Last synced: 2 months ago
JSON representation

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

Awesome Lists containing this project

README

          

# Swarm

[![npm version](https://img.shields.io/npm/v/opencode-swarm-plugin.svg)](https://www.npmjs.com/package/opencode-swarm-plugin)
[![Documentation](https://img.shields.io/badge/docs-swarmtools.ai-blue)](https://swarmtools.ai/docs)

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

**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](https://swarmtools.ai)** Β· **[Documentation](https://swarmtools.ai/docs)**

---

## Installation

### OpenCode

```bash
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):

```bash
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 ` | 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

```bash
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](https://bun.sh) | [Ollama](https://ollama.ai) - local embeddings |

Run `swarm doctor` to check status.

---

## Development

```bash
bun install
bun turbo build
bun turbo test
```

---

## Credits

- [MCP Agent Mail](https://github.com/Dicklesworthstone/mcp_agent_mail) - inspiration for multi-agent coordination
- [Electric SQL](https://electric-sql.com) - durable streams patterns
- [Superpowers](https://github.com/obra/superpowers) - verification patterns

---

MIT