Skip to main content
Pre-release

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

Related projects

License

Apache 2.0.

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 hivemind-persona-agent-plugin 0.0.4a1

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

Source distribution (sdist)

Source distribution for hivemind-persona-agent-plugin 0.0.4a1
File Size Uploaded
hivemind_persona_agent_plugin-0.0.4a1.tar.gz 4.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hivemind-persona-agent-plugin 0.0.4a1
File Interpreter ABI Platform
hivemind_persona_agent_plugin-0.0.4a1-py3-none-any.whl Python 3 none any Details

Total release size: 9.6 kB

Release files / hivemind_persona_agent_plugin-0.0.4a1.tar.gz

Download URL hivemind_persona_agent_plugin-0.0.4a1.tar.gz
Size 4.8 kB
Tags Source
SHA-256 checksum
How to use checksums
36be6a7258647828ebf696f104f25959eb48b8c56d917ce41d3ab3573cb61d1e
BLAKE2b-256 checksum
How to use checksums
ccf3d12998f2ecb6ba65f0dfd1f97c1ea0b683470df1df0aa2d5b53989d844e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / hivemind_persona_agent_plugin-0.0.4a1-py3-none-any.whl

Download URL hivemind_persona_agent_plugin-0.0.4a1-py3-none-any.whl
Size 4.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fcc1af9da0942ef6d7be6bad5018eabdb63c113d9cc8f331e9bd3057a5e33482
BLAKE2b-256 checksum
How to use checksums
341650136bb99230ec98a0bf73ebb59848b778c8fdaafb0ab35d594cceb951fc
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