Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

OVOS Messagebus Chat Plugin

An OVOS ChatEngine agent plugin that proxies user turns through a connected OpenVoiceOS messagebus. Each continue_chat call sends the latest user utterance to the OVOS pipeline and collects the synthesized response.

The plugin reuses the SessionManager-owned Session for each session_id. This keeps OVOS-side state across multi-turn conversations: active skills, entity context, response-mode flags, and language. Skills that rely on MycroftSkill.get_response(), common_query disambiguation, or context-managed intents keep working across turns.

Installation

pip install ovos-messagebus-chat-plugin

Usage

Via plugin discovery

The plugin registers under opm.agents.chat with name ovos-messagebus. Any OVOS component that loads chat-agent plugins (e.g. ovos-persona) will pick it up automatically:

from ovos_plugin_manager.agents import load_chat_agent_plugin

agent_cls = load_chat_agent_plugin("ovos-messagebus")
agent = agent_cls(config={"autoconnect": True, "host": "127.0.0.1", "port": 8181})

Direct programmatic use

from ovos_bus_client import MessageBusClient
from ovos_messagebus_chat_plugin import OVOSMessagebusChatAgent
from ovos_plugin_manager.templates.agents import AgentMessage, MessageRole

bus = MessageBusClient()
bus.run_in_thread()
bus.connected_event.wait()

agent = OVOSMessagebusChatAgent(bus=bus, config={"timeout": 15})

reply = agent.continue_chat(
    [AgentMessage(role=MessageRole.USER, content="what time is it?")],
    session_id="kitchen",
)
print(reply.content)

# next turn: same session_id reuses the Session, so OVOS skills that need
# follow-up context (get_response, common_query, dialog flow) keep working
reply = agent.continue_chat(
    [
        AgentMessage(role=MessageRole.USER, content="what time is it?"),
        AgentMessage(role=MessageRole.ASSISTANT, content=reply.content),
        AgentMessage(role=MessageRole.USER, content="and tomorrow morning?"),
    ],
    session_id="kitchen",
)

Configuration

Key Type Default Notes
autoconnect bool False Open an internal MessageBusClient on init.
host str 127.0.0.1 OVOS messagebus host (only used with autoconnect).
port int 8181 OVOS messagebus port (only used with autoconnect).
timeout int 30 Per-utterance wait, refreshed on every speak to allow multi-speak.
source_name str messagebus_chat_agent Value set on outgoing context.source. Useful for OVOS routing rules.

Documentation

Full developer docs live in docs/:

License

Apache 2.0. See LICENSE.md.

Credits

Developed by TigreGótico for OpenVoiceOS.

NGI0 Commons Fund

This project was funded through the NGI0 Commons Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101135429.

Metadata

Release files for ovos-messagebus-chat-plugin 0.1.3a1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ovos-messagebus-chat-plugin 0.1.3a1
File Size Uploaded
ovos_messagebus_chat_plugin-0.1.3a1.tar.gz 14.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ovos-messagebus-chat-plugin 0.1.3a1
File Interpreter ABI Platform
ovos_messagebus_chat_plugin-0.1.3a1-py3-none-any.whl Python 3 none any Details

Total release size: 24.9 kB

Release files / ovos_messagebus_chat_plugin-0.1.3a1.tar.gz

Download URL ovos_messagebus_chat_plugin-0.1.3a1.tar.gz
Size 14.0 kB
Tags Source
SHA-256 checksum
How to use checksums
b2d0f531028224d0760a3815897f25ff4b039133dec44158ccd117b5a92499ea
BLAKE2b-256 checksum
How to use checksums
7290807c525c1822f341685631e8e5830e23277761c9283a0e239bdfcf855f2a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / ovos_messagebus_chat_plugin-0.1.3a1-py3-none-any.whl

Download URL ovos_messagebus_chat_plugin-0.1.3a1-py3-none-any.whl
Size 10.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b0d08393b2d63b91e54c6dd94fc9bc663a2404e76cb2c1a4e5f192c4c27f3e11
BLAKE2b-256 checksum
How to use checksums
a6cf0fe117d97a32d2ed0be99ce1a3c573677c7456040219d6d62c6b2840b4bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page