Use OpenChamber as a UI for oh-my-pi coding sessions — without modifying either project.
omp on PATHbun install
bun run start
# → [proxy] listening on http://127.0.0.1:4096

OMP Serverhttp://127.0.0.1:4096OMP Server or Local).● Connected) and star it as default.omp!OPENCODE_HOST=http://127.0.0.1:4096 \
OPENCODE_SKIP_START=true \
openchamber serve --foreground --port 3000
Open http://127.0.0.1:3000/ in your browser.
# Type-check
bun run check
# Run unit and contract test suite
bun test
# Optional: Run live end-to-end suite against real omp binary & active model
bun run test:live
Full architectural specifications, API schemas, and protocol references are in docs/:
architecture.md — Subsystem architecture, process management, JSONL fast path, and core invariants.api-reference.md — Complete OpenCode HTTP and SSE endpoint reference with request/response schemas.providers.md — Multi-backend adapter contract: AgentBackend/SessionStore interfaces, session-id codec, model-picker routing, and capability gating.omp-protocol.md — oh-my-pi stdio NDJSON RPC protocol, commands, turn events, and disk schemas.openchamber-contract.md — OpenChamber SSE stream lifecycle, message/part schemas, and UI reducer contracts.The sidecar's backend layer is pluggable (src/providers/): omp is the
default backend, and additional agent backends plug in through the
AgentBackend adapter contract without changing the OpenCode HTTP/SSE
surface. A fake backend ships for tests — set OC_FAKE_BACKEND=1 to register
it (see docs/providers.md).
TypeScript
98.9%
JavaScript
1.1%
Use OpenChamber as a UI for oh-my-pi coding sessions — without modifying either project.
omp on PATHbun install
bun run start
# → [proxy] listening on http://127.0.0.1:4096

OMP Serverhttp://127.0.0.1:4096OMP Server or Local).● Connected) and star it as default.omp!OPENCODE_HOST=http://127.0.0.1:4096 \
OPENCODE_SKIP_START=true \
openchamber serve --foreground --port 3000
Open http://127.0.0.1:3000/ in your browser.
# Type-check
bun run check
# Run unit and contract test suite
bun test
# Optional: Run live end-to-end suite against real omp binary & active model
bun run test:live
Full architectural specifications, API schemas, and protocol references are in docs/:
architecture.md — Subsystem architecture, process management, JSONL fast path, and core invariants.api-reference.md — Complete OpenCode HTTP and SSE endpoint reference with request/response schemas.providers.md — Multi-backend adapter contract: AgentBackend/SessionStore interfaces, session-id codec, model-picker routing, and capability gating.omp-protocol.md — oh-my-pi stdio NDJSON RPC protocol, commands, turn events, and disk schemas.openchamber-contract.md — OpenChamber SSE stream lifecycle, message/part schemas, and UI reducer contracts.The sidecar's backend layer is pluggable (src/providers/): omp is the
default backend, and additional agent backends plug in through the
AgentBackend adapter contract without changing the OpenCode HTTP/SSE
surface. A fake backend ships for tests — set OC_FAKE_BACKEND=1 to register
it (see docs/providers.md).
TypeScript
98.9%
JavaScript
1.1%