Warning
This repository is deprecated. BitRouter's adapters are moving to one repo each. Nothing here is maintained: no releases, no dependency updates, no compatibility fixes when a harness changes. The code is left in place and the repo is still writable, but treat everything below as a historical snapshot.
This was a monorepo of BitRouter's agent-harness adapters, sharing one CI matrix and a single source of truth for BitRouter's drift-prone data. The arrangement traded away the thing each adapter actually needs: every one of them tracks a different third-party harness's release cadence, so a shared CI matrix and a shared release story meant none could move on its own schedule.
Maintained adapters, one repo each:
| Harness | Repo | Package |
|---|---|---|
| pi | bitrouter/bitrouter-pi | @bitrouter/pi |
| opencode | bitrouter/bitrouter-opencode | @bitrouter/opencode |
| DeepSeek Harness | bitrouter/bitrouter-dsh | @bitrouter/dsh |
BitRouter's own first-party plugin — the bitrouter setup skill plus the
bitrouter mcp serve MCP server — ships from
bitrouter/bitrouter and always did.
Nothing has been deleted. Two of these four are superseded, and editing them is almost certainly a mistake:
| Directory | Status |
|---|---|
pi/ |
Superseded by bitrouter-pi. Stale copy — the live version has an auto-detecting target and in-agent /login. Do not edit. |
opencode/ |
Superseded by bitrouter-opencode. This was only a static provider seed; the live version is a real plugin with model discovery and auth. Do not edit. |
openclaw/ |
Frozen here, unmaintained. Published as @bitrouter.ai/openclaw-plugin (npm), last at 0.1.1. |
hermes-agent/ |
Frozen here, unmaintained. Never published. |
openclaw/ and hermes-agent/ were deliberately not extracted. Both were
verified green at the time of deprecation — openclaw 133 tests, hermes-agent 65
— so this is a working snapshot rather than abandoned rubble. But neither tracks
upstream any more, and each breaks when its harness changes. If you need one
maintained, fork it into its own repo and follow the layout of the three live
repos above.
Note that @bitrouter.ai/openclaw-plugin's package.json points its repository
URL at bitrouter/bitrouter-openclaw, which does not exist. That link is broken
today; the source is here, in openclaw/.
Still present and still functional, for anyone reading the history or reviving a directory:
shared/bitrouter.json— one source of truth for data that changes when BitRouter changes (gateway version + download coords, cloud/auth URLs,/v1surface, default model).scripts/gen.mjs(just gen) — writes that data into each adapter'sgenerated/file (TS or Python). Generated files are checked in; CI fails if stale. Adapter logic was never generated.plugins.manifest.json— the registry CI builds its matrix from, rather than from the directory listing.
The extracted repos dropped this machinery — each carries a hand-maintained
src/constants.ts instead. That is the trade a standalone repo makes: one more
place to edit when a cloud endpoint moves, in exchange for releasing on its own
schedule.
The on-bitrouter-release and on-harness-update agentic workflows in
.github/workflows/ describe a fan-out that was never wired up:
bitrouter/bitrouter's release workflow only ever dispatched to
bitrouter-docs. Dependabot config is still present, so bump PRs may still
appear here; they will not be applied.
just gen # regenerate constants from shared/bitrouter.json
just gen-check # CI: fail if generated files are stale
just plugin openclaw # install + build + test one plugin, in isolation
just all # every plugin (islands, sequential)