Skip to main content
Pre-release

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

hivemind-a2a-agent-plugin

An agent-protocol plugin for HiveMind that connects the hive to external A2A (Agent-to-Agent) agents.

The plugin forwards natural-language queries from hive satellites to a configured A2A server over JSON-RPC 2.0 (tasks/send or tasks/sendSubscribe). It streams the response back to the satellite that sent the query.


What is A2A?

A2A is an open protocol for agent interoperability. An A2A server does two things:

  1. It publishes an agent card at GET /.well-known/agent.json. The card describes the server's capabilities, skills, and the URL that accepts tasks.
  2. It accepts task requests as JSON-RPC 2.0 at its root URL. A request is either a blocking tasks/send call or a streaming tasks/sendSubscribe call (SSE).

Any compliant A2A server works as a backend for this plugin, including LangChain agents, Google ADK, CrewAI, and custom FastAPI services.


Installation

pip install hivemind-a2a-agent-plugin

The plugin registers itself under the hivemind.agent.protocol entry-point group. HiveMind-core discovers it automatically once it is installed.


Configuration

Add the following to your OVOS / HiveMind config, typically at ~/.config/hivemind/hivemind.conf:

{
  "hivemind": {
    "agent_protocol": "hivemind-a2a-agent-plugin",
    "a2a_agent": {
      "agent_url": "http://localhost:9999",
      "auth_header": "Bearer secret",
      "timeout": 60,
      "streaming": false
    }
  }
}
Key Default Description
agent_url none Required. Root URL of the A2A server.
auth_header none Optional Authorization header (e.g. Bearer …).
timeout 60 HTTP timeout in seconds.
streaming false Prefer tasks/sendSubscribe (SSE) when true.

Hive wiring example

HiveMind master
  └── hivemind-a2a-agent-plugin  ←  loaded as agent_protocol
        └── A2A server  (http://localhost:9999)
              └── your LLM / agent / tool backend

Satellite (voice client, phone, …)
  → "what's the capital of France?"
  → HiveMind master receives utterance
  → plugin forwards to A2A server via tasks/send
  → A2A server responds: "Paris is the capital of France."
  → HiveMind master streams answer back to satellite

Run a minimal FastAPI A2A server and the HiveMind master:

# 1. run the example mock A2A server (also used by e2e tests)
uvicorn tests.e2e.mock_a2a_server:app --port 9999

# 2. configure hivemind-core to use this plugin (see above)
# 3. start hivemind-core
hivemind-core listen

Session and context mapping

The plugin maps the HiveMind session_id directly to the A2A sessionId parameter, so multi-turn conversations keep their context on the A2A server side. The plugin stores no extra state. The A2A server owns the conversation history.


Error handling

The plugin never silences errors. The A2A server may be unreachable, return an empty response, or return a JSON-RPC error object. In each case, the plugin yields a human-readable error string to the satellite so the user always gets a reply.


Development

git clone https://github.com/TigreGotico/hivemind-a2a-agent-plugin
cd hivemind-a2a-agent-plugin
pip install -e ".[dev]"
pytest tests/          # unit tests (no server needed)
pytest tests/e2e/      # e2e tests (spins up a FastAPI mock server in-process)

Related projects

Credits

Funded by NGI0 Commons Fund / NLnet under grant agreement No 101135429, through the European Commission's Next Generation Internet programme.

Metadata

Release files for hivemind-a2a-agent-plugin 0.1.0a7

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-a2a-agent-plugin 0.1.0a7
File Size Uploaded
hivemind_a2a_agent_plugin-0.1.0a7.tar.gz 10.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hivemind-a2a-agent-plugin 0.1.0a7
File Interpreter ABI Platform
hivemind_a2a_agent_plugin-0.1.0a7-py3-none-any.whl Python 3 none any Details

Total release size: 20.2 kB

Release files / hivemind_a2a_agent_plugin-0.1.0a7.tar.gz

Download URL hivemind_a2a_agent_plugin-0.1.0a7.tar.gz
Size 10.8 kB
Tags Source
SHA-256 checksum
How to use checksums
1899aec666e28d63f288868fe6e7a49f60e1faa8543523e45c3f8cb12123b661
BLAKE2b-256 checksum
How to use checksums
aad4245049b301a15566199ac8cf5015115a1813c0cf815cbc746b71f011e110
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / hivemind_a2a_agent_plugin-0.1.0a7-py3-none-any.whl

Download URL hivemind_a2a_agent_plugin-0.1.0a7-py3-none-any.whl
Size 9.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
80a46847241f5bbd7efb4f3bae0a513aebfd5fcae69304c4eb6e3d3869120374
BLAKE2b-256 checksum
How to use checksums
2c89c40d48ac36a9c596408458b08c5e46aec5bf0f6c8a7de62c6978322ff66b
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