HiveMind WebChat Documentation

July 31, 2026 · View on GitHub

HiveMind WebChat is a browser-based text terminal for HiveMind. It is a hybrid of two pieces:

  • a small Python backend (Tornado) that serves a static chat page, and
  • a JavaScript frontend that runs in the browser and connects to a HiveMind hub directly via the HiveMind-js V1 client (PBKDF2-HMAC-SHA256 handshake + AES-GCM encryption, native Web Crypto).

You type a message in the browser, it is sent to the hub as a recognizer_loop:utterance, and spoken replies are rendered back in the chat log. The Python package also ships an optional headless bridge (WebchatBridge, built on hivemind-bus-client) for server-side relay and testing without a browser.

browser (this page + HiveMind-js)  ──websocket──►  hivemind-core hub  ──►  OVOS / agent

optional headless WebchatBridge (Python) ──HiveMessageBusClient──┘

Satellite spectrum: where does WebChat sit?

HiveMind is a mesh: satellite devices connect to a central hivemind-core hub over an authenticated, encrypted protocol. WebChat is a text front end. It has no audio and no local models.

SatelliteInputOutputBest for
HiveMind-webchat (this repo)text (browser)text (browser)Chat from any browser on the network
HiveMind-clitext (keyboard/script)textTerminal / scripting
hivemind-mic-satellitemic (server STT)speakerCheapest voice HW
HiveMind-voice-satmic (local STT)speakerFull local voice stack

Pages

  • Getting started: prerequisites, install, pairing, first run
  • Configuration: CLI flags, connection form, the optional bridge
  • Architecture: the Python backend, the JS frontend, the bridge, the protocol
  • Deployment: reverse proxy / TLS, Docker, the gh-pages static demo
  • Dependencies: runtime + e2e deps and the bus-client 2.x story
  • Testing: the Python e2e + JS e2e suites, how the frontend is mocked, running both
  • Troubleshooting: common failure modes and fixes