ovos-persona (LLM/solver) agent protocol plugin for HiveMind-core
Project description
hivemind-persona-agent-plugin
An ovos-persona agent protocol for HiveMind-core: the hub answers natural-language queries from an LLM/solver persona instead of a full OVOS skills stack.
Unlike the default hivemind-ovos-agent-plugin, this agent needs no OVOS bus and
no running skills — it answers queries directly from the configured persona, streaming
the model output sentence by sentence so that a satellite can start speaking before
generation finishes.
Install
pip install hivemind-persona-agent-plugin
Or from source:
git clone https://github.com/JarbasHiveMind/hivemind-persona-agent-plugin
cd hivemind-persona-agent-plugin
pip install -e .
Quickstart
1. Create a persona file
ovos-persona personas are JSON files. A minimal LLM-backed persona:
{
"name": "MyAssistant",
"solvers": [
{
"module": "ovos-solver-openai-plugin",
"ovos-solver-openai-plugin": {
"api_url": "http://localhost:8000/v1",
"model": "local-model"
}
}
]
}
Save it to ~/.config/ovos_persona/persona.json (or any path — you will reference it
in the config below).
2. Configure hivemind-core
Edit ~/.config/hivemind-core/server.json:
{
"agent_protocol": {
"module": "hivemind-persona-agent-plugin",
"hivemind-persona-agent-plugin": {
"persona": "~/.config/ovos_persona/persona.json"
}
}
}
The persona value can be either:
- a path to a persona JSON file (string,
~is expanded), or - an inline persona config dict.
3. Start hivemind-core
hivemind-core listen
Satellites connecting to this hub receive answers streamed from the persona.
Configuration
All keys live under "hivemind-persona-agent-plugin" in server.json.
| Key | Type | Required | Description |
|---|---|---|---|
persona |
string or dict | yes | Path to a persona JSON file, or an inline persona config. |
How queries are answered
hivemind-core's QUERY handler calls natural_language_query(utterance, lang) on the
active agent. This plugin implements that method by calling Persona.stream(messages, lang=lang), yielding each output chunk as it is produced. The final None sentinel
signals end-of-query to hivemind-core, which sends a hive.query.complete control
message back to the satellite.
See docs/query_flow.md for a detailed trace.
Documentation
docs/query_flow.md— how a query travels from satellite to persona and back.docs/configuration.md— configuration reference.docs/persona_format.md— how to write and configure an ovos-persona file.
License
Apache 2.0.
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 hivemind_persona_agent_plugin-0.0.3a1.tar.gz.
File metadata
- Download URL: hivemind_persona_agent_plugin-0.0.3a1.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d747d5be35dd92de8117d7c7d31cc443b6f3e6a3a7da2a16c5a9e85472a6cffa
|
|
| MD5 |
cb3d67d38e281fc302e46a50367e3ee1
|
|
| BLAKE2b-256 |
772cd2fdf4c8abb83307008ce91e53b96ce5eff8d61dd60abc171aa3abc9b7ff
|
File details
Details for the file hivemind_persona_agent_plugin-0.0.3a1-py3-none-any.whl.
File metadata
- Download URL: hivemind_persona_agent_plugin-0.0.3a1-py3-none-any.whl
- Upload date:
- Size: 4.4 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 |
80e68501ad1aaddd892aa99c1cb316d9d4cdc9a37374ac005f9bdc337bcf3da2
|
|
| MD5 |
901c723fa6cb360509ff7cec65570aa2
|
|
| BLAKE2b-256 |
42fb4dca90083b4ccaf18d01934cd483faf4f0577a93f70b1aa67e3ead31597e
|