Gateway‑Dienst‑Runbook
Verwenden Sie diese Seite für den Day-1-Start und die Day-2-Operationen des Gateway-Dienstes.Deep troubleshooting
Symptomorientierte Diagnose mit exakten Befehlsabfolgen und Log-Signaturen.
Configuration
Aufgabenorientierte Einrichtungsanleitung + vollständige Konfigurationsreferenz.
5-Minuten-Local-Startup
Das Gateway-Konfigurations-Reload überwacht den aktiven Konfigurationsdateipfad (aufgelöst aus Profil-/Status-Standardwerten oder
OPENCLAW_CONFIG_PATH, wenn gesetzt).
Standardmodus: gateway.reload.mode="hybrid" (sichere Änderungen hot anwenden, Neustart bei kritischen Änderungen).Laufzeitmodell
- Ein dauerhaft laufender Prozess für Routing, Control Plane und Kanalverbindungen.
- Single‑Port‑Multiplex.
- WebSocket-Control/RPC
- OpenResponses (HTTP):
/v1/responses. - Control-UI und Hooks
- Standard-Bind-Modus:
loopback. - Gateway‑Authentifizierung ist standardmäßig erforderlich: setzen Sie
gateway.auth.token(oderOPENCLAW_GATEWAY_TOKEN) odergateway.auth.password.
Port- und Bind-Priorität
| Einstellung | Auflösungsreihenfolge |
|---|---|
| Abgeleitete Ports (Faustregeln): | Port‑Priorität: --port > OPENCLAW_GATEWAY_PORT > gateway.port > Standard 18789. |
| Bind-Modus | CLI/Override → gateway.bind → loopback |
Hot-Reload-Modi
Deaktivieren mit gateway.reload.mode="off". | Verhalten |
|---|---|
off | Kein Konfigurations-Reload |
hot | Nur hot-sichere Änderungen anwenden |
restart | Bei reload-erforderlichen Änderungen neu starten |
hybrid (Standard) | Wenn möglich hot anwenden, andernfalls neu starten |
Operator-Befehlssatz
Remote‑Zugriff
Tailscale/VPN bevorzugt; andernfalls SSH‑Tunnel: Fallback: SSH-Tunnel.ws://127.0.0.1:18789.
Siehe: Remote Gateway, Authentication, Tailscale.
Überwachung und Service-Lebenszyklus
Verwenden Sie überwachte Läufe für produktionsähnliche Zuverlässigkeit.- macOS (launchd)
- Linux (systemd user)
- Linux (system service)
bot.molt.gateway (oder bot.molt.<profile> ; Legacy com.openclaw.*‑Labels werden weiterhin sauber entladen).(benanntes Profil).openclaw doctor` prüft und behebt Konfigurationsabweichungen des Service.Mehrere Gateways (gleicher Host)
Die meisten Setups sollten ein Gateway ausführen. Verwenden Sie mehrere Gateways nur für Redundanz oder strikte Isolation (z. B. Checkliste pro Instanz:- eindeutiges
gateway.port - eindeutiges
OPENCLAW_CONFIG_PATH - eindeutiges
OPENCLAW_STATE_DIR - eindeutiges
agents.defaults.workspace
Dev‑Profil (--dev)
19001.
Protokoll (Operator‑Sicht)
- Der erste Client-Frame muss
connectsein. - Das Gateway gibt einen
hello-ok-Snapshot zurück (presence,health,stateVersion,uptimeMs, Limits/Policy). - Requests:
{type:"req", id, method, params}→{type:"res", id, ok, payload|error} - Häufige Events:
connect.challenge,agent,chat,presence,tick,health,heartbeat,shutdown.
- Sofortige Bestätigungs-Antwort (
status:"accepted") agent‑Antworten sind zweistufig: zuerstres‑Ack{runId,status:"accepted"}, dann ein finalesres{runId,status:"ok"|"error",summary}nach Abschluss des Laufs; gestreamte Ausgabe trifft alsevent:"agent"ein.
Betriebliche Prüfungen
Liveness
- WS öffnen und
connectsenden. hello-ok-Antwort mit Snapshot erwarten.
Readiness
Gap-Recovery
Events werden nicht wiederholt. Bei Sequenzlücken den Status (health, system-presence) aktualisieren, bevor fortgefahren wird.
Häufige Fehlersignaturen
| Signatur | Wahrscheinliches Problem |
|---|---|
weigert sich, Gateway zu binden ... ohne Authentifizierung | Bind an Nicht-Loopback-Adresse ohne Token/Passwort |
another gateway instance is already listening / EADDRINUSE | Portkonflikt |
Gateway start blocked: set gateway.mode=local | Konfiguration auf Remote-Modus gesetzt |
unauthorized während des Verbindungsaufbaus | Authentifizierungsabweichung zwischen Client und Gateway |
Sicherheitsgarantien
- Gateway-Protokoll-Clients schlagen sofort fehl, wenn das Gateway nicht verfügbar ist (kein impliziter Direct-Channel-Fallback).
- Ungültige/Nicht-
connect-First-Frames werden abgelehnt und die Verbindung wird geschlossen. - Geordneter Shutdown: Emit
shutdown‑Event vor dem Schließen; Clients müssen Close + Reconnect handhaben.
Verwandt: