Practical overview
When it fits
Use it when reviewing Hermes Agent activity, diagnosing a journey or producing evidence from local Hermes state without controlling the underlying sessions.
Who it is for
- Developers working with Hermes Agent
- Teams reviewing autonomous-agent journeys and execution histories
- Users who need reports or inspection without modifying Hermes sessions
Documented uses
- Inspect ordered agent crossings and selected journey details
- Review tool calls, results, failures, approvals and model switches
- Examine skills, scheduled autonomy and provider transitions
- Export redacted Markdown and JSON evidence for a journey
Requirements & limits
The repository is public and marked MIT-licensed. The public GitHub Pages demo is static and uses mocked Hermes state; the installed dashboard plugin reads local Hermes state.
- It is specifically designed for Hermes Agent rather than as a general agent-observability dashboard.
- The interface separates journey mapping, crossing inspection, guideposts, skills, scheduled autonomy, model transitions and reports.
- The plugin is read-only and does not start, stop, resume, mutate or create Hermes sessions.
- The documented installation requires a dashboard restart when Python API routes are first mounted or changed.
- Reports and summaries use documented redaction behavior, including fail-closed output when the Hermes core redactor is unavailable.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Install Hermes Labyrinth in the Hermes dashboard
Add the Labyrinth plugin to a Hermes user installation and open its dashboard tab.
Before you start
- A Hermes Agent installation with its user plugin directory and dashboard available.
- The Hermes Labyrinth repository URL.
Steps
Create the Hermes user plugin directory and clone the repository into ~/.hermes/plugins/hermes-labyrinth.
Start the dashboard with hermes dashboard.
Open the dashboard and select the Labyrinth tab.
If the dashboard was already running, fully stop and restart it after the first install or after updating dashboard/plugin_api.py.
Expected outcome
The Labyrinth tab is available in the Hermes dashboard and can read local Hermes state through dashboard plugin routes.
Guide limitations
- The public demo uses mocked Hermes state rather than live telemetry.
- A frontend rescan refreshes discovered manifests and assets but does not mount or remount Python API routes.
- The documented installation assumes a Hermes dashboard environment.
Evaluate report redaction with a Docker-based Hermes installation
Check that a test journey does not expose dummy secrets across the Labyrinth review surfaces.
Before you start
- A Docker-based Hermes installation.
- A dedicated Hermes home for testing.
- A reviewed Labyrinth tag or commit.
- Dummy API keys, webhook secrets, OAuth tokens and tool outputs in a test journey.
Steps
Clone Hermes Labyrinth into the Hermes plugin directory and check out a reviewed tag or commit.
Mount the host Hermes home into the dashboard container at the path expected for user plugins, keeping dashboard access on localhost or a private network.
Create the test journey with dummy secrets and inspect the Labyrinth UI.
Inspect /reports/.json and /reports/.md.
Confirm the dummy secrets are absent from every surface before production use.
Expected outcome
The documented checks provide a redaction review across the dashboard and generated JSON and Markdown reports.
Guide limitations
- This is an evaluation procedure, not evidence that a particular deployment passed the checks.
- The documentation advises against mounting a production profile with live provider, OAuth, webhook, Discord, Telegram or deployment tokens until the smoke test passes.
- The public demo is sample data and should not be treated as live telemetry.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 30 September 2026
- Original website title
- stainlu/hermes-labyrinth · Official homepage title · retained in its source language

