Hermes Runtype OTel
runtypelabs/hermes-runtype-otel
Send Hermes Agent runs to Runtype as OpenTelemetry traces
Hermes Runtype OTel is a Hermes Agent plugin that exports each agent turn to Runtype as an OpenTelemetry trace, so you can inspect runs and turn them into eval cases.
What Hermes Runtype OTel does
Each Hermes turn becomes one trace made of an invoke_agent Hermes span for the whole turn, a chat span for each model request with model, token usage and finish reason, and an execute_tool span for each tool call. The plugin only observes Hermes through plugin hooks, changes no model calls or tools, depends on nothing beyond the Python standard library, and works in both the Hermes CLI and the gateway.
By default it sends identifiers, model names, token usage, timings and status, but no message or tool content. Setting RUNTYPE_OTEL_CAPTURE_CONTENT to true adds prompts, responses and tool payloads, limited to the last 16 messages per request and 4,096 characters per value, with best-effort removal of API keys and bearer tokens. Export is one request per turn with a 2-second timeout, and errors never fail the turn. Turn status is end_turn, max_turns, cancelled or error. Traces cover a single turn and exclude auxiliary model calls and subagent internals.
Key features
- One OpenTelemetry trace per Hermes turn with agent, chat and tool spans
- Token usage, model name, finish reason and timing on each model request
- Content capture is off by default and optional
- Standard-library only, with no extra dependencies
- Works in both the Hermes CLI and the gateway
When to use it
- Inspecting what an agent did on a specific turn, including every tool call
- Turning a real Hermes run into an eval case in Runtype
- Tracking token usage and latency per model request
Who it is for: Teams that run Hermes Agent and want observability and evaluation data in Runtype.
How it fits with Hermes Agent
It is a Hermes Agent plugin (tagged hermes-plugin) that observes runs through Hermes plugin hooks and does not alter model calls or tools.
How to install Hermes Runtype OTel
These commands are copied from the project's README. Check the repository for the latest steps before you run them.
hermes plugins install runtypelabs/hermes-runtype-otel --enableRequirements: A Runtype agent ID (RUNTYPE_AGENT_ID) and a Runtype API key with the TELEMETRY:WRITE permission (RUNTYPE_OTEL_API_KEY)
Note: It sends traces to the Runtype service and stays inactive until RUNTYPE_AGENT_ID and RUNTYPE_OTEL_API_KEY are set.
FAQ
What is Hermes Runtype OTel?
Hermes Runtype OTel is a plugin that sends Hermes Agent runs to the Runtype service as OpenTelemetry traces. Each turn produces one trace with spans for the agent, model requests and tool calls.
Does Hermes Runtype OTel work with Hermes Agent?
Yes, it installs with hermes plugins install runtypelabs/hermes-runtype-otel --enable and works in the CLI and the gateway. Restart a running gateway with hermes gateway restart afterwards.
What do I need to run Hermes Runtype OTel?
You need a Runtype agent ID and a Runtype API key with TELEMETRY:WRITE permission, set as RUNTYPE_AGENT_ID and RUNTYPE_OTEL_API_KEY. The plugin stays inactive until both are set.
Similar dev tools for Hermes Agent
All dev toolsLibrary that normalizes coding-agent session logs, Hermes included, into stable records in four languages
frgmstr Hermes ManagerShareable meta-agent profile for managing Hermes profiles, skills, cron, memory and gateway health
ishandutta2007 Code Knowledge GraphLocal code indexer that maps a codebase into a graph and serves it to coding agents over MCP
sl-build ExoBrainCommand-line reasoning engine that gives an agent a clean context window to think through hard problems
smfworks Fjord AuditHermes plugin that audits a Hermes home or profile for skill sprawl, memory budgets and plugin layout
smfworks Maelstrom GateHermes plugin that checks skills and plugins before release and runs time-boxed pytest
Related guides: How to install Hermes Agent · Run multiple Hermes agents with profiles