Hermes Gateway (VPS-side)
A second Hermes agent runs on the VPS in gateway mode, separate from the local
desktop Hermes.
Process
- Runtime:
/root/.hermes/tools/python-3.14.7+…/python3running… hermes_cli … gateway run. - Config:
/root/.hermes/config.yaml, env/root/.hermes/.env. - State:
/root/.hermes/gateway.sock,gateway.pid,gateway_state.json,
channel_directory.json.
Watchdog
hermes-gateway-watch.timer → hermes-gateway-watch.service (every 5 min):
- ExecStart=/usr/bin/python3 /opt/ops/hermes_gateway_watch.py
- "liveness + duplicate-poll detection".
Layout (/root/.hermes/)
| Item | Purpose |
|---|---|
SOUL.md |
persona/mission |
config.yaml |
full config |
.env |
secrets |
auth.json |
auth/credentials |
kanban.db (+ wal/shm) |
kanban state |
cron/ |
gateway cron jobs |
hermes-agent/ |
the agent checkout |
gateway*.{sock,pid,lock,state,log} |
gateway runtime |
Cron jobs (cron/jobs.json)
| Job | Schedule | Deliver |
|---|---|---|
| Personal daily reminders (SGT) | */5 * * * * |
Telegram "WT" |
| Ying appt — 2 days before | once 21 Nov | Telegram "WT" |
| Ying appt — 1 day before | once 22 Nov | Telegram "WT" |
| Scrape handshake monitor | 0 */2 * * * |
Telegram "WT" |
scrape_handshake.pychecks local-scrape DB freshness (see VPS/Local-VPS Sync);
silent when all landed, alerts Telegram when a scrape missed.
Note
This is the remote brain wired to Telegram @sportstlm_supervisor_bot and the ops
collectors. Keep it distinct from the local desktop Hermes (the one maintaining this
vault).