HarnessRouter Community Edition - Open-source unified interface for agent harnesses
by•
Plug-and-play managed agent harnesses in your product: Codex, Claude Code and Hermes through one API on your infrastructure, now open sourced under Apache 2.0. Switch harnesses without rebuilding your backend. Sessions, streaming, files, artifacts, cancellation, failure recovery, all handled. Model provider keys, state, and deliveries under your control. Gateway, Runner, Console in one Docker container. Ready-to-use starter kit apps as inspiration of possibilities.


Replies
Lancepilot
HarnessRouter
@priyankamandal That's a fair way to think about it, and honestly a good metaphor. What makes plugins work anywhere (browsers, editors, VS Code) is never the plugins themselves, it's a stable socket: a contract stable enough to build against, plus a way to ask "what can this one do." That's exactly what UHP is trying to be for harnesses. Integrate the socket once, and each harness plugs in with its own strengths declared upfront. The part the metaphor captures best is why it matters: nobody rewrites their editor when a new extension ships. A new harness should be a config change, not a backend rebuild. That's the whole bet.
10xlaunch.ai
Really like that you’re building this in public and putting the infrastructure out there. Proper open source. Nice job!
HarnessRouter
@nir0b Thank you for your support, Nirob!
SUN
Great release. Congrats folks
HarnessRouter
@artinbogdanov thank you for your support, Artin!
Lancepilot
Curious how you’re handling concurrency. What happens when a lot of users kick off long-running jobs at once? The API feels like the easy part; isolation and recovery are where it usually gets messy.
HarnessRouter
@istiakahmad Agreed, the API is the easy part. The spec draws one hard line on concurrency: tasks run in parallel across sessions, but never two at once inside the same session. A session is one conversation and one working directory, and two agents writing to both isn't a defined state, so the second request gets a clean structured error instead of a corrupted workspace. For isolation, every session gets its own workspace, state, and checkpoint, with one agent process per session. For recovery, workspaces live on the data volume, so a restart doesn't lose work in flight, and cleaned up idle sessions restore from their checkpoint. And the honest ceiling in the self hosted edition: one box runs what the box can run, concurrency defaults to your core count. Scaling beyond that is what the hosted version exists for.