What HarnessRouter Community Edition is
HarnessRouter Community Edition is the self-hosted reference implementation of UHP in the same public repository as the protocol. The project describes it as a single-container system that runs complete agent harnesses through a shared API while keeping provider keys and durable state on infrastructure controlled by the operator.
Current implementation snapshot
| Area | Verified state |
|---|---|
| Latest observed tag | v0.8.3, dated 23 Aug 2026 |
| UHP protocol version | 2026-08-11 |
| Harness backends | Claude Code, Codex, Hermes, Pi and DeepSeek Harness (dsh) |
| Deployment | Self-hosted Docker container with persistent state on a volume |
| Conformance role | Reference implementation; the protocol directory contains the conformance suite and published report evidence |
Post-v0.8.0 developments: releases and main
Verified developments after v0.8.0. Reachability was checked against the tags: the conformance-suite hardening and integration fixes first mislabelled as "unreleased" on 22 Aug actually shipped with v0.8.1. As of 23 August 2026 only the Claude-plugin work remains unreleased main development (cutoff commit 95b96d7). None of this changes the UHP protocol version.
| Development | Status | What changed |
|---|---|---|
Claude Code plugins (--plugin-dir) + stdio MCP servers | main — unreleased | Runner-side materialization of Claude Code plugins via --plugin-dir plus stdio MCP server configuration, with tests (merge 95b96d7, PR #22). Post-dates v0.8.3; HarnessRouter integration work, not Anthropic adoption of UHP. |
| Session write-wall + scratch compatibility + vision routing | Released in v0.8.2 (23 Aug 2026) | Self-hosted agent processes run under per-session UIDs and can write only their own session directory; shared scratch paths stay writable at mode 1733 for tools such as LibreOffice. Hermes image questions route to whichever instance integration serves a vision model, independent of the writing model. A Full-class UHP run of 52/52 is documented for this tree in commit messages. |
| Self-host share-link fix | Released in v0.8.3 (23 Aug 2026) | Share links resolve without a hosted graph URL (SQLite backing) and pass the console login gate; the gateway still scopes disclosure to an enabled share token and only that session, and disabling sharing revokes resolution. |
| Workspace registry server-side | Released in v0.8.1 (21 Aug 2026) | The self-host workspace list moved from browser localStorage into the gateway store, so two browsers on one instance agree on what exists; browser-minted ids are adopted verbatim during migration. |
Conformance suite revision 2026.8.11.post1 | Released in v0.8.1 (verified reachable from the tag) | JSON conformance reports became strict: a skip is no longer a pass (conformant vs conformant_with_skips, skipped_not_verified, suite_version/generated_at, strict highest_class_passed). Total remains 52 checks. |
| Failed Response error envelope fix | Released in v0.8.1 (verified reachable from the tag) | A failed Response now carries a spec-valid Error object (type from the closed enum plus a specific code: turn_failed, connections_exhausted, unhandled_exception); previously every failed turn was schema-invalid. |
| Hermes loopback relay normalization | Released in v0.8.1 (verified reachable from the tag) | OpenAI-legal message shapes that aggregator translation rejects are repaired before the provider sees them; the provider credential stays in the runner. Documented patched full-class runs: 52/52 via TokenRouter and LLMTR. |
DeepSeek Harness reasoning_effort handling | Released in v0.8.1 (verified reachable from the tag) | Aggregator rejections of reasoning_effort are retried once without it, then stripped for the turn; documented LLMTR run improved from 47/52 to 52/52. |
See the conformance page for what the post1 report fields mean for evaluating third-party claims, and the release tracker for the dated ledger.
Backend and provider routing
The repository currently documents multiple provider paths across the five supported harness backends: Claude Code, Codex, Hermes, Pi and DeepSeek Harness (dsh). This is a HarnessRouter provider/backend compatibility matrix, not a requirement of UHP itself.
| Provider connection | Backends documented as compatible |
|---|---|
| Anthropic | Claude Code, Hermes, Pi |
| OpenAI | Codex, Hermes, Pi |
| OpenRouter | Codex, Hermes, Pi, DeepSeek Harness |
| Azure Foundry | Codex, Hermes, Pi |
| Amazon Bedrock | Claude Code, Hermes |
| TokenRouter | Claude Code, Codex, Hermes, Pi, DeepSeek Harness |
| Vercel AI Gateway | Claude Code, Codex, Hermes, Pi, DeepSeek Harness |
| LLMTR | Claude Code, Codex, Hermes, Pi, DeepSeek Harness |
UHP features vs HarnessRouter product features
| Capability | Where it belongs |
|---|---|
| Harness execution, sessions, streaming, cancellation, files and standardized errors | UHP protocol surface |
| Running Codex, Claude Code, Hermes, Pi and DeepSeek Harness behind one implementation | HarnessRouter Community Edition |
| Provider routing and model-provider connection policies | HarnessRouter implementation |
| Slides, Sheets, Dashboards and Videos starter kits | HarnessRouter product examples, not UHP requirements |
| Media routing, video timeline and image import | HarnessRouter product capabilities |
Starter kits now documented
The current repository describes four worked product examples: Slides, Sheets, Dashboards and Videos. Each combines an app surface with an agent/harness configuration and a skill that teaches the agent how to produce the target artifact or workflow.
Security and deployment notes
The self-hosted documentation recommends loopback-only exposure for the default local start, changing the default password before exposing the service, and using least-privilege database credentials for dashboard connections. Treat these as implementation deployment guidance, not protocol-level security guarantees.