Skip to content

Repository files navigation

OVOS MessageBus

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-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.

About

ovos-core bus daemon

Topics

Resources

Contributing

Stars

1 star

Watchers

3 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages