oh-my-subagents README

The project's README from github.com/ringlochid/oh-my-subagents. As one markdown file: README.md.

Oh My Subagents recursive team mark

Oh My Subagents

Turn ad-hoc subagents into durable, accountable AI teams.

Local subagent orchestration for Codex and Claude, with persistent task state, reusable teams, and interruption recovery.

PyPI version Python 3.12 or newer

Get started · Documentation · Starter teams

Console walkthrough: choose an accountable AI team, start a run, and review its progress and Result

▶ Watch the tutorial

🚀 Stop babysitting subagents

Start with the Codex team guide, Claude team guide, or a concrete independent code-review workflow.

Ad-hoc delegation is easy to begin and surprisingly hard to operate. A parent spawns children, polls them, reconstructs ownership from chat, and hopes that a closed terminal or interrupted provider session did not erase the only useful account of what happened.

Oh My Subagents moves that coordination into durable runtime state:

Ad-hoc subagents Oh My Subagents
Recreate roles and prompts for every job Publish a reusable tree of named responsibilities
Keep asking whether every child is done Let the runtime persist the wait, collect the complete Wave, and continue the parent
Reconstruct ownership from a transcript Follow controller-owned team, Activity, and wait state
Treat provider completion as success Accept only the Task lead's completed or blocked Result
Recover by piecing together terminal sessions Recover from committed controller records without discarding accepted history
Relay giant responses through chat Hand off concise Checkpoints and explicit references to ordinary workspace files

⚙️ How it works

When a Manager delegates a Wave, Oh My Subagents (OMS) commits the child Assignments, persists the parent wait, supervises every return, and continues the parent with the complete Checkpoints—even after an interruption.

How Oh My Subagents works

The parent does not remain in a polling loop. A delegated Wave and its child Assignments commit together with the parent wait. Children return terminal Checkpoints independently; the controller collects the complete Wave and continues the parent with every return.

Managers can delegate recursively. Every Manager follows the same local rule with its direct children: delegate, wait, inspect the complete returns, and integrate. Deeper teams need no hidden global polling loop.

🧪 A concrete bug-fix run

Here is one concrete run: evidence determines the next Wave, review findings become a new repair Assignment, and verification remains independent.

Example bug-fix run

🧠 Reuse responsibility—not a frozen schedule

A Workflow definition answers who is responsible. It does not prescribe when a Member runs or force the work into a DAG.

At runtime, Managers choose the pattern that fits the actual Task and current evidence:

The same published team can therefore respond differently to two different missions. A replan changes future responsibility without rewriting earlier revisions, completed work, or accepted history.

🧾 Accountability is a runtime contract

OMS does more than display several agents at once:

Capabilities deny by default and never inherit from a parent. Provider, model, sandbox, Human Request, and managed Command Run choices stay explicit where a team needs them without becoming mandatory ceremony for every Workflow.

🎛️ Design and operate visually

The visual Console is the primary experience:

Prefer conversation? The separate Operator can draft and revise Workflows, explain teams, publish when asked, start and control Runs, answer Human Requests, and inspect managed Actions. Operator and the visual interface call the same controller-owned operations, so chat never creates a second hidden copy of product truth.

⚡ Install and start

Oh My Subagents requires Python 3.12 or newer and supports Linux, macOS 13+, and Windows 11 x64. Install it in an isolated environment with pipx:

Fresh installation

pipx install oh-my-subagents
oms init
oms service install

Open http://127.0.0.1:18125/.

Guided initialization selects a default workspace, configures a Codex or Claude Task provider, publishes the Starter teams, and can configure the separate Operator. SQLite is the default, so a local installation needs no database server.

Upgrade an existing Banksia installation

Migrate before running oms init, oms serve, or oms service install. Initialization creates a fresh controller database; migration preserves the existing Banksia config, database, provider credentials, Task history, and service state under canonical OMS paths.

banksia status --json
banksia service status --json

pipx uninstall banksia
pipx install oh-my-subagents

oms migrate-from-banksia
oms db upgrade
oms service status --json

If the old installation did not use a background service, run oms service install after migration. Do not run oms init first, and do not use oms db reset as a rename step. The Banksia migration guide covers custom paths, verification, rollback, and recovery from an accidental 0.3.0 initialization.

Keep the controller running

oms service install verifies the configuration and database schema, installs a native per-user background service, and starts it. The controller keeps supervising work after you close the terminal and returns at login.

oms service status
oms service restart
oms service logs --lines 200
oms service stop

Linux uses a systemd user service, macOS a current-user LaunchAgent, and Windows a current-user Scheduled Task. oms service uninstall removes the native service definition while preserving configuration, database, and provider credentials. Use oms serve when you prefer the portable foreground path.

Optional PostgreSQL

Install the optional driver and provide a SQLAlchemy URL during initialization:

pipx install "oh-my-subagents[postgres]"
oms init \
  --database-url "postgresql+asyncpg://[email protected]/oms"

See Getting started for provider prerequisites and a complete first run, or Database configuration for PostgreSQL permissions, schemas, and environment overrides.

🧰 Choose a Starter Workflow

oms init publishes eight provider-neutral Starters. Choose one when a mission is consequential or broad enough that independent ownership, durable work, or adversarial verification adds real value:

Starter Use it when
production-feature-delivery A feature crosses contracts, implementation boundaries, integrated verification, and release readiness.
incident-investigation-and-recovery A serious or intermittent failure needs competing hypotheses, supported recovery, verification, and prevention.
migration-and-modernisation A large migration needs inventory, dependency-aware batches, cutover, and stale-path removal.
deep-research-and-decision-brief A consequential question needs independent evidence, claim verification, and one accountable recommendation.
decision-through-competing-prototypes Alternatives should be tested under one fair rubric instead of decided from prose alone.
idea-to-validated-demo A product idea should become an evidence-backed position, working first demo, launch strategy, and credible pitch.
experiment-and-replication-program An empirical or computational program needs explicit methods, durable execution, independent replication, and claim audit.
security-audit-and-hardening A security program needs attack-surface mapping, specialised audits, validated remediation, and adversarial re-verification.

The Starter catalog includes example missions, expected deliverables, and guidance on when a simpler team is better. A one-Member Workflow is valid—and usually wiser—when delegation would add ceremony without independent evidence, useful specialization, or real integration.

🧭 From prompt to Result

  1. Choose or design a team. Start from an included Starter Workflow or shape a responsibility tree in Workflow Studio.
  2. Publish a stable revision. Every Run keeps the exact team contract it started with.
  3. Give the lead one complete prompt. Managers plan, delegate, adapt, and integrate while OMS supervises runtime state.
  4. Stay involved where judgment matters. Steer an active Member or answer a typed Human Request when the team genuinely needs you.
  5. Receive the accountable Result. Read the lead's exact completed or blocked outcome and follow its references into detailed workspace files.

📚 Documentation

⚖️ License

Oh My Subagents is open source under the MIT License, except for the visual Console in console/, which contains material derived from n8n and is distributed under the Sustainable Use License. That license permits internal business, non-commercial, and personal use; redistribution is limited to free, non-commercial distribution. See the Console notice for attribution and the modification notice.

oh-my-subagents (ringlochid/oh-my-subagents)

Searching Database…

What is this?A local orchestration runtime for Codex and Claude subagents: durable AI teams with persistent task state, reusable responsibility trees and interruption recovery, instead of ad-hoc delegation.
Is it a framework I import into my code, or a tool I run?A tool you run: CLI commands (oms init, oms serve, oms service install), a visual Console and a chat Operator all drive the same local controller that supervises your agent teams.
How do I get it running?Install with pipx (needs Python 3.12+; runs on Linux, macOS 13+ and Windows 11 x64), then run oms init — guided setup picks a workspace, configures a Codex or Claude provider and publishes the Starter teams.
Do I need a database server for it?No. SQLite is the default store, so a local install needs no database server; PostgreSQL is optional if you provide a SQLAlchemy URL during initialization.
What happens if my terminal or the provider dies mid-run?Work survives: the controller runs as a native per-user background service (systemd, LaunchAgent or Scheduled Task) and recovers from committed records without fabricating completion or discarding accepted history.
Is it fully open source?Mostly: MIT — except the visual Console, which contains n8n-derived material under the Sustainable Use License (internal, non-commercial and personal use; redistribution limited).
Why not just spawn subagents directly in Codex or Claude?Ad-hoc delegation is easy to start and hard to operate: roles get recreated per job, parents poll children by hand and ownership is rebuilt from transcripts. OMS commits each Wave with its Assignments, persists the wait and continues the parent with complete Checkpoints — even after an interruption.
Do I have to design agent teams from scratch?No — oms init publishes eight Starter Workflows, including production-feature-delivery, incident-investigation-and-recovery, deep-research-and-decision-brief and security-audit-and-hardening, each with example missions and expected deliverables.
Can I watch and steer the team while it works?Yes. Workflow Studio shapes a responsibility hierarchy on a canvas, Run Studio shows the live team, plans, Activity, Human Requests and the final Result, and you can steer one exact active Member with bounded new context.
Does every task really need a multi-agent team?No. A one-Member Workflow is valid — and usually wiser — when delegation would add ceremony without independent evidence, useful specialization or real integration.
What are similar projects?orca, codify, ordewell, PocketFlow, cayu, hive, deer-flow, conductor
Creator
ringlochid
Size
15.3 MB
Stars
190
Age
2mo
Commits · 90 Days