openrig README

The project's README from github.com/mvschwarz/openrig. As one markdown file: README.md.

OpenRig

A harness wraps a model. A rig wraps your harnesses. Define your agent team in YAML, boot it with one command. Claude Code and Codex in the same rig, managed as one system.

OpenRig turns AI coding agents from a pile of terminal sessions into a persistent, organized team. Talk to a lead agent about the outcome you want; it can coordinate specialists across teams and bring you results and decisions that need your attention. Start with a repository and one useful change, then keep the team's work and context at the same addresses.

The terminal UI is the shared dashboard; the CLI drives work and coordination. The older web UI is in maintenance mode with best-effort support.

npm install -g @openrig/cli
rig setup --dry-run
cd /path/to/your/repository
rig up first-project --cwd .
rig tui --shared

first-project has two native Codex seats: an owner and a checker. The kernel provides separate operational support and a shared TUI terminal. Check codex login status and inspect rig up first-project --cwd . --plan before launching. The guided first-use path covers readiness, a useful task, a reviewed result, Herdr/cmux terminals and recovery. Review setup's plan before applying rig setup: it checks both native harnesses and cmux. This starter requires tmux and authenticated Codex; the other harness and terminal provider are optional for its repository task.

First Run

Check readiness, then give the owner a bounded outcome from your repository:

rig ps --nodes --rig first-project
rig send dev-owner@first-project 'Implement <one useful change>. Track the task in the queue and return its ID. Keep it local, verify the behavior, ask dev-check@first-project to check the exact candidate, and record the result and how I can try it.'
rig queue list --destination dev-owner@first-project --limit 1000

Sending a message does not itself create a queue item; the owner records the task. Read the final artifact and the review of its exact candidate. Return to the same owner for the next change. To leave the shared dashboard without stopping it, press Ctrl-b then d; rig tui --shared returns to that view. Plain rig tui opens an independent view. Closing a viewing terminal does not mean you should relaunch the team.

Upgrading an existing instance

For an existing installation, follow the upgrade procedure and the 0.5.14 release notes. Preserve live seats during the upgrade; rig down is not an upgrade step.

Crossing the 0.5.9 layout boundary

The migration below still applies when upgrading from a pre-0.5.9 instance.

0.5.9 makes $OPENRIG_HOME/context the addressable context library, writes Claude telemetry to state/context-usage (and provider telemetry to state/provider-usage), and installs the default System World at context/system/system-world.yaml. Existing instances cross this boundary by an Agent-Operated Migration from the shipped openrig-upgrade skill. The target runtime reads canonical-first with legacy-fallback while new writes use the canonical roots; a custom context-library root stays stable during activation. This is not a directory rename to do while an old collector writes.

# SKILL_DIR is the installed openrig-upgrade skill directory.
node "$SKILL_DIR/scripts/migrate-telemetry-state-0.5.9.mjs" --help
node "$SKILL_DIR/scripts/migrate-telemetry-state-0.5.9.mjs" --home "$OPENRIG_HOME"
node "$SKILL_DIR/scripts/migrate-telemetry-state-0.5.9.mjs" --home "$OPENRIG_HOME" --apply-state --preimage /safe/path/layout-0.5.9-before

# Activate the exact target runtime separately. After every bounded legacy tail is followed by newer paired samples at both new state roots:
node "$SKILL_DIR/scripts/migrate-telemetry-state-0.5.9.mjs" --home "$OPENRIG_HOME" --verify --preimage /safe/path/layout-0.5.9-before > /safe/path/layout-0.5.9-verify.json

# Run the separately invoked non-destructive finalizer only with that exact receipt:
node "$SKILL_DIR/scripts/migrate-telemetry-state-0.5.9.mjs" --home "$OPENRIG_HOME" --apply-library --preimage /safe/path/layout-0.5.9-before --verification /safe/path/layout-0.5.9-verify.json

# Restore only helper-owned preparation/finalizer effects if the observed upgrade must be reversed:
node "$SKILL_DIR/scripts/migrate-telemetry-state-0.5.9.mjs" --home "$OPENRIG_HOME" --rollback /safe/path/layout-0.5.9-before

--help prints the phase grammar without inventorying the instance. No phase flag intentionally runs the read-only plan; unknown options fail nonzero before plan or mutation.

Every phase emits JSON. Stop on any issue or incomplete receipt and follow its next action; do not continue from copied legacy telemetry or retry a partial mutation blindly. Preparation leaves legacy state and collector settings in place. Verification accepts exact tail bytes only when that same seat has newer paired context and provider samples under state/; finalization revalidates the accepted tails, copies the library without overwrite, and switches config last. The helper never removes the legacy telemetry or library. Retirement follows separate stable runtime, writer, reader, and recovery proof. Daemon, database, seat, plugin, and release lifecycle actions remain agent-owned.

What It Does

OpenRig is a multi-agent harness — it manages the system that coding agents form when you run them together. Not the agents themselves, but the team they create: which sessions are running, how they relate, how to recover after a reboot, and how to stop it from becoming terminal sprawl.

Every agent runs in a tmux session you can attach to, inspect, and work with directly.

Starter Rigs

Use first-project for the focused first-use path. product-team is an optional larger product-development example:

rig specs preview product-team --kind rig
rig up product-team

Use it when you want a larger product squad: two orchestrators, implementation, QA, design, and two independent reviewers.

For a smaller starter, use conveyor:

rig specs preview conveyor --kind rig
rig up conveyor

conveyor is a four-seat starter mixing Claude Code and Codex. It shows a handoff path through intake, planning, build, and review; first-project remains the smaller two-seat starting point.

Also ships: implementation-pair, adversarial-review, research-team, and secrets-manager (HashiCorp Vault managed by a specialist agent).

Browse the library:

rig specs ls

How It Works

OpenRig is a local daemon + CLI + terminal UI + MCP server, built on tmux. The older React web UI remains in maintenance mode.

CLI / TUI / MCP
      |
Hono HTTP daemon
      |
  Domain services
      |
  SQLite + tmux + runtime adapters

Terminal UI and Workspaces

The TUI shows the team's coordination state; herdr and cmux show the actual agent terminals alongside it. Use rig tui commands to list the TUI's command-bar navigation, or try the interactive TUI tour.

OpenRig TUI topology graph showing seven agent seats grouped into product, development, and QA pods

Captured from the interactive TUI demo using fictional project data.

With herdr installed and connected, open the starter's terminals together:

rig terminal open first-project --provider herdr

For cmux, use --provider cmux. The underlying sessions remain accessible through tmux. See the terminal workspace guide for setup and returning to an existing view.

Key Concepts

Agent-Managed Software

A rig can package actual software alongside the agents that manage it. The shipped example is secrets-manager: a HashiCorp Vault instance operated by a specialist agent.

rig up secrets-manager
rig env status secrets-manager
rig send vault-specialist@secrets-manager "Check Vault health and report status." --verify

Requires Docker for service-backed rigs.

Requirements

Optional:

Setup and Troubleshooting

Both commands support --json for agent-driven workflows.

Managed runtime boot (during rig up) may modify runtime config for core bootstrap and spec-selected runtime resources. rig setup discloses these paths so agents know what may be changed:

Already-running adopted sessions may need restart before they pick up newly written runtime config.

For agents: Ask the user whether they want core setup (rig setup) or the fuller workstation path (rig setup --full) before choosing the invocation. Inspect the result with --json and use rig doctor to finish any remaining machine-specific issues.

Comparison with Claude Managed Agents

OpenRig is open source and self-hosted, with Claude Code and Codex in the same team. You operate it on your own infrastructure; the selected providers' model usage costs still apply.

Full comparison

License

Apache 2.0

openrig (mvschwarz/openrig)

Searching Database…

7.6K ·GitHub
Что это такое?Опенсорсная обвязка, которая превращает ИИ-агентов для программирования вроде Claude Code и Codex в одну постоянную команду с ролями, общим контекстом и закреплённой работой — всё описывается в YAML и запускается одной командой.
Это библиотека, которую я подключаю к своему коду, или инструмент, который я запускаю?Инструмент для запуска: локальный демон плюс CLI и терминальный интерфейс, а также MCP-сервер, чтобы агенты могли сами управлять ригом. Всё построено на tmux-сессиях.
Как запустить свою первую команду агентов?Установите Node.js 20, 22 или 24 и tmux, затем выполните rig setup, чтобы подготовить машину (после этого rig doctor поможет найти проблемы). Интерактивный стартовый сценарий first-project проведёт вас от проверки готовности до первой задачи и проверенного результата.
Каких агентов для программирования он реально умеет управлять?Сессии Claude Code и Codex работают напрямую, а ещё есть адаптер Pi через RPC-раннер внутри панели терминала. Для стартового сценария first-project нужен выполненный вход в Codex; терминальные рабочие пространства herdr или cmux — по желанию.
Есть ли подводные камни, о которых стоит знать заранее?tmux обязателен, так что это территория macOS и Linux. Старый веб-интерфейс на React переведён в режим поддержки, а версии старше 0.5.9 при обновлении требуют миграции, которую выполняет агент по скрипту.
Всё остаётся на моём компьютере?Да: локальный демон на вашей собственной инфраструктуре, каждый агент в tmux-сессии, к которой вы можете подключиться напрямую, и общая библиотека контекста, лежащая в $OPENRIGHOME/context.
Что такое «seat» (место)?Стабильная роль и адрес в риге, например dev-owner@first-project. Беседа, занимающая место, может смениться, но его идентичность и созданный контекст остаются — именно это делает команду постоянной.
Какие стартовые риги идут из коробки?first-project — минимальный старт с двумя местами. Также в комплекте: conveyor (четыре места со смесью Claude Code и Codex), product-team с QA, дизайном и двумя независимыми ревьюерами, implementation-pair, adversarial-review, research-team и secrets-manager, который управляет HashiCorp Vault.
Что такое ПО под управлением агентов?Риг может поставлять настоящее программное обеспечение вместе с агентами, которые им управляют. Пример из комплекта — secrets-manager: инстанс HashiCorp Vault, которым управляет специализированный агент; для него нужен Docker.
Creator
mvschwarz
Size
38.8 MB
Stars
7.6K
Age
6mo
Commits · 90 Days