AI & Agents

How to Set Up the Hermes Agent Web UI Dashboard

The Hermes Agent web dashboard gives you browser-based control over an agent that normally lives in a terminal. This guide walks through installing the dashboard, using every page from API keys to cron jobs, customizing themes, and connecting persistent storage so your agent's output survives between sessions.

Fastio Editorial Team 8 min read
AI agent workspace dashboard interface

What the Hermes Agent Web Dashboard Provides

Hermes Agent from Nous Research runs primarily as a terminal application. Most tutorials focus on CLI commands and YAML configuration without mentioning the built-in web dashboard. That dashboard gives you a browser-based control panel for every part of the agent: model selection, API key management, session history, scheduled jobs, token analytics, and skill toggling.

The dashboard runs as a local FastAPI server at http://localhost:9119. The frontend is a React 19 single-page application built with TypeScript and Tailwind CSS v4. It reads and writes the same config.yaml, .env file, and SQLite database that your CLI sessions use, so changes sync instantly between the two interfaces. You do not need a separate Node.js installation. The compiled frontend ships inside the hermes-agent Python package and gets served as static files.

Where this matters most is configuration. Hermes Agent exposes over 150 configuration fields across model settings, display preferences, approval policies, delegation rules, and memory behavior. Editing those by hand in YAML works, but the dashboard organizes them into tabbed categories with dropdowns for known values and toggles for booleans. It also manages your .env file directly, grouping API keys by provider and showing which ones are set, which are missing, and linking to each provider's signup page.

The dashboard is not a separate product. It is part of the hermes-agent package, built on the same data stores the CLI uses. Think of it as a graphical layer on top of the same engine.

Installing and Launching the Dashboard

The dashboard requires optional Python extras that are not included in a base Hermes Agent install. Install them with pip:

pip install 'hermes-agent[web,pty]'

The web extra pulls in FastAPI and Uvicorn for the HTTP server. The pty extra adds terminal emulation support: ptyprocess on Linux and macOS, pywinpty on Windows. If you do not need the embedded chat terminal in the browser, you can skip pty and install only hermes-agent[web].

Alternatively, install everything at once:

pip install 'hermes-agent[all]'

With the extras installed, start the dashboard:

hermes dashboard

This launches the server on port 9119 and opens http://127.0.0.1:9119 in your default browser. If the frontend has not been compiled yet (first run with npm available), it builds automatically.

The quick-start workflow:

  1. Run hermes dashboard to start the local server
  2. Open http://localhost:9119 in your browser
  3. Navigate to the API Keys page and add your LLM provider credentials
  4. Switch to the Sessions page to browse past conversations or start a new chat through the Chat tab

Several flags adjust the server behavior:

  • --port 8080 changes the listening port from the default 9119
  • --host 0.0.0.0 binds to all network interfaces instead of localhost only
  • --no-open prevents the browser from launching automatically
  • --insecure allows non-localhost binding without the safety warning
  • --tui enables the embedded terminal interface through WebSocket and PTY

A note on security: the dashboard binds to localhost by default, so only processes on your machine can reach it. If you bind to 0.0.0.0 on a shared network, anyone who can reach your IP has full access to the dashboard. There is no built-in authentication layer, so use a firewall rule or SSH tunneling for remote access. The server reads and writes your .env file, which typically contains API keys for LLM providers and messaging platforms.

Dashboard Pages and What They Control

The dashboard organizes features into separate pages accessible from the top navigation bar. Here is what each one does.

Status Page

The landing page shows the agent version, gateway status (process ID and connected messaging platforms), active session count, and a list of the 20 most recent sessions. Each session entry displays the model name, message count, token usage, and a conversation preview. The page auto-refreshes every five seconds, so you can leave it open as a live monitor.

Chat Tab

The Chat tab embeds the full Hermes TUI in the browser using xterm.js with WebGL rendering. You get the same slash commands, markdown streaming, and approval prompts as the terminal. Sessions can be resumed by navigating to /chat?resume=<session_id>, which restores the full conversation history. This is useful when you want to pick up a conversation that started on the command line.

Config Editor

This page replaces manual YAML editing. It presents all 150+ configuration fields as form elements organized into tabs: model, terminal, display, agent, delegation, memory, and approvals. Known-value fields render as dropdowns. Booleans render as toggles. Free-text fields accept typed input with validation. You can save changes, reset to defaults, export the current config as a file, or import settings from another machine.

API Keys

The API Keys page manages your .env file through a categorized interface. Keys are grouped into LLM providers (OpenRouter, Anthropic, OpenAI, DeepSeek), tool integrations (Browserbase, Firecrawl, Tavily, ElevenLabs), messaging platforms (Telegram, Discord, Slack), and general agent settings. Each entry shows whether the key is set, provides a redacted preview of the value, and links to the provider's documentation. You can add, update, or delete keys without opening a text editor. Running the /reload slash command in any active CLI session picks up changes made here without requiring a restart.

Sessions Browser

The Sessions page provides full-text search across all stored message content using SQLite FTS5. Results show highlighted snippets from matching conversations. Expanding a session reveals color-coded messages by role: user, assistant, system, and tool. Tool-call blocks collapse to save vertical space, and markdown content renders inline. Individual sessions can be deleted from this page when you want to clean up old conversations.

Logs Viewer

The Logs Viewer filters output by source file (agent, errors, or gateway), severity level (DEBUG through ERROR), and component name. Live tailing refreshes every five seconds. This is where you go when something is not working and you need to see what the agent is actually doing under the hood.

Analytics Dashboard

The Analytics page tracks token usage and estimated costs over configurable time periods: 7, 30, or 90 days. It displays daily stacked bar charts, per-day breakdowns, cache hit percentages, and per-model cost totals. If you are running Hermes Agent on multiple models or switching between providers, this page shows you exactly where your tokens are going.

Cron Job Manager

The Cron Job Manager handles scheduled agent prompts. Create a job with a cron expression and a prompt string, choose a delivery target (local terminal, Telegram, Discord, Slack, or email), and the agent runs it on schedule. Jobs can be paused, resumed, triggered immediately for testing, or deleted. Each job shows its run history and next scheduled execution time.

Skills Hub

The Skills Hub browses your ~/.hermes/skills/ directory and shows all available skills with their active or inactive status, category, and included tools list. Toggle skills on or off without editing config files.

Dashboard showing session monitoring and configuration management
Fastio features

Persist Hermes Agent files across sessions

Free 50 GB workspace with built-in semantic search and a MCP endpoint for your agent's reads and writes. No credit card required.

Themes, the REST API, and Plugin Extensibility

The dashboard ships with six built-in themes that change the entire visual appearance:

  • Hermes Teal (default): dark teal background with cream text
  • Hermes Teal Large: same palette with an 18px base font size for larger displays
  • Midnight: deep blue-violet tones
  • Ember: crimson and bronze with serif typography
  • Mono: grayscale with a compact layout
  • Cyberpunk: neon green text on a black background

Your theme choice persists to config.yaml under dashboard.theme and carries across browser sessions and server restarts. Custom themes can be added without cloning the Hermes repository by following the theme definition format in the frontend source.

Every dashboard page communicates through a REST API, and those same endpoints are available to external scripts and automation tools. Some of the more useful routes:

  • GET /api/status returns agent version and gateway state
  • GET /api/sessions/search?q=... runs full-text session search
  • GET /api/config and PUT /api/config read and write the full configuration
  • PUT /api/env sets environment variables programmatically
  • GET /api/analytics/usage?days=30 pulls token and cost data
  • POST /api/cron/jobs creates a new scheduled prompt
  • PUT /api/skills/toggle enables or disables a skill

This API means you can build on top of the dashboard. A CI pipeline could update API keys through PUT /api/env before running automated agent tasks. A monitoring script could pull analytics data and alert when token consumption spikes. Custom dashboards or mobile apps could call the same endpoints the web frontend uses.

The dashboard also supports plugin tabs and custom backend routes. Third-party extensions can register new pages in the navigation bar and add API endpoints to the server without modifying the core Hermes codebase. For developers building integrations, the REST API doubles as a stable interface between Hermes Agent and external tooling.

Community Alternative: hermes-webui

The built-in dashboard is not the only browser interface for Hermes Agent. The hermes-webui project provides a three-panel chat-focused interface with a sessions sidebar, center chat area, and workspace file browser. It runs via Docker on port 8787, uses vanilla JavaScript with no build step, and is designed for mobile and phone use. If you want a lightweight chat interface rather than full configuration management, hermes-webui is a solid alternative to evaluate.

Connecting Persistent Storage for Agent Output

The Hermes Agent dashboard manages sessions, configuration, and scheduling. What it does not handle is long-term file storage that other people or agents can access. Agent-generated files live on the machine running Hermes, and they stay there unless you move them somewhere shared.

For single-user setups, local disk storage works. Your files sit in the home directory, and you back them up however you prefer. For team workflows where multiple people or agents need the same output, you need cloud storage with more structure than a raw file bucket.

Standard options include syncing to Amazon S3, Google Drive, or Dropbox. These handle file storage, but they stop at putting files in folders. If you want agent output to be searchable by meaning, summarizable through chat, and queryable through an AI layer, you need an intelligent workspace.

Fastio provides that layer. Files uploaded to a Fastio workspace are automatically indexed for semantic search and citation-backed chat once Intelligence is enabled. You can ask questions about uploaded documents, get answers pointing to specific pages and passages, and share the workspace with teammates or clients through branded portals.

Hermes Agent can connect through Fastio's MCP server, which exposes Streamable HTTP at /mcp and legacy SSE at /sse. Through MCP tool calls, your agent can create workspaces, upload files, organize output into folders, and query indexed content. When the project wraps up, ownership transfer hands the entire workspace to a human who gets full access while the agent retains admin privileges for ongoing maintenance.

The Business Trial includes 50 GB of storage, included credits, and 5 workspaces with no credit card required. For a Hermes Agent installation generating research, reports, or processed media, this bridges the gap between files trapped on a single machine and files your whole team can find, search, and use.

AI-powered file indexing and semantic search for agent output

Frequently Asked Questions

How do I open the Hermes Agent dashboard?

Run `hermes dashboard` in your terminal after installing the web extras with `pip install 'hermes-agent[web]'`. The server starts at http://localhost:9119 and opens your browser automatically. Add `--no-open` to suppress the browser launch or `--port` to change the default port.

Can I manage Hermes Agent from a browser?

Yes. The built-in web dashboard provides browser-based access to configuration editing, API key management, session history, log filtering, token analytics, cron scheduling, and skill toggling. The Chat tab also embeds the full terminal interface in the browser using xterm.js.

What can you do in the Hermes Agent web UI?

The dashboard covers configuration editing for 150+ fields, API key management grouped by provider, full-text session search with FTS5, log filtering by level and component, token usage analytics with cost tracking, cron job scheduling with delivery to Telegram or Discord or Slack or email, and skill management. Changes sync between the dashboard and CLI in real time.

How do I add plugins to the Hermes dashboard?

The dashboard supports plugin tabs and custom backend routes. Extensions can register new navigation pages and API endpoints without modifying the core Hermes repository. The Skills Hub page also lets you browse and toggle agent skills from the ~/.hermes/skills/ directory directly in the browser.

Does the Hermes Agent dashboard work on mobile?

The built-in dashboard is a responsive web app that loads in mobile browsers, though its layout is optimized for desktop screens. For a mobile-first experience, the community hermes-webui project provides a three-panel chat interface with touch-friendly controls designed for phone and tablet use.

How do I change the Hermes dashboard theme?

Open the dashboard settings and select from six built-in themes: Hermes Teal, Hermes Teal Large, Midnight, Ember, Mono, or Cyberpunk. Your choice saves to config.yaml under the dashboard.theme key and persists across sessions and server restarts.

Related Resources

Fastio features

Persist Hermes Agent files across sessions

Free 50 GB workspace with built-in semantic search and a MCP endpoint for your agent's reads and writes. No credit card required.