hermes-webui
Hermes WebUI: The best way to use Hermes Agent from the web or from your phone!
GraphCanon updated 2d · GitHub synced 2d · 26 views this month
Decision brief
Hermes WebUI is a web interface designed for interacting with the Hermes agent, providing features to manage AI tasks and chat through browsers or mobile devices. It comes packaged as an easy-to-set-up Python application
Good fit when
- When you want a user-friendly GUI to manage and interact with Hermes agents, ideal for users who prefer a visual interface over command-line operations.
- Suitable for environments where self-hosted solutions are preferred due to its straightforward VM or homelab installation process via shell scripts.
Avoid when
- Avoid using this tool if you require out-of-the-box support for full agent-loop delegation as it's not currently available, tracked under issue #1925.
- If your setup requires running the Hermes WebUI exclusively on an external Hermes/Agent OpenAI-compatible API since WebUI runs the Hermes Agent in-process by default.
- Requirements:
- Min 1 GB RAM; Requires Docker; Self-hosting requires setup via shell commands or Docker configuration for more comprehensive deployment scenarios.
Observed Jul 11, 2026 · Source: enrich:decision_facts
Verify the decision
Maintenance and security
Full trust report- Maintenance
- Very active (0d since push)
- As of 2d
- Provenance
- Not a fork · Personal account
- As of 2d
- Security (OSV)
- 11 low (11 low)
- As of 1mo
Public GitHub metadata and optional OSV scans. Signals, not a guarantee. Trust methodology.
Install
pip install hermes-webui PyPIHow it fits your stack(4)
Typed graph edges - alternatives, integrations, successors, and dependencies. Ranked by relationship type, not raw GitHub stars.
Alternative
Relationship graph
Optional deeper exploration of typed edges and category neighbours.
Similar tools
Same-category neighbours not already linked as typed edges.
Evidence and technical details
Sourced facts, taxonomy, compatibility claims, README excerpt, and machine-readable endpoints.
Overview
A web interface for interacting with the Hermes agent, enabling users to manage AI tasks and chat via a browser or mobile device.
Capability facts
- Deploy
- Self-host
Source: dockerfile:Dockerfile · Aug 19, 2026
- Docker
- Dockerfile present
Source: dockerfile:Dockerfile · Aug 19, 2026
- CLI
- CLI entrypoint
Source: pyproject.toml:[project.scripts] · Aug 19, 2026
- MCP server
- No MCP server detected
Source: repo_scan · Aug 19, 2026
- Languages
- python, javascript
Source: github.language+package.json+pyproject.toml · Aug 19, 2026
Categories
Compatibility
Sourced claims from the README excerpt - not unsourced marketing copy.
Tags
README
Quick start
Run the repo bootstrap:
git clone https://github.com/nesquena/hermes-webui.git hermes-webui
cd hermes-webui
python3 bootstrap.py
Or keep using the shell launcher:
./start.sh
For self-hosted VM or homelab installs, ctl.sh wraps the common daemon lifecycle commands without requiring fuser or pkill:
./ctl.sh start # background daemon, PID at ~/.hermes/webui.pid
./ctl.sh status # PID, uptime, bound host/port, log path, /health
./ctl.sh logs --lines 100 # tail ~/.hermes/webui.log
./ctl.sh restart
./ctl.sh stop
ctl.sh start runs the bootstrap in foreground/no-browser mode behind the daemon wrapper, writes logs to ~/.hermes/webui.log, and respects .env plus inline overrides such as HERMES_WEBUI_HOST=0.0.0.0 ./ctl.sh start.
Stopping the server. Each launch method has its own stop path because only
ctl.sh startwrites a PID file (~/.hermes/webui.pid):
Launch method How to stop python3 bootstrap.pyCtrl-C in the terminal (runs in the foreground) ./ctl.sh start./ctl.sh stop(sends SIGTERM, waits, then SIGKILL)Detached bootstrap.py(no--foreground) or./start.shFind the PID via lsof -i :8787(orss -tlnp) andkillit
./ctl.sh stopcannot stop a server launched bybootstrap.pyorstart.shdirectly — it only manages processes it started itself.
How chat runs by default. WebUI runs the Hermes agent in-process, reading your
HERMES_HOMEconfig directly. It does not connect to an external Hermes/agent OpenAI-compatible API server to run chat.HERMES_API_URLis only read by the Tasks/cron health probe and does not route chat.Two options if you run an external endpoint:
- Use its models as a chat provider (supported today): add it in Settings → Providers as a custom OpenAI-compatible provider with
base_url = http://127.0.0.1:8642/v1and your bearer token.- Route chat through a Hermes Gateway API server (supported today via
HERMES_WEBUI_CHAT_BACKEND=gateway): seedocs/advanced-chat-setup.md. Full agent-loop delegation is not yet shipped; tracked in #1925.
Docker
Pre-built images (amd64 + arm64) are published to GHCR on every release.
For a comprehensive setup guide covering all 3 compose files, common failure modes, and bind-mount migration, see docs/docker.md. The README covers the 5-minute happy path.
Manual docker run (no compose)
docker pull ghcr.io/nesquena/hermes-webui:latest
docker run -d \
-e WANTED_UID=$(id -u) -e WANTED_GID=$(id -g) \
-v ~/.hermes:/home/hermeswebui/.hermes \
-e HERMES_WEBUI_STATE_DIR=/home/hermeswebui/.hermes/webui \
-v ~/workspace:/workspace \
-p 127.0.0.1:8787:8787 \
ghcr.io/nesquena/hermes-webui:latest
For agents
This page has a .md twin and JSON over the API.