AgentGuard security monitoring plugin for Hermes Agent
Project description
agentguard-hermes
AgentGuard security monitoring plugin for Hermes Agent.
Forwards Hermes session, LLM, and tool-call events to an AgentGuard Timeplus stream for real-time observability and security monitoring.
Installation
pip install agentguard-hermes-plugin
agentguard-hermes install
This copies the plugin into ~/.hermes/plugins/agentguard/ where Hermes auto-loads it on startup.
Configuration
Set environment variables before starting Hermes:
| Variable | Default | Description |
|---|---|---|
AGENTGUARD_TIMEPLUS_URL |
http://localhost:3218 |
Timeplus Enterprise HTTP endpoint |
AGENTGUARD_USERNAME |
proton |
Timeplus username |
AGENTGUARD_PASSWORD |
(empty) | Timeplus password |
AGENTGUARD_AGENT_ID |
hostname | Identifier for this agent instance |
AGENTGUARD_DEPLOYMENT_ID |
local |
Deployment environment tag |
AGENTGUARD_DEPLOYMENT_NAME |
Local Dev |
Human-readable deployment name |
AGENTGUARD_STREAM |
agentguard_hook_events |
Target Timeplus stream |
Example
export AGENTGUARD_TIMEPLUS_URL=http://timeplus.example.com:3218
export AGENTGUARD_USERNAME=proton
export AGENTGUARD_PASSWORD=secret
export AGENTGUARD_DEPLOYMENT_ID=production
export AGENTGUARD_DEPLOYMENT_NAME="Production Hermes"
hermes
What gets captured
Every Hermes hook event is forwarded to the agentguard_hook_events stream:
| Hermes hook | Sent as | Description |
|---|---|---|
on_session_start |
on_session_start |
New session begins |
on_session_end |
conversation_end |
Single chat turn completed |
on_session_finalize |
on_session_end |
Session fully torn down (CLI exit, /reset) |
on_session_reset |
on_session_reset |
Session rotated via /new |
pre_llm_call |
pre_llm_call |
Before each LLM turn |
post_llm_call |
post_llm_call |
After each LLM turn |
pre_api_request |
pre_api_request |
Before each raw API call (token metrics) |
post_api_request |
post_api_request |
After each raw API call |
pre_tool_call |
pre_tool_call |
Before each tool execution |
post_tool_call |
post_tool_call |
After each tool execution |
conversation_history is stripped from all events before ingestion — it is unbounded and contains no information not already available from the individual turn events.
Custom install path
agentguard-hermes install --hermes-dir /path/to/hermes/data
Manual installation (Makefile / Docker)
If you run Hermes via the provided Docker Compose setup in agents/hermes/:
make configure # copies plugin into .hermes/plugins/agentguard/
make cli # start Hermes CLI with AgentGuard env vars pre-set
make start # start Hermes gateway + web dashboard
Publishing to PyPI
pip install hatch
cd agents/hermes/agentguard-plugin
hatch build # produces dist/agentguard_hermes_plugin-*.whl
hatch publish
Project details
Release history Release notifications | RSS feed
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 agentguard_hermes_plugin-0.1.0.tar.gz.
File metadata
- Download URL: agentguard_hermes_plugin-0.1.0.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
999264e0e7cd2e86d0b0c97803c1347bab8cc4a9d3d3531edaccc2ef813c2cdf
|
|
| MD5 |
7303815d6efb587c60554b35a92934d9
|
|
| BLAKE2b-256 |
db3fac1ddbfe84961d36c9f737e66485c136bfe9cd441b80b31859f0d047f47a
|
File details
Details for the file agentguard_hermes_plugin-0.1.0-py3-none-any.whl.
File metadata
- Download URL: agentguard_hermes_plugin-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73d50d7d5329be82e583d724528ed949532760b1e56bb4e447c22925f94db9bb
|
|
| MD5 |
af397dbee46bef7aacb5589de3b8a152
|
|
| BLAKE2b-256 |
c3069bc2330776e393b647547e02a432ef9df406a08bfe9bebaa076a5fd6f2e1
|