OVOS MessageBus
July 31, 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 mycroft-core messagebus websocket
"websocket": {
"host": "0.0.0.0",
"port": 8181,
"route": "/core",
"ssl": false,
// in mycroft-core all skills share a bus, this allows malicious skills
// to manipulate it and affect other skills, this option ensures each skill
// gets its own websocket connection
"shared_connection": true,
// filter out messages of certain types from the bus logs
"filter": false,
// which messages to filter if filter is enabled
"filter_logs": ["gui.status.request", "gui.page.upload"]
}
}
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-rust-messagebus: alternative Rust messagebus server implementation.
- ovos-messagebus-cpp: alternative C++ messagebus server implementation using WebSocket++ (archived).
ovos-messagebus also ships an optional Rust-powered backend (webrockets) alongside its default Tornado backend. See docs/backends.md for setup and benchmark results.
Related projects
- 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.