Hermes Client is a web chat interface for the Hermes Agent by Nous Research. It treats each Hermes profile as a separate agent, so one install can manage several configurations, each with its own home directory, config, and sessions. Profiles are created, renamed, and deleted from the UI, which runs the corresponding hermes profile commands underneath.
Rather than running a gateway or separate API server, each chat turn spawns hermes -p chat -Q -q " " and streams its stdout to the browser over Server-Sent Events. Sessions started in a standalone hermes REPL appear in the sidebar within seconds, and a web conversation can be resumed from the terminal with hermes -p chat -r , with new turns streaming back into the open chat.
The backend is a Node.js API with a SQLite database that stores UI metadata and a mirror of Hermes session messages; Hermes' own state stays under ~/.hermes, which the client never writes to directly. It runs on macOS, Linux, and Windows, installs an OS-level auto-start, and can be installed as a PWA from Chromium-based browsers.
Features
- Multi-agent via profiles: every UI agent maps one-to-one to a Hermes profile with its own config and sessions
- CLI-driven streaming: each turn shells out to the Hermes CLI and streams output over SSE, with no gateway or extra ports
- Cross-app session sync: REPL sessions show up in the web sidebar, and web sessions can be continued from the terminal
- Interactive setup terminal: an xterm.js drawer backed by a Python PTY bridge hosts hermes model and other configuration wizards
- Provider icons: each agent shows its model provider's logo (OpenAI, Anthropic, Google, Mistral, OpenRouter, Nous) with a prompt to configure a model when none is set
- File uploads: dragged files are stored per conversation and passed to Hermes by absolute path, using --image for images
- Cron, skills, plugins: Hermes' cron, skills list, and plugins subcommands are surfaced in the same shell
- Authentication: JWT-based login with a default admin account created on first run and an optional single-user mode
- Theming and PWA: built-in colour themes, and installation as a standalone desktop or mobile app
- Remote access controls: CORS allowlist via ALLOWEDDOMAIN and HERMESSTRICT_CORS for LAN or Tailscale use
