Skip to content

Multi-agent control room

AMS

One task, two minds at the table: a local control room where Claude and Codex agree a plan, split the work, and review each other.

Role
Sole builder. Orchestrator, collaboration protocol, and dashboard.
Status
In development
Year
2026
How it works, end to end. The screens inside are real captures; every command and stage is the project's own.

The problem

Running several AI coding agents on real work meant juggling separate terminals, logs, and logins, with no shared plan, no record of who did what, and no second pair of eyes on any agent's output.

What I did

Designed the collaboration protocol and built the Python orchestrator, the account and skills model, and the Next.js dashboard that runs it.

How it works

Every job runs four stages: one agent proposes a plan, the other challenges it, the work runs in dependency order with one writer per checkout, and the other agent reviews the result. Ownership is decided from the joint plan and each account's live usage. If one provider is down, the other works alone and labels its self-check honestly instead of claiming a peer review.

Two polished steel spheres facing each other across a black table, joined by a thread of orange light over one sheet of paper.
Illustration, generated with Google Flow.
AMS on a phone
First screen on a phone.
An AMS run page showing the Agree, Work, Review and Done stages of a finished job.
A finished run: both agents agreed the plan, one built, the other reviewed.
The AMS agents page with a Claude lane and a Codex lane, both ready.
Two subscription lanes, no API keys.
The AMS knowledge page listing skills deployed to both agents.
Shared skills, deployed to both agents.

The hard parts

  1. 01

    Using subscription logins only: provider API-key variables are stripped before any agent launches, so no job can bill an API account by accident.

  2. 02

    Telling a quota limit from a broken login. Instant zero-token failures turned out to be an environment that looked signed out, not exhausted usage, and the dashboard now checks both.

What changed

  • The first full live collaboration passed end to end: proposal, challenge, work, and review, with the produced code independently re-run green.
  • Every run emits a downloadable report with decisions, ownership, and verification.

Built with

  • Python
  • SQLite
  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • SSE