[Unit] Description=Hermes Terminal — ttyd web terminal wrapping `hermes chat` (interaktiver Agent) Documentation=https://github.com/tsl0922/ttyd After=network.target [Service] # Exponiert die interaktive Hermes-Agent-CLI (`hermes chat`, voller Agent mit Tools/PC) als # Web-Terminal. Wird in MC2 per iframe eingebettet (Terminal-Seite) — Ersatz fuer AnythingLLM. # # SICHERHEIT: Bindet NUR an Loopback (lo) und laeuft hinter dem MC2-Reverse-Proxy # (routers/console.py → same-origin /hermes-terminal/ auf dem offenen Port 9001) — keine eigene # Firewall-Freigabe noetig. Login-Schutz: ttyd startet die Agent-CLI ueber `su - hitonabi -c …` # → fragt beim Oeffnen das Box-Passwort ab (PAM gegen das echte Konto, nichts gespeichert). # Trusted-Home-LAN, kein Internet-Exposure. Type=simple # --interface lo = nur Loopback. --base-path /hermes-terminal = ttyd bedient /hermes-terminal/*. # `su - hitonabi -c` = Passwort-Login (Box-Passwort), danach `exec` in die Hermes-Agent-CLI. ExecStart=/usr/bin/ttyd --writable --interface lo --port 7681 --base-path /hermes-terminal --max-clients 2 --cwd %h/.hermes /bin/su - hitonabi -c "cd %h/.hermes && exec %h/.hermes/hermes-agent/venv/bin/python -m hermes_cli.main chat" Restart=always RestartSec=3 [Install] WantedBy=default.target