Multi-agent infrastructure

Run a fleet ofcoding agentsas one.

Chimera Relay drives the real Codex, Claude Code, and Hermes CLIs as one fleet: shared rooms, a scriptable run language, and failures that keep their stderr.

Drives codex · claude-code · opencode · antigravity · hermes · local

the failure mode

You already run a fleet. It runs you.

Three agents means three terminals to babysit, a glue script only you can rerun, and one error you never saw because a wrapper ate the stderr.

Relay collapses the wall into a room: every agent a lane, every lane live, nothing running where you are not looking.

no reinvented wheels

The native harness is the product. We drive it.

Relay does not reimplement an agent loop. It discovers the AI CLIs already signed in on your machine and drives each one over its own best transport.

codexthe real codex app-server, JSON-RPC over stdio
claude-codethe official Claude Agent SDK, stream-json fallback
opencodethe opencode CLI, driven turn by turn
antigravityGoogle's agy CLI over ConPTY, resumed by uuid
hermesthe Nous Hermes CLI, session id caught from stderr
localany OpenAI-compatible endpoint on your loopback

tuning

Models are tuned for their own tools

Every vendor trains its model against its own harness. A reimplemented agent loop fights that tuning on every turn; the native CLI rides it.

upstream

Upstream features land free

When Codex or Claude Code ships something new, Relay inherits it the day you update the CLI. There is nothing to re-port and no clone to catch up.

auth

Auth and quotas just work

Your existing sign-ins and subscriptions drive the fleet: OAuth sessions and provider quotas, not API keys pasted into an imitation.

the adapter engine

Six dialects in. One room out.

Every harness speaks its own protocol. The engine adapts each one into the structure a room understands: turns, live events, artifacts, and a trail that survives.

codexjson-rpc over stdioclaude-codeagent sdk eventsantigravityconpty + transcript.jsonlhermes · localstdout · httpAgentRuntimeAdaptervalidate · startSessionsendTurn · interruptarchive · disposesecrets redactedtranscript entrieslive events (sse)artifacts, by referenceusage + model detected
One adapter contract per harness; the room never learns which dialect it heard

The run

Orchestration you can diff

×Judge panels, fusion, debates: in most shops that logic lives in glue scripts only the author can rerun.

In Chimera DNA the whole orchestration is a small script. Every agent call can target a different harness and model: readable, diffable, rerunnable.

const fix = "Fix the flaky retry test";const panel = await parallel([  () => agent(fix, { harness: "codex" }),  () => agent(fix, { harness: "claude-code",    persona: "warden" }),  () => agent(fix, { harness: "hermes" }),]);const verdict = await agent(judge(panel),  { harness: "claude-code", schema: VERDICT });
Three harnesses argue, one judges: nine lines, no glue

The trail

Failures keep their trail

×When an agent dies three hops down, most consoles hand you a normalized reason code and eat the stderr.

Relay captures the raw error before it is normalized: child stderr, every RPC hop, exit codes, secrets redacted. The real error is one layer down, never gone.

SPAWNDISPATCHSTREAMEXIT 127$ relay-diag run dna-4f2acodex.spawn → exit 127stderr: ENOENT ./harness (preserved)
The trail survives every hop

beyond the console

The console is a client. The engine does not care.

Relay's UI talks to the engine over the same surfaces you can: HTTP and SSE, MCP tools, a CLI, or in-process. Point anything at it.

POST /dna → 202 · GET /rooms/:id/events (SSE)

CI that judges itself

Your pipeline submits a judge-panel run on every pull request; three harnesses argue, one verdict lands back as a status check.

chimera-dna run bench.dna.js --args '…'

A cross-vendor eval farm

One prompt, six harnesses, best-of-N scoring. Nightly model bake-offs from a single cron line, results as a typed report.

ChimeraDna · ChimeraDnaMonitor (MCP)

Any agent as conductor

Your own assistant launches and monitors fleet runs as ordinary tool calls, then reads the results back into its context.

new DnaRuntime({ registry, emit })

Your dashboard, this engine

Embed the runtime in-process, subscribe to the event stream, and render a team wallboard exactly the way you want.

Versioned wire types on every response; the reference UI consumes the same client SDK you would.

the werks

Five instruments, one bench.

Every tool ships from the same bench: shared rooms, shared identity, one console across the fleet.

Chimera Relay

active

Multi-agent orchestration console

Run fleets of coding agents (Codex, Claude, Hermes, and more) in shared rooms with personas, DNA runs, and judge panels. One console for the whole fleet.

Chimera DNA

active

Agent orchestration language

Describe fusion, judge-panel, debate, and map-reduce multi-agent runs in one declarative format, then execute them across any harness.

Chimera Library

active

Skill & tool librarian

A source-of-truth registry that recommends the right skills, modules, and tools to any agent harness on demand.

Chimera Browser

active

Agent-driven browser automation

A Camoufox-based local automation service that gives agents a real browser, with Playwright traces and VNC debugging when things get weird.

Chimera Image Lab

active

Local-first image generation

OAuth-only gpt-image-2 generation and editing with no provider API keys, driven from CLI, HTTP, or MCP.

…and more in the werks

incubating

Always something on the bench

Ports registries, passkey gateways, research pipelines, federated wikis. The workshop never really closes.

contact · a human answers

Open a channel.

hello@chimerawerks.com