Metadata-Version: 2.4
Name: aarvion-guard-hermes
Version: 0.1.0
Summary: Aarvion governance plugin for Hermes agents
Project-URL: Homepage, https://aarvion.ai
Project-URL: Documentation, https://docs.aarvion.ai/hermes
License-Expression: Apache-2.0
Requires-Python: >=3.10
Requires-Dist: aarvion-ai-governance>=0.0.2
Requires-Dist: httpx>=0.24
Description-Content-Type: text/markdown

# aarvion-guard-hermes

Governance plugin for [Hermes](https://github.com/hermes-ai/hermes) agents. Intercepts tool calls and inbound messages, forwarding them to the local Aarvion Guard daemon for policy evaluation.

## Install

```bash
pip install aarvion-guard-hermes
hermes plugins enable aarvion-guard
```

## Setup

1. Install the guard daemon:
   ```bash
   npx @aarvionai/guard
   ```

2. Pair with your Aarvion dashboard:
   ```bash
   aarvion-guard init <pairing-code>
   ```

3. Start the guard and run your agent:
   ```bash
   aarvion-guard service start
   hermes run
   ```

## Container

For non-bypassable enforcement, run the pre-built governed container:

```bash
docker run -e AARVION_TOKEN=<token> aarvion/hermes-governed:latest
```

## How it works

The plugin registers two Hermes hooks:

- **pre_tool_call** - every tool invocation is sent to the guard PDP for allow/deny/ask evaluation
- **pre_gateway_dispatch** - inbound messages are checked against channel governance policies

The guard daemon handles surface classification, DLP scanning, and policy evaluation. The plugin is intentionally thin - it sends raw tool name + args and trusts the guard's Go normalizer.
