nesquena/hermes-webui
Hermes WebUI: The best way to use Hermes Agent from the web or from your phone!
off_topic: false
What it is: Hermes Web UI is a browser-based interface for Hermes Agent, a self-hosted autonomous AI agent that runs continuously on your own server. While Hermes is normally controlled through a terminal or messaging apps, this project gives you a full-featured web app to chat with it, manage sessions, and browse its workspace — all from a dark-themed UI that mirrors the CLI experience.
Key features (all from the README):
- Chat & agent control: streaming responses (SSE), multi-provider model support (OpenAI, Anthropic, Google, DeepSeek, etc.), tool-call cards, subagent delegation, Mermaid diagram rendering, inline reasoning display, approval prompts for dangerous shell commands.
- Sessions: create, rename, duplicate, delete, search, pin, archive, organize into projects, tag, import CLI sessions, export transcripts, create public read-only share links.
- Workspace file browser: browse, preview, edit, rename, and delete files from the server; git branch/dirty status; inline previews for code, Markdown, images.
- Voice input: record via Web Speech API, live transcription.
- Profiles: switch between Hermes profiles (different configs/models) without restarting.
- Security: optional password auth, passkey/WebAuthn support.
- No build step: pure Python backend and vanilla JavaScript frontend — no bundler or framework.
Architecture: It's a lightweight server that runs the Hermes agent in-process, reading your existing HERMES_HOME config. It doesn't require a separate API server. The UI is a three-panel layout (sessions sidebar, chat center, workspace file browser), with a composer footer and a central “Hermes Control Center” for settings.
Use case: If you already run Hermes Agent, this gives you a convenient web interface to interact with it from any device (via SSH tunnel), with near 1:1 parity with the CLI. It's self-hosted and provider-agnostic — it uses your existing models.
Related
- Project
- Project
- Project
- Project
- Project