HarnessRouter Unifies Codex, Claude Code, and Hermes Behind One Open API
An open-source Docker container runs Codex, Claude Code, and Hermes through one unified API, keeping your keys and data on your own machine.
PRO- HarnessRouter CE: Apache-2.0 Docker container running Codex, Claude Code, and Hermes behind one unified API.
- Implements the Unified Harness Protocol, an open OpenAPI 3.1 standard with a conformance test suite.
- Bring-your-own-key model: credentials stay on your machine and are handed directly to agents.
- OpenAI Responses-compatible endpoint with sessions, streaming, cancellation, and idempotency.
- Ships four starter kits: Slides, Sheets, Dashboards (read-only SQL), and Videos.
- Known issue: setting HR_BACKENDS without hermes crashes the container; use version 0.3.0 or later for auth.
Running multiple coding agents locally has been a mess of conflicting CLIs, incompatible auth flows, and vendor lock-in. HarnessRouter Community Edition is an Apache-2.0 project that puts Codex, Claude Code, and Hermes behind a single OpenAI Responses-compatible API, running in one Docker container with your own provider keys. It is the reference implementation of the Unified Harness Protocol (UHP), an open standard for talking to agent harnesses.
One container, three harnesses
An agent harness is the runtime layer around a model; Codex, Claude Code, and Hermes are examples. Rather than installing each CLI separately and gluing them together, HarnessRouter exposes all three through one HTTP surface. In the API you create harness objects: a saved configuration whose base is one of those runtimes, plus a model, instructions, and limits. A task is one run of that configuration, a real conversation against a real POSIX workspace with bash and git, streamed back as it happens.
Setup is a single docker pull followed by a docker run that publishes port 3000 on loopback and mounts a volume for state. The first start takes about half a minute, and most of it looks like nothing is happening. That pause is intentional: the agent CLIs are fetched at runtime rather than shipped in the image, for licensing reasons rather than packaging preference. Claude Code is distributed under Anthropic's own terms and hermes-agent declares no license at all, so neither can be redistributed inside a public image.
Bring your own key, keep your own data
Nothing runs until you connect a model provider. There is no bundled model, no trial key, no telemetry. Credentials are read from the environment at startup and handed directly to the agent, never written into the image and never sent anywhere except your provider. The Integrations page accepts a name, a provider, and an API key, then figures out which models that provider serves for you.
This story is for Pro members
You've reached the end of the free preview. Upgrade to AlphaSignal Pro to read the full article - and everything else behind the paywall.