Gateway-Runbook
Verwenden Sie diese Seite für den Start am ersten Tag und den Betrieb am zweiten Tag des Gateway-Dienstes.Tiefgehende Fehlerbehebung
Symptomorientierte Diagnose mit exakten Befehlsabfolgen und Log-Signaturen.
Konfiguration
Aufgabenorientierte Einrichtungsanleitung + vollständige Konfigurationsreferenz.
Secrets Management
SecretRef-Vertrag, Verhalten von Laufzeit-Snapshots und Migrate-/Reload-Operationen.
Secrets-Plan-Vertrag
Exakte Regeln für
secrets apply-Ziele/-Pfade und ref-only-Auth-Profile.Lokaler Start in 5 Minuten
Das Neuladen der Gateway-Konfiguration überwacht den aktiven Konfigurationsdateipfad (aufgelöst aus Profil-/State-Standardwerten oder
OPENCLAW_CONFIG_PATH, falls gesetzt).
Der Standardmodus ist gateway.reload.mode="hybrid".
Nach dem ersten erfolgreichen Laden stellt der laufende Prozess den aktiven In-Memory-Konfigurations-Snapshot bereit; ein erfolgreiches Neuladen ersetzt diesen Snapshot atomar.Laufzeitmodell
- Ein immer laufender Prozess für Routing, Control Plane und Channel-Verbindungen.
- Ein einzelner multiplexter Port für:
- WebSocket-Control/RPC
- HTTP-APIs, OpenAI-kompatibel (
/v1/models,/v1/embeddings,/v1/chat/completions,/v1/responses,/tools/invoke) - Control UI und Hooks
- Standard-Bind-Modus:
loopback. - Authentifizierung ist standardmäßig erforderlich. Setups mit gemeinsamem Secret verwenden
gateway.auth.token/gateway.auth.password(oderOPENCLAW_GATEWAY_TOKEN/OPENCLAW_GATEWAY_PASSWORD), und Reverse-Proxy-Setups ohne loopback könnengateway.auth.mode: "trusted-proxy"verwenden.
OpenAI-kompatible Endpunkte
Die OpenAI-kompatible Oberfläche mit dem höchsten Hebel in OpenClaw ist jetzt:GET /v1/modelsGET /v1/models/{id}POST /v1/embeddingsPOST /v1/chat/completionsPOST /v1/responses
- Die meisten Integrationen mit Open WebUI, LobeChat und LibreChat prüfen zuerst
/v1/models. - Viele RAG- und Memory-Pipelines erwarten
/v1/embeddings. - Agent-native Clients bevorzugen zunehmend
/v1/responses.
/v1/modelsist agent-first: Es gibtopenclaw,openclaw/defaultundopenclaw/<agentId>zurück.openclaw/defaultist der stabile Alias, der immer dem konfigurierten Standard-Agent zugeordnet ist.- Verwenden Sie
x-openclaw-model, wenn Sie eine Überschreibung von Backend-Provider/Modell möchten; andernfalls bleibt das normale Modell- und Embedding-Setup des ausgewählten Agents maßgeblich.
Port- und Bind-Priorität
| Einstellung | Auflösungsreihenfolge |
|---|---|
| Gateway-Port | --port → OPENCLAW_GATEWAY_PORT → gateway.port → 18789 |
| Bind-Modus | CLI/Überschreibung → gateway.bind → loopback |
Hot-Reload-Modi
gateway.reload.mode | Verhalten |
|---|---|
off | Kein Neuladen der Konfiguration |
hot | Nur Hot-safe-Änderungen anwenden |
restart | Bei reload-pflichtigen Änderungen neustarten |
hybrid (Standard) | Wenn sicher hot anwenden, sonst neustarten |
Operator-Befehlssatz
gateway status --deep dient der zusätzlichen Diensterkennung (LaunchDaemons/systemd-System-
Units/schtasks), nicht einer tieferen RPC-Health-Probe.
Mehrere Gateways (gleicher Host)
Die meisten Installationen sollten ein Gateway pro Maschine ausführen. Ein einzelnes Gateway kann mehrere Agents und Channels hosten. Sie benötigen mehrere Gateways nur, wenn Sie bewusst Isolierung oder einen Rescue-Bot möchten. Nützliche Prüfungen:gateway status --deepkannOther gateway-like services detected (best effort)melden und Bereinigungshinweise ausgeben, wenn noch veraltete Launchd-/systemd-/schtasks-Installationen vorhanden sind.gateway probekann vormultiple reachable gatewayswarnen, wenn mehr als ein Ziel antwortet.- Wenn das beabsichtigt ist, trennen Sie Ports, Konfiguration/State und Workspace-Wurzeln pro Gateway.
Remote-Zugriff
Bevorzugt: Tailscale/VPN. Fallback: SSH-Tunnel.ws://127.0.0.1:18789.
Siehe: Remote Gateway, Authentication, Tailscale.
Überwachung und Service-Lifecycle
Verwenden Sie überwachte Läufe für produktionsähnliche Zuverlässigkeit.- macOS (launchd)
- Linux (systemd user)
- Windows (nativ)
- Linux (Systemdienst)
ai.openclaw.gateway (Standard) oder ai.openclaw.<profile> (benanntes Profil). openclaw doctor prüft und repariert Abweichungen in der Service-Konfiguration.Mehrere Gateways auf einem Host
Die meisten Setups sollten ein Gateway ausführen. Verwenden Sie mehrere nur für strikte Isolierung/Redundanz (zum Beispiel ein Rescue-Profil). Checkliste pro Instanz:- Eindeutiges
gateway.port - Eindeutiges
OPENCLAW_CONFIG_PATH - Eindeutiges
OPENCLAW_STATE_DIR - Eindeutiges
agents.defaults.workspace
Schnellpfad für Dev-Profil
19001.
Kurzübersicht zum Protokoll (Operator-Sicht)
- Das erste Client-Frame muss
connectsein. - Das Gateway gibt einen
hello-ok-Snapshot zurück (presence,health,stateVersion,uptimeMs, Limits/Policy). hello-ok.features.methods/eventssind eine konservative Discovery-Liste, kein generierter Dump jedes aufrufbaren Helper-Routs.- Anfragen:
req(method, params)→res(ok/payload|error). - Häufige Ereignisse sind
connect.challenge,agent,chat,session.message,session.tool,sessions.changed,presence,tick,health,heartbeat, Pairing-/Approval-Lifecycle-Ereignisse undshutdown.
- Sofortige Accepted-Bestätigung (
status:"accepted") - Finale Abschlussantwort (
status:"ok"|"error"), mit gestreamtenagent-Ereignissen dazwischen.
Betriebliche Prüfungen
Liveness
- WS öffnen und
connectsenden. - Als Antwort einen
hello-ok-Snapshot erwarten.
Readiness
Gap Recovery
Ereignisse werden nicht erneut abgespielt. Bei Sequenzlücken den Status (health, system-presence) aktualisieren, bevor Sie fortfahren.
Häufige Fehlersignaturen
| Signatur | Wahrscheinliches Problem |
|---|---|
refusing to bind gateway ... without auth | Nicht-loopback-Bind ohne gültigen Gateway-Auth-Pfad |
another gateway instance is already listening / EADDRINUSE | Portkonflikt |
Gateway start blocked: set gateway.mode=local | Konfiguration auf Remote-Modus gesetzt, oder Local-Mode-Stempel fehlt in beschädigter Konfiguration |
unauthorized during connect | Auth-Mismatch zwischen Client und Gateway |
Sicherheitsgarantien
- Gateway-Protokoll-Clients schlagen schnell fehl, wenn das Gateway nicht verfügbar ist (kein impliziter direkter Channel-Fallback).
- Ungültige/nicht-
connect-erste Frames werden abgewiesen und geschlossen. - Graceful Shutdown sendet ein
shutdown-Ereignis vor dem Schließen des Sockets.
Verwandt: