A dashboard-first cockpit
for your Hermes agent

Agent health, live runs, models, cost, logs and chat in one dark control room. Open source, self-hosted, MIT licensed.

CI status MIT license Node 22.5 or newer
Hermes Control Center dashboard overview

What you get

Chat is one panel among many, not the whole app. Every write action sits behind a confirmation that spells out the consequence.

Dashboard

Twelve widgets, arranged your way

System load with history, mission status, agent health, live logs, scheduled jobs, skills, MCP servers, model and token cost analytics, recent sessions, insights, knowledge. Drag, resize, or move with the keyboard.

Chat

Talk to the agent you already run

No API server, no gateway restart, and the bot stays online while you use it. A real cancel stops a turn that is taking too long, wired to Hermes's own interrupt.

Management

Skills, MCP, models, cron, logs

Searchable skills across a hundred or more, per-provider model auth state, scheduled tasks, messaging integrations, logs with level filters and a follow toggle, analytics by day, model and tool.

Telegram

The whole bot, in one place

Whether it is on, whether its credentials are there, whether a gateway is actually running. Every conversation, readable in full, and you can carry one on from here.

Automation

Workflows, prompts and rule-based insights

Ordered chains of prompts and scheduled jobs. A prompt library with placeholders, tags and a use counter. Deterministic checks over metrics, logs and config, shown with the numbers that triggered them.

Ctrl/Cmd + K command palette, fuzzy search across every page EN / FA, Persian sets the interface right-to-left Light and dark themes, keyboard shortcuts, works on a phone

Built to be exposed safely

The control center can restart your gateway, write environment variables and chat as you. It refuses to listen on anything but localhost until a password is set, and the Hermes API key never reaches the browser.

For an internet-facing deployment, an authenticating proxy in front is still the right call, whether that is Cloudflare Access, Authelia, or your reverse proxy's own auth.

  • Binds to 127.0.0.1 by default, will not bind wider without a password
  • Secrets redacted in every response, only whether a key exists is reported
  • Every API route, including the SSE stream, sits behind one auth guard
  • Salted scrypt password hash, HMAC-signed HttpOnly session cookies, throttled logins
  • Strict CSP, no inline scripts, no external CDN requests, no telemetry

Requirements

Node's built-in node:sqlite handles local state, so there is nothing to compile at install time.

Node ≥ 22.5 TypeScript Fastify React 19 Vite Tailwind v4 A running Hermes Agent

That is the whole install

No build step, no Python extra, no native compilation, no API key in your browser.

$ npx hermes-control-center