OVOS Messagebus Client
Project description
OpenVoiceOS Bus Client
A Python client for the OVOS messagebus. Connect to OVOS, emit messages, and react to system events.
The OVOS messagebus is the nervous system of an OVOS install. Every component — STT, intent parsing, skills, TTS, audio, GUI — talks over it. This package is the Python client.
⚠️ The bus is private. It has no authentication — every connected client can issue any natural-language command, speak through the speakers, take over any subsystem, and read every other client's traffic. Keep it bound to
127.0.0.1(the default), never expose it on a network interface, and never put it behind a reverse proxy. For remote access, use HiveMind, which adds encryption, identity, and policy enforcement on top.
Install
pip install ovos-bus-client
Quick start
from ovos_bus_client import MessageBusClient, Message
client = MessageBusClient()
client.run_in_thread()
client.connected_event.wait()
client.emit(Message('speak', data={'utterance': 'Hello World'}))
Listening for messages:
from ovos_bus_client import MessageBusClient
client = MessageBusClient()
def on_speak(message):
print('OVOS said:', message.data.get('utterance'))
client.on('speak', on_speak)
client.run_forever()
CLI tools
| Command | Description |
|---|---|
ovos-speak <text> [lang] |
Ask OVOS to speak a phrase |
ovos-say-to <text> [lang] |
Inject an utterance into the intent pipeline |
ovos-listen |
Trigger the wake-word / listen cycle |
ovos-simple-cli [lang] |
Interactive text REPL for OVOS |
Configuration
MessageBusClient reads the websocket block of your OVOS config (loaded by ovos-config) — defaults to ws://127.0.0.1:8181/core. Override at construction:
MessageBusClient(host='127.0.0.1', port=8181)
Do not change host to anything routable. See the security callout above.
Migrating from 1.x
Two modules were removed in 2.0.0. Install their replacement packages if you used them:
| Removed | Replacement | Install |
|---|---|---|
ovos_bus_client.hpm.OVOSProtocol |
hivemind-ovos-agent-plugin |
pip install hivemind-ovos-agent-plugin |
ovos_bus_client.opm.OVOSMessagebusSolver |
ovos-messagebus-chat-plugin |
pip install ovos-messagebus-chat-plugin |
The HiveMind agent entry point (hivemind.agent.protocol) and the solver entry point (neon.plugin.solver) are no longer registered by this package. See docs/migration.md for details.
Documentation
Full developer docs live in docs/:
- Getting started — install to first message
- Core concepts — bus model and the security boundary
- Messages —
Message,GUIMessage, reply helpers - The client —
MessageBusClientAPI in depth - Configuration — host, port, route, ssl
- Sessions —
Session,SessionManager,IntentContextManager - Waiters and collectors — request/response and multi-reply patterns
- High-level APIs —
GUIInterface,OCPInterface,EnclosureAPI, scheduler - CLI tools —
ovos-speak,ovos-listen,ovos-say-to,ovos-simple-cli - Common patterns — recipes for everyday use
- Testing —
FakeBus, isolating tests - Migration from 1.x — what moved out in 2.0
- Development — repo layout, releases
- Glossary — terms
Related
- ovos-pydantic-models — authoritative Pydantic v2 index of every OVOS bus message type. Opt-in validation layer for typing, docs generation, and integration tests. Browsable docs: https://openvoiceos.github.io/ovos-pydantic-models/.
- HiveMind — external-access layer in front of the bus; the right tool for remote clients.
License
Apache 2.0. See LICENSE.md.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ovos_bus_client-2.1.1a1.tar.gz.
File metadata
- Download URL: ovos_bus_client-2.1.1a1.tar.gz
- Upload date:
- Size: 54.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b3ddad4575f89967709ae8f5220fa42f0bced7a842997e048646f891d9163158
|
|
| MD5 |
88a3fd73ae9ed2eb201d7474ba029b10
|
|
| BLAKE2b-256 |
f5999249583e59501b0769fc8d1b250a987478876bea728671d7b8034c94dfec
|
File details
Details for the file ovos_bus_client-2.1.1a1-py3-none-any.whl.
File metadata
- Download URL: ovos_bus_client-2.1.1a1-py3-none-any.whl
- Upload date:
- Size: 60.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
492bf03ca6e7acf20fb1efa12a2d650753093b70e68350f5a15536803bef9c1c
|
|
| MD5 |
589a2876a093f77af64924d1278d2e10
|
|
| BLAKE2b-256 |
9358c23010d93f895f5cf44d22d961c19b71422d2ff87181ea8b071961139a18
|