Tiefgehende Fehlerbehebung
Symptomorientierte Diagnose mit exakten Befehlsabfolgen und Log-Signaturen.
Konfiguration
Aufgabenorientierte Einrichtungsanleitung + vollständige Konfigurationsreferenz.
Secrets-Verwaltung
SecretRef-Vertrag, Snapshot-Verhalten zur Laufzeit und Migrations-/Neuladevorgänge.
Secrets-Plan-Vertrag
Exakte Ziel-/Pfadregeln für
secrets apply und ref-only-Verhalten für Auth-Profile.Lokaler Start in 5 Minuten
Dienstzustand prüfen
Runtime: running, Connectivity probe: ok und Capability: ..., passend zu Ihrer Erwartung. Verwenden Sie openclaw gateway status --require-rpc, wenn Sie RPC-Nachweis mit Leseberechtigung benötigen, nicht nur Erreichbarkeit.Das Neuladen der Gateway-Konfiguration überwacht den aktiven Konfigurationsdateipfad (aufgelöst aus Profil-/State-Standards oder aus
OPENCLAW_CONFIG_PATH, wenn 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 tauscht diesen Snapshot atomar aus.Laufzeitmodell
- Ein immer aktiver Prozess für Routing, Steuerungsebene und Kanalverbindungen.
- Ein einzelner multiplexter Port für:
- WebSocket-Steuerung/RPC
- HTTP-APIs (
/v1/models,/v1/embeddings,/v1/chat/completions,/v1/responses,/tools/invoke) - Plugin-HTTP-Routen, z. B. optional
/api/v1/admin/rpc - Control UI und Hooks
- Standard-Bind-Modus:
loopback. - Auth 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 wirkungsvollste Kompatibilitätsfläche von OpenClaw ist jetzt:GET /v1/modelsGET /v1/models/{id}POST /v1/embeddingsPOST /v1/chat/completionsPOST /v1/responses
- Die meisten Integrationen für 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-Agenten zugeordnet ist.- Verwenden Sie
x-openclaw-model, wenn Sie einen Backend-Provider-/Modell-Override wünschen; andernfalls bleibt die normale Modell- und Embedding-Einrichtung des ausgewählten Agenten maßgeblich.
POST /api/v1/admin/rpc) ist eine separate, standardmäßig deaktivierte Plugin-Route für Host-Tools, die WebSocket-RPC nicht verwenden können. Siehe Admin-HTTP-RPC.
Port- und Bind-Priorität
| Einstellung | Auflösungsreihenfolge |
|---|---|
| Gateway-Port | --port → OPENCLAW_GATEWAY_PORT → gateway.port → 18789 |
| Bind-Modus | CLI/Override → gateway.bind → loopback |
--port in Supervisor-Metadaten. Nachdem Sie gateway.port geändert haben, führen Sie openclaw doctor --fix oder openclaw gateway install --force aus, damit launchd/systemd/schtasks den Prozess auf dem neuen Port startet.
Der Gateway-Start verwendet denselben effektiven Port und Bind, wenn lokale
Control-UI-Origins für Nicht-loopback-Binds gesetzt werden. Beispielsweise setzt
--bind lan --port 3000 http://localhost:3000 und http://127.0.0.1:3000,
bevor die Laufzeitvalidierung ausgeführt wird. Fügen Sie alle Remote-Browser-Origins,
z. B. HTTPS-Proxy-URLs, explizit zu gateway.controlUi.allowedOrigins hinzu.
Hot-Reload-Modi
gateway.reload.mode | Verhalten |
|---|---|
off | Kein Neuladen der Konfiguration |
hot | Nur hot-sichere Änderungen anwenden |
restart | Bei Änderungen, die einen Neustart erfordern, neu starten |
hybrid (Standard) | Hot anwenden, wenn sicher; neu starten, wenn erforderlich |
Operator-Befehlssatz
gateway status --deep ist für zusätzliche Diensterkennung (LaunchDaemons/systemd-System-
Units/schtasks) gedacht, nicht für eine tiefere RPC-Zustandsprüfung.
Mehrere Gateways (gleicher Host)
Die meisten Installationen sollten ein Gateway pro Maschine ausführen. Ein einzelnes Gateway kann mehrere Agenten und Kanäle hosten. Sie benötigen mehrere Gateways nur, wenn Sie absichtlich Isolation oder einen Rescue-Bot wünschen. 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 gateway identitieswarnen, wenn unterschiedliche Gateways antworten oder wenn OpenClaw nicht nachweisen kann, dass erreichbare Ziele dasselbe Gateway sind. Ein SSH-Tunnel, eine Proxy-URL oder eine konfigurierte Remote-URL zum selben Gateway ist ein Gateway mit mehreren Transporten, auch wenn sich die Transport-Ports unterscheiden.- Wenn dies beabsichtigt ist, isolieren Sie Ports, Konfiguration/State und Workspace-Roots pro Gateway.
- Eindeutiger
gateway.port - Eindeutiger
OPENCLAW_CONFIG_PATH - Eindeutiger
OPENCLAW_STATE_DIR - Eindeutiger
agents.defaults.workspace
Remote-Zugriff
Bevorzugt: Tailscale/VPN. Fallback: SSH-Tunnel.ws://127.0.0.1:18789.
Siehe: Remote-Gateway, Authentifizierung, Tailscale.
Supervision und Dienstlebenszyklus
Verwenden Sie überwachte Ausführungen für produktionsähnliche Zuverlässigkeit.- macOS (launchd)
- Linux (systemd-Benutzer)
- Windows (nativ)
- Linux (Systemdienst)
openclaw gateway restart für Neustarts. Verketten Sie openclaw gateway stop und openclaw gateway start nicht als Ersatz für einen Neustart.Unter macOS verwendet gateway stop standardmäßig launchctl bootout — dies entfernt den LaunchAgent aus der aktuellen Boot-Sitzung, ohne eine Deaktivierung dauerhaft zu speichern, sodass KeepAlive-Auto-Recovery nach unerwarteten Abstürzen weiterhin funktioniert und gateway start sauber wieder aktiviert. Um automatisches Respawn über Neustarts hinweg dauerhaft zu unterdrücken, übergeben Sie --disable: openclaw gateway stop --disable.LaunchAgent-Labels sind ai.openclaw.gateway (Standard) oder ai.openclaw.<profile> (benanntes Profil). openclaw doctor auditiert und repariert Drift in der Dienstkonfiguration.Schneller Pfad für das Dev-Profil
19001.
Kurzreferenz zum Protokoll (Operator-Sicht)
- Der erste Client-Frame muss
connectsein. - Gateway gibt einen
hello-ok-Snapshot zurück (presence,health,stateVersion,uptimeMs, Limits/Policy). hello-ok.features.methods/eventssind eine konservative Erkennungsliste, kein generierter Dump jeder aufrufbaren Helper-Route.- Anfragen:
req(method, params)→res(ok/payload|error). - Häufige Events sind unter anderem
connect.challenge,agent,chat,session.message,session.operation,session.tool,sessions.changed,presence,tick,health,heartbeat, Events zum Pairing-/Approval-Lebenszyklus undshutdown.
- Sofortige Annahmebestätigung (
status:"accepted") - Abschließende Completion-Antwort (
status:"ok"|"error"), mit gestreamtenagent-Events dazwischen.
Betriebliche Prüfungen
Liveness
- WS öffnen und
connectsenden. hello-ok-Antwort mit Snapshot erwarten.
Readiness
Wiederherstellung bei Lücken
Events werden nicht erneut abgespielt. Aktualisieren Sie bei Sequenzlücken den State (health, system-presence), bevor Sie fortfahren.
Häufige Fehlersignaturen
| Signatur | Wahrscheinliches Problem |
|---|---|
refusing to bind gateway ... without auth | Nicht-Loopback-Bind ohne gültigen Gateway-Authentifizierungspfad |
another gateway instance is already listening / EADDRINUSE | Portkonflikt |
Gateway start blocked: set gateway.mode=local | Konfiguration ist auf Remote-Modus gesetzt, oder der Local-Mode-Stempel fehlt in einer beschädigten Konfiguration |
unauthorized während der Verbindung | Authentifizierungsabweichung zwischen Client und Gateway |
Sicherheitsgarantien
- Gateway-Protokoll-Clients schlagen schnell fehl, wenn der Gateway nicht verfügbar ist (kein impliziter Fallback auf Direct-Channel).
- Ungültige bzw. Nicht-Verbindungs-First-Frames werden abgelehnt und geschlossen.
- Ein ordnungsgemäßes Herunterfahren sendet das Ereignis
shutdown, bevor der Socket geschlossen wird.
Verwandt: