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.
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:
- Run
hermes dashboardto start the local server - Open
http://localhost:9119in your browser - Navigate to the API Keys page and add your LLM provider credentials
- 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 8080changes the listening port from the default 9119--host 0.0.0.0binds to all network interfaces instead of localhost only--no-openprevents the browser from launching automatically--insecureallows non-localhost binding without the safety warning--tuienables 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.
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/statusreturns agent version and gateway stateGET /api/sessions/search?q=...runs full-text session searchGET /api/configandPUT /api/configread and write the full configurationPUT /api/envsets environment variables programmaticallyGET /api/analytics/usage?days=30pulls token and cost dataPOST /api/cron/jobscreates a new scheduled promptPUT /api/skills/toggleenables 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.
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
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.