Metadata-Version: 2.4
Name: atbash-hermes-plugin
Version: 0.1.0
Summary: Atbash safety plugin for Hermes Agent
Author: atbash
License-Expression: LicenseRef-Atbash-Proprietary
Project-URL: Homepage, https://github.com/Atbash-Ai/atbash-hermes-plugin
Project-URL: Repository, https://github.com/Atbash-Ai/atbash-hermes-plugin
Keywords: atbash,hermes,hermes-agent,agent-safety,ai-safety,tool-guard,judge,policy
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: atbash-sdk==0.1.3
Dynamic: license-file

# atbash-hermes-plugin

Atbash guardrail plugin for Hermes Agent using the official Python SDK (`atbash-sdk`).

## What it does

- Intercepts every Hermes tool call in `pre_tool_call`
- Sends a verdict request to Atbash before the tool executes
- Blocks tool execution when verdict is denied

## Install

1. Clone/copy this folder into your Hermes plugins directory.
2. Install dependencies:

```bash
python3 -m pip install -r requirements.txt
```

3. Configure env vars:

```bash
export ATBASH_AGENT_PRIVKEY='{"pubkey":"...","privkey":"..."}'
# or
export ATBASH_KEY_PATH="$HOME/.config/atbash/guard-client-key"

# optional
export ATBASH_ENDPOINT="https://api.atbash.io"
export ATBASH_ENFORCE_DECISION="true"
export ATBASH_DEBUG="false"
export ATBASH_TOOL_MAP_PATH="$HOME/.config/atbash/hermes-tool-map.json"
```

4. Enable plugin in Hermes config.

## Tool classification

The plugin records previously unseen Hermes tool names in
`~/.config/atbash/hermes-tool-map.json`. The learned mappings are loaded when
each Hermes session starts, so tool classifications persist across restarts.
Set `ATBASH_TOOL_MAP_PATH` to override the location.

## Behavior

- `ALLOW` => tool proceeds
- `HOLD` => tool is paused and must be reviewed before retrying
- `BLOCK`/`DENY`/`REJECT` => tool is blocked with a user-facing message
- Errors talking to Atbash:
  - if `ATBASH_ENFORCE_DECISION=true` (default): block fail-closed
  - if `false`: allow fail-open
