EsotericWork

DEVELOPER TOOLS × MULTI-AGENT SYSTEMS

OpenRig

Open source local control plane for multi-agent coding topologies. Manages the system that coding agents form when you run them together: which sessions are running, how they relate, how to recover after a reboot.

ROLE

Creator

YEAR

2025-2026

STACK

TypeScript · Hono · SQLite · React

STATUS

Active / Apache 2.0

OVERVIEW

When you run multiple coding agents together, they form a topology: a web of sessions with relationships, dependencies, and communication needs. OpenRig manages that topology. Not the agents themselves, but the system they create.

It works with Claude Code and Codex today, with Pi and OpenHands in development. Everything runs locally. The architecture is a daemon (Hono HTTP server) with a CLI, an MCP server, and a React UI all talking to it. SQLite for state, tmux for session management, runtime adapters for each agent type.

You define your topology in YAML (agent specs, rig specs), then bring it up with one command. After a reboot, you snapshot and restore the entire thing by name. The system fingerprints existing tmux sessions so it can discover and adopt agents that were started outside of OpenRig.

SYSTEM STACK

INTERFACE

CLI (36 commands)
Explorer UI (React)
MCP Server (17 tools)

DAEMON

Hono HTTP server
WebSocket events
REST API

DOMAIN SERVICES

52 services
Topology engine
Lifecycle management

INFRASTRUCTURE

SQLite (state)
tmux (sessions)
Runtime adapters

WHAT IT DOES

Define

AgentSpec and RigSpec YAML files describe your topology declaratively. Agent specs define runtime, model, working directory, and initial prompt. Rig specs compose agents into pods with named relationships.

Launch

rig up boots everything from spec. One command to go from YAML to running multi-agent topology with all sessions started, connected, and communicating.

Manage

Explorer UI with graph visualization, 36 CLI commands, 17 MCP tools. Full lifecycle management: start, stop, pause, resume, inspect, logs.

Discover

Fingerprints existing tmux sessions by inspecting running processes. Adopts unmanaged Claude Code or Codex sessions into the managed topology without interrupting them.

Survive

Snapshot an entire running topology by name. Restore it after a reboot, a crash, or days later. The topology is the unit of persistence, not individual sessions.

Communicate

rig send, broadcast, chatroom, and ask. Agents can message each other directly, broadcast to groups, or participate in structured conversations.

TOPOLOGY EXAMPLE — THREE-POD RIG

ORCHESTRATION PODplannerreviewerDEVELOPMENT PODfrontendbackenddatabase3 nodesREVIEW PODlint+testsecurity2 nodes

Each node is a managed agent session (Claude Code, Codex, or terminal). Pods group related nodes. Connections represent communication channels via rig send/broadcast.

TECHNICAL DETAILS

~1,558

TESTS

Unit + integration

52

SERVICES

Domain layer

36

CLI COMMANDS

17

MCP TOOLS

CORE STACK

Hono (HTTP daemon) + SQLite (state) + React + React Flow (graph UI)

RUNTIME ADAPTERS

Claude Code, Codex, terminal. Pi and OpenHands in development.

SESSION MANAGEMENT

tmux for process isolation. Each agent runs in its own tmux session with full scrollback capture and lifecycle control.

RELATIONSHIP TO AGENT FOCUS

OpenRig grew out of Agent Focus, a private harness framework I built over the past year and a half. The mature ideas, the ones I'd been running for six months or more, are what shipped in OpenRig at launch. The newer experiments are a large part of OpenRig's roadmap. I'm not building new things in Agent Focus anymore. OpenRig is the project now.