# SSH `hermes chat -q` — Mesh-Trigger (19.07.2026) ## Der Befehl (funktioniert JEDES MAL) ```bash sshpass -p 'Bp3lskt0' ssh -o StrictHostKeyChecking=no mehlzoerwer@172.24.34.142 \ "sudo -n hermes chat -q 'DEINE KOMPLETTE FRAGE HIER' \ -m deepseek/deepseek-chat --provider openrouter \ --quiet --max-turns 5 \ --ignore-user-config --ignore-rules --safe-mode" ``` ## Warum das funktioniert (und Webhooks nicht) | Kanal | Status | Grund | |-------|--------|-------| | SSH `chat -q` | ✅ IMMER | Kein Secret, kein Gateway, kein Webhook | | Webhook A→B | ❌ Oft kaputt | Gateway cached Secrets, `--secret` wirkungslos ohne Neustart | | Webhook B→A | ✅ Meist ok | A's Gateway läuft stabil seit Jul17 | | Message Bus | ⚠️ Nur Transport | Kein Poll-Cron auf B → Nachrichten bleiben ungelesen | ## Flags im Detail - `--quiet` → Nur Antwort-Text, kein Banner/Spinner - `--max-turns 5` → Max. 5 Tool-Calls, verhindert Endlosschleifen - `--ignore-user-config` → Ignoriert `~/.hermes/config.yaml` (vermeidet Warnungen) - `--ignore-rules` → Kein AGENTS.md/SOUL.md injection - `--safe-mode` → Alle drei zusammen, sauberer Isolation-Modus **WICHTIG:** `--safe-mode` deaktiviert Memory & Skills des Remote-Agent. Die Frage muss SELBSTENTHALTEND sein (alle nötigen Infos im Prompt). ## Erprobtes Beispiel (PersoEnt-API) **Frage an B:** ``` Brainstorming fuer PersoEnt v4: API-Endpoint fuer Gesundheitsdaten (Gewicht, Blutdruck, Puls) → PocketBase. Route-Struktur + Code-Vorschlag (Python). Kurz, technisch, direkt. KEIN clarify. ``` **Antwort von B:** Kompletter Flask-Code mit POST/GET-Endpoints, Validierung, CORS, Fehlerbehandlung. **A deployte:** auf VPS unter persoent.perfekt-ohne-en.de/api/ (systemd, Nginx reverse-proxy). ## Pitfalls 1. **SSH-Timeout zu kurz:** Hermes braucht 30-120s. `--max-turns 5` verkürzt, aber 180s Timeout ist sicher. 2. **Gateway-Neustart via SSH blockiert:** tirith auf A scannt `pkill`/`systemctl restart` im SSH-Befehl → blockiert. Kein Workaround von A aus. 3. **Config-Warnungen:** Ohne `--ignore-user-config` kommen Warnungen über unbekannte Config-Keys im stdout (stört nicht, aber rauscht). 4. **`--safe-mode` deaktiviert zu viel:** Falls B auf Skills/Memory angewiesen ist, nur `--ignore-user-config --ignore-rules` ohne `--safe-mode` nutzen.