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
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
hatch publish
Metadata
Release files for agentguard-hermes 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| agentguard_hermes-0.1.0.tar.gz | 5.8 kB | Without provenance | Details for agentguard_hermes-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| agentguard_hermes-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for agentguard_hermes-0.1.0-py3-none-any.whl |
Total release size: 12.0 kB
Release files / agentguard_hermes-0.1.0.tar.gz
| Download URL | agentguard_hermes-0.1.0.tar.gz |
|---|---|
| Size | 5.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
32b056e913e4de7a4534baaa8d44d45b34fc49c29c86ac86f9bad66b6513789a
|
|
BLAKE2b-256 checksum How to use checksums |
93de068bb6519b4450765e0a5dfcf8f95334f749b8847fecf598e9ba7f5c0e19
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.9
|
Release files / agentguard_hermes-0.1.0-py3-none-any.whl
| Download URL | agentguard_hermes-0.1.0-py3-none-any.whl |
|---|---|
| Size | 6.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8ece742cc3e981417542046360016e440ce6116d21c0c522c7388f1e64a18ca4
|
|
BLAKE2b-256 checksum How to use checksums |
7dbfe060547c7082a3b424e0736c779065a9bb97cd825ad739a4a3cc745507bc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.9
|
Security for agentguard-hermes 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.