OVOS MessageBus

September 18, 2026 ยท View on GitHub

ovos-messagebus is the WebSocket message bus server for OpenVoiceOS. Every OVOS service connects to this bus and exchanges Message objects with it. The bus does not route or filter messages. It broadcasts each message to every connected client.

Install

pip install ovos-messagebus

Usage

Start the server from the command line:

ovos-messagebus

Or run it as a module:

python -m ovos_messagebus

The server reads its connection settings from mycroft.conf under the websocket key. The shipped default host is 127.0.0.1; keep it that way unless you fully control the network (see the manual's Bus Service page for why). See docs/configuration.md for the full list of options, docs/server.md for the server internals, and docs/events.md for the message types that flow through the bus.

Alternative implementations

ovos-messagebus also ships an optional Rust-powered backend (webrockets) alongside its default Tornado backend. See docs/backends.md for setup and benchmark results.

  • ovos-bus-client: the client library all services and skills use to connect to this bus.
  • ovos-core: intent pipeline and skill orchestration. It connects to this bus as a client.
  • ovos-audio: TTS rendering and audio playback. It connects to this bus as a client.
  • ovos-gui: GUI namespace management. It bridges skills to GUI clients over this bus.
  • ovos-dinkum-listener: wake word detection and STT transcription. It connects to this bus as a client.
  • ovos-PHAL: the hardware abstraction layer. It connects to this bus as a client.

License

Apache-2.0. See LICENSE.