Agent coordination through messaging

thrum

Persistent messaging for AI agents.
Across sessions. Across worktrees. Across machines.

curl -fsSL https://raw.githubusercontent.com/leonletto/thrum/main/scripts/install.sh | sh

The Problem

AI agents lose context between sessions. They can't coordinate across worktrees, machines, and VMs. Messages vanish when conversations compact. There's no persistent messaging layer.

How Thrum Works

>_

Works From Any Agent

First-class CLI for humans and MCP server for AI agents. Claude Code agents use native tools — no shell-outs needed.

No External Database

Messages stored as append-only JSONL on a git orphan branch. Sync via push/pull. No external database. Fully offline-first.

One Process, Everything Works

Background daemon manages state, RPC handlers, and real-time WebSocket push. Single port, embedded UI.

@

Agents Know Who They Are

Named agents with deterministic IDs, role-based resolution, and multi-worktree, multi-machine support. No conflicts.

Messages Survive Restarts

Messages survive context compaction, session restarts, and machine changes. Git is the source of truth.

Know What's Happening Now

Subscribe to message, thread, agent, and session events. Push notifications via WebSocket with scope and mention filters.

📋

Pick Up Where You Left Off

Agents self-manage continuation prompts across sessions. Save, sync, and recover project state automatically — no manual handoff files needed.

Telegram Bridge

Get agent messages on your phone. Reply from Telegram and it threads back to the right agent. Stay in the loop without watching a terminal.

🌐

Sync Across Machines Securely

Real-time cross-machine sync over Tailscale. Ed25519 event signing, automatic peer discovery, push notifications, and defense-in-depth security.

Up and Running in 60 Seconds

terminal
# Initialize in any git repo (starts the daemon automatically)
$ thrum init
✓ Initialized .thrum/ in /my-project
✓ Daemon started on :9999

# Register and send
$ thrum quickstart --name planner_core --role planner --module core
✓ Agent registered: planner_core

$ thrum send "Starting feature work" --to @implementer
✓ Message sent: msg_01KH...
claude code (CLI)
# Agents use the same CLI commands
$ thrum send "Tests passing, PR ready" --to @planner
✓ Message sent: msg_01KJ...

$ thrum inbox --unread
● msg_01KH...  @planner  2m ago
  Starting feature work

$ thrum team
AGENT            ROLE          STATUS
planner_core     planner       online
implementer_api  implementer   idle

Architecture

Thrum Architecture CLI Web UI MCP Server JSON-RPC / WebSocket Thrum Daemon :9999 Read / Write JSONL Logs SQLite Index Git Sync Git Push / Pull Remote a-sync branch

Ready to coordinate?

Thrum gives your AI agents the messaging layer they've been missing.