Skip to main content

grafana-agento11y-hermes

PyPI

Grafana Agent Observability UI

Grafana Agent Observability plugin for Hermes Agent. Records LLM calls and tool executions as generations and emits OTel traces + metrics.

Install

Preferred: let your agent do it

Paste this into Hermes (or any Claude / Codex / Cursor / similar agent that can fetch URLs):

Install and configure the Grafana Agent Observability plugin for me by following
https://raw.githubusercontent.com/alexander-akhmetov/grafana-agento11y-hermes/main/llms.txt

The agent will walk you through pip install, ~/.hermes/config.yaml, and the credentials from the Agent Observability setup page. It will also explain what conversation data flows by default and how to tune it before turning anything on.

Manual

pip install grafana-agento11y-hermes

Install into the same Python environment hermes runs from (which hermes to check). Then enable the plugin in ~/.hermes/config.yaml:

plugins:
  enabled:
    - agento11y

Hermes's plugins enable CLI does not see pip-installed plugins yet. It only scans ~/.hermes/plugins/ and the bundled directory. Editing the YAML directly is the workaround. hermes plugins list will not show the plugin either, so check that it works from the data arriving in Grafana Cloud.

Upgrading from hermes-plugin-sigil

The package, the module, the entry-point key and the env vars were all renamed.

  1. Reinstall:
pip uninstall hermes-plugin-sigil
pip install grafana-agento11y-hermes

The uninstall is required. The new package has a different name, so pip installs it alongside the old one instead of replacing it, and both would register a plugin.

  1. Change the key in ~/.hermes/config.yaml from sigil to agento11y. The old key no longer resolves, and hermes will not load the plugin without this.

  2. Rename your SIGIL_* env vars to AGENTO11Y_*, keeping the suffix (SIGIL_ENDPOINT becomes AGENTO11Y_ENDPOINT). The setup page in Configure below gives you a fresh block with the new names. The plugin still reads the old names for now and logs what to rename, so nothing breaks the moment you upgrade. The SDK itself ignores them, so this fallback goes away once the SDK is fixed.

Configure

Everything comes from one page in your stack:

https://<stack>.grafana.net/a/grafana-agento11y-app/setup

  1. Click Create token.
  2. Click Copy as environment variables.
  3. Put the block in the environment hermes starts from.

If you keep it in ~/.hermes/.env instead, hermes loads that file with override on, so a value there beats the same variable exported in your shell, with no warning.

The block you get:

AGENTO11Y_ENDPOINT=https://agento11y-<...>.grafana.net
AGENTO11Y_PROTOCOL=http
AGENTO11Y_AUTH_MODE=basic
AGENTO11Y_AUTH_TENANT_ID=123456
AGENTO11Y_AUTH_TOKEN=glc_...
OTEL_EXPORTER_OTLP_ENDPOINT=https://otlp-gateway-<...>.grafana.net/otlp
OTEL_EXPORTER_OTLP_HEADERS='Authorization=Basic <base64 of "123456:glc_...">'

With no capture mode set, the plugin records full content, so the system prompt, the tool definitions, prompts, assistant replies, tool arguments and tool results all leave the machine; set AGENTO11Y_CONTENT_CAPTURE_MODE=metadata_only to keep recording every call while no prompts, responses or tool I/O leave the machine.

Capture fidelity

The system prompt and the tool schemas come from the request payload hermes hands its plugins, and hermes clips that payload past HERMES_PLUGIN_PAYLOAD_MAX_CHARS (50000 by default). Its own system prompt and toolset cross that on ordinary sessions, so the plugin fills each field from the best copy it read earlier in the same session. If a conversation still shows no tools, raise the variable in the environment hermes starts from:

HERMES_PLUGIN_PAYLOAD_MAX_CHARS=200000

It is a hermes setting, not a plugin one: it governs what every plugin receives, so the plugin does not change it for you.

This recovers the tool schemas. It does not recover a long system prompt: hermes clips every string at 8000 characters before it measures the payload against the variable, so a prompt longer than that arrives cut at any value. A generation whose fields came from an earlier request carries hermes.request_facts_reused: true.

If you do not have a Grafana Cloud account, create one at https://grafana.com/auth/sign-up/create-user/. The free tier is enough.

Verify

Use interactive hermes. One-shot mode (hermes -z) disables logging for the whole run, so it writes none of the lines below.

AGENTO11Y_DEBUG=true hermes

In ~/.hermes/logs/agent.log you should see:

grafana-agento11y-hermes: installed TracerProvider with OTLP HTTP exporter
grafana-agento11y-hermes: installed MeterProvider with OTLP HTTP exporter
grafana-agento11y-hermes: client initialized (generations=configured, otel=configured)

Ask hermes anything, then check Grafana Cloud -> Observability -> Agent -> Conversations.

License

Apache-2.0.

Metadata

Release files for grafana-agento11y-hermes 0.10.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for grafana-agento11y-hermes 0.10.0
File Size Uploaded
grafana_agento11y_hermes-0.10.0.tar.gz 43.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for grafana-agento11y-hermes 0.10.0
File Interpreter ABI Platform
grafana_agento11y_hermes-0.10.0-py3-none-any.whl Python 3 none any Details

Total release size: 92.8 kB

Release files / grafana_agento11y_hermes-0.10.0.tar.gz

Download URL grafana_agento11y_hermes-0.10.0.tar.gz
Size 43.5 kB
Tags Source
SHA-256 checksum
How to use checksums
d5d250fdb3198dddc46dc96385904e04c56801f006c0bdb4dc4eed700023ef47
BLAKE2b-256 checksum
How to use checksums
fb06131c4c4259a2b39b5e16a4a62910a4f5ce6dca22c1cd4f602797adaf932b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 16, 2026.

Transparency log

Release files / grafana_agento11y_hermes-0.10.0-py3-none-any.whl

Download URL grafana_agento11y_hermes-0.10.0-py3-none-any.whl
Size 49.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
03f3c324cc2b76a118eb64ee58790a292bd665c7d238c476051ad393d3742edc
BLAKE2b-256 checksum
How to use checksums
3d2bed74318b758f7ec3bbbfa7c747c99e5b1199a626a699716db527fd5dbda3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 16, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.10.0 This release

2 release files

0.9.0

2 release files

0.8.0

2 release files

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