This release is a pre-release and may not be stable for production use.
hivemind-persona-agent-plugin
An ovos-persona agent protocol for HiveMind-core. The hub answers natural-language queries from an LLM or 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. It streams
the model output sentence by sentence, so 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. Here is 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 reference the path
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,
~expands), or - an inline persona config dict.
3. Start hivemind-core
hivemind-core listen
Satellites that connect 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
The QUERY handler in hivemind-core calls natural_language_query(utterance, lang)
on the active agent. This plugin implements that method. It calls
Persona.stream(messages, lang=lang) and yields each output chunk as the persona
produces it. 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.
Related projects
- ovos-persona: the solver-chain persona engine this plugin calls.
- HiveMind-core: the hub that loads this plugin.
- hivemind-ovos-agent-plugin: the default agent protocol, backed by a full OVOS skills stack.
License
Apache 2.0.
Credits
Developed by TigreGótico for OpenVoiceOS.
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.
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.3a5.tar.gz.
File metadata
- Download URL: hivemind_persona_agent_plugin-0.0.3a5.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
921caeab724dc31de233b751a76a123e7123cd5358fa10cd33abebc1ab9aabe2
|
|
| MD5 |
adfab857c405bf6a7af7a9299e3b9703
|
|
| BLAKE2b-256 |
0f97968b8f4cabbb5bd58f402e5270e7c5c3fad50b53f6485d6d7434dcc6ee04
|
File details
Details for the file hivemind_persona_agent_plugin-0.0.3a5-py3-none-any.whl.
File metadata
- Download URL: hivemind_persona_agent_plugin-0.0.3a5-py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36309e4d618a37203bda78fcb0652c1e393d4d805ccd61b112d37c718b8bd17f
|
|
| MD5 |
b3726a0e6a50da7f1916cb70c4031adf
|
|
| BLAKE2b-256 |
d20bb2a12938cdf364f75e1067a77970a7c3a6abf2146fd515e954fd7bcf2e8f
|