Hermes ops stack (Funday server)
Guide for agents and operators on the funday.gg host where Hermes assists Funday development.
Canonical source of truth:
~/.hermes/OPS-STACK.mdon the server. Keep this file in sync when ops change.
Overview
- Hermes home:
~/.hermes - Funday repo:
/home/usr/funday - Active channel: Discord gateway (user systemd)
- Observability: Self-hosted Langfuse at
http://95.111.224.175:19030 - Operator UI: https://funday.gg/dev/hermes/ (Funday dev auth) · https://funday.gg:59119/ (Direct, Funday dev auth via Nginx
auth_request)
Langfuse
Tracing requires all of:
- Plugin enabled:
observability/langfuse - Keys in
~/.hermes/.env(HERMES_LANGFUSE_*) - SDK in venv:
uv pip install --python ~/.hermes/hermes-agent/venv/bin/python langfuse - Gateway restart after env changes
Done when: a hermes chat turn produces a trace in the Langfuse UI (root span Hermes turn, environment=production).
Reinstall SDK after hermes update if the venv was recreated.
Plugins & skills (2026-05-19 profile)
| Area | Policy |
|---|---|
| Plugins | Only Langfuse observability enabled |
| Toolsets | hermes-cli + hermes-discord |
| Skills | 18 Funday-local + 8 builtin ops; 76 builtins disabled — see skills.disabled in ~/.hermes/config.yaml |
Funday-specific skills live under funday/.agents/skills/ (including funday-play-shell).
Commands
systemctl --user status hermes-gateway hermes-dashboard
hermes skills list | tail -1
hermes plugins list | grep enabled
hermes chat -q "test"Safety
- Private project — no GitHub push without explicit approval
- No
pkill— terminate by PID only - No production K3s/Traefik changes without confirmation
- Hermes stays loopback-bound on
127.0.0.1:19119; SvelteKit dev auth (auth_request) is the external gate
See also
~/.hermes/SOUL.md— Hermes identity for Funday~/.hermes/REMOTE-DASHBOARD.md— dashboard setupfunday/.agents/rules/hermes-ops-stack.md— always-on agent rule