Self-hosted AI chat interface for your Hermes agent.
Hermium gives you a clean, fast chat UI that connects directly to your local Hermes agent. One command to install. Zero configuration to run.
- Self-hosted — Everything runs locally. No cloud accounts, no telemetry.
- Real-time streaming — Markdown rendering, syntax-highlighted code blocks, and streaming responses.
- Slash commands — Control the agent with typed commands:
/compact,/compress,/steer,/queue,/approve,/deny, and more. - File attachments — Drop files into chat. The agent reads, edits, and executes from them.
- Model switching — Change models mid-conversation. Toggle reasoning depth (off → xhigh) on the fly.
- Persistent sessions — Every conversation is saved. Pin, rename, and resume any thread.
- Usage insights — Track tokens, cost, cache hit rates, and model breakdowns.
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ apps/web │────→│ apps/api │────→│ Hermes Agent│
│ (React UI) │ │ (Hono proxy)│ │ (/v1/res) │
└─────────────┘ └─────────────┘ └─────────────┘
apps/web— Chat frontend (Vite + React + TanStack Router + Zustand)apps/api— Thin proxy over Hermes/v1/responses(Hono + TypeScript, Bun)apps/marketing— Landing pagepackages/cli— Command-line installer
- Bun 1.2+
- A running Hermes Agent instance
# Install globally
npm install -g hermium
# Start both API and web UI
hermium start
# Open http://localhost:4242Or clone and run from source:
git clone https://github.com/abboskhonov/hermium.git
cd hermium
bun install
bun run dev# Run everything in dev mode
bun run dev
# Build all apps
bun run build
# Type check
bun run typecheck
# Lint
bun run linthermium/
├── apps/
│ ├── web/ # Chat frontend
│ ├── api/ # Backend proxy
│ └── marketing/ # Landing page
├── packages/
│ └── cli/ # CLI installer
├── hermes-agent/ # Hermes agent (cloned separately)
└── hermes-workspace/ # Workspace server (cloned separately)
MIT — see LICENSE.
