by EKKOLearnAI
Web dashboard for Hermes Agent — multi-platform AI chat, session management, scheduled jobs, usage analytics & channel configuration (Telegram, Discord, Slack, WhatsApp)
# Add to your Claude Code skills
git clone https://github.com/EKKOLearnAI/hermes-web-ui~/.hermes/auth.json credential poolUnified configuration for 8 platforms in one page:
| Platform | Features | |---|---| | Telegram | Bot token, mention control, reactions, free-response chats | | Discord | Bot token, mention, auto-thread, reactions, channel allow/ignore lists | | Slack | Bot token, mention control, bot message handling | | WhatsApp | Enable/disable, mention control, mention patterns | | Matrix | Access token, homeserver, auto-thread, DM mention threads | | Feishu (Lark) | App ID / Secret, mention control | | WeChat | QR code login (scan in browser, auto-save credentials) | | WeCom | Bot ID / Secret |
~/.hermes/.env~/.hermes/config.yamlNo comments yet. Be the first to share your thoughts!
~/.hermes/auth.json)/v1/models)npm install -g hermes-web-ui
hermes-web-ui start
Open http://localhost:8648
Automatically installs Node.js (if missing) and hermes-web-ui on Debian/Ubuntu/macOS:
bash <(curl -fsSL https://raw.githubusercontent.com/EKKOLearnAI/hermes-web-ui/main/scripts/setup.sh)
bash <(curl -fsSL https://raw.githubusercontent.com/EKKOLearnAI/hermes-web-ui/main/scripts/setup.sh)
hermes-web-ui start
WSL auto-detects and uses
hermes gateway runfor background startup (no launchd/systemd).
Run Web UI together with Hermes Agent:
docker compose up -d --build hermes-agent hermes-webui
docker compose logs -f hermes-webui
Open http://localhost:6060
./hermes_dataDockerfiledocker-compose.ymlOverride compose variables directly from command line (no .env file required):
PORT=16060 \
UPSTREAM=http://127.0.0.1:8642 \
HERMES_BIN=/opt/hermes/.venv/bin/hermes \
docker compose up -d --build hermes-agent hermes-webui
For detailed notes and troubleshooting, see docs/docker.md.
| Command | Description |
|---|---|
| hermes-web-ui start | Start in background (daemon mode) |
| hermes-web-ui start --port 9000 | Start on custom port |
| hermes-web-ui stop | Stop background process |
| hermes-web-ui restart | Restart background process |
| hermes-web-ui status | Check if running |
| hermes-web-ui update | Update to latest version & restart |
| hermes-web-ui -v | Show version number |
| hermes-web-ui -h | Show help message |
On startup the BFF server automatically:
~/.hermes/config.yaml and fills missing api_server fieldsconfig.yaml.bak if modifiedgit clone https://github.com/EKKOLearnAI/hermes-web-ui.git
cd hermes-web-ui
npm install
npm run dev
npm run build # outputs to dist/
Browser → BFF (Koa, :8648) → Hermes Gateway (:8642)
↓
Hermes CLI (sessions, logs, version)
↓
~/.hermes/config.yaml (channel behavior)
~/.hermes/auth.json (credential pool)
Tencent iLink API (WeChat QR login)
The frontend is designed with multi-agent extensibility — all Hermes-specific code is namespaced under hermes/ directories (API, components, views, stores), making it straightforward to add new agent integrations alongside.
The BFF layer handles API proxy (with path rewriting), SSE streaming, file upload, session CRUD via CLI, config/credential management, WeChat QR login, model discovery, skills/memory management, log reading, and static file serving.
Frontend: Vue 3 + TypeScript + Vite + Naive UI + Pinia + Vue Router + vue-i18n + SCSS + markdown-it + highlight.js
Backend: Koa 2 (BFF server) + node-pty (web terminal)