StackMap
Subscribe

agentdock vs harnessrouter

TypeScript library giving a backend one agent runtime: session-scoped runs with streaming, approvals and cancel, a tool registry, injectable stores and a factory over nine AI SDK providers. — versus — Self-hosted Apache-2.0 reference implementation of the Unified Harness Protocol: one OpenAI-Responses-style API running Codex, Claude Code, Hermes, Pi and DSH with sessions, streaming, files, traces.

The curated verdict

Same job — give a backend one runtime API with session-scoped runs, streaming, approvals and cancellation — but agentdock is a TypeScript library you embed, harnessrouter wraps existing third-party harness CLIs behind a service.

agentdockharnessrouter
Stars61.1k
Forks2112
LanguageTypeScriptPython
LicenseMITApache-2.0
Last activity5 days agoyesterday
Topicsagentsorchestration, agents, gateway
Curated connections65

agentdock — the curator's take

A deliberately thin agent loop for Node backends. The one decision worth copying is that sessions own their message history through an injected store, so a multi-tenant app stops threading transcripts through every call site. Set expectations accordingly: v0.1.0, single-digit stars, in-memory defaults, and it is a wrapper over the Vercel AI SDK, so anything the SDK cannot do it cannot do either. Use it if you want a runtime small enough to read end to end; use a real harness if you want planning, sub-agents, sandboxes or memory.

harnessrouter — the curator's take

Use it when your *product* needs to run coding-agent harnesses as a backend service and you don't want an integration per harness: one Docker image ships Console + Gateway + Runner, installs the harness CLIs you enable, and exposes runs/sessions/artifacts through UHP so you can swap Codex for Claude Code (or a cheaper harness×model pair — their benchmarks show 90%+ cost spread) without touching your app. Bring your own provider keys. It is a server for embedding harnesses, not a desktop cockpit for a developer (see agent-orchestrator, helmor) and not a model gateway (put litellm/omniroute underneath). Community Edition of a commercial product; check what stays in the paid tier before betting on it.