Skip to content

sidebandtech/sideband

Repository files navigation

Sideband

CI npm

Browser ↔ local daemon communication — without WebSocket code.

Stop debugging reconnects, NAT issues, and flaky user networks.

Sideband is for apps that run a local process (daemon, agent, service) and need a browser UI to talk to it — reliably, securely, and beyond localhost.

Early-stage. APIs may evolve. If you're building on this, reach out — feedback shapes the protocol.

Packages

Most apps only need @sideband/peer. Lower-level packages are for custom transports and advanced use cases.

Package Role
@sideband/peer High-level SDK
@sideband/protocol Wire format, frame types, codecs
@sideband/transport Transport ABI and shared utilities
@sideband/runtime Peer lifecycle, routing, subscriptions
@sideband/rpc Typed RPC layer
@sideband/secure-relay E2EE relay protocol
@sideband/transport-browser Browser WebSocket transport
@sideband/transport-node Node/Bun transport
@sideband/cli Developer CLI

Develop

bun install          # Install dependencies
bun test             # Run tests

Requires Bun ≥ 1.3.

Docs

  • Getting Started — build your first browser ↔ daemon connection
  • Protocols — SBP wire format, SBRP E2EE, and RPC envelope specs

License

  • Code: Apache-2.0
  • Docs: CC BY 4.0