De Gateway is de WebSocket-server van OpenClaw (kanalen, nodes, sessies, hooks). Subcommando’s op deze pagina vallen onderDocumentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
openclaw gateway ….
Bonjour discovery
Lokale mDNS + wide-area DNS-SD-installatie.
Discovery overview
Hoe OpenClaw gateways adverteert en vindt.
Configuration
Gateway-configuratiesleutels op hoofdniveau.
De Gateway uitvoeren
Voer een lokaal Gateway-proces uit:Startup behavior
Startup behavior
- Standaard weigert de Gateway te starten tenzij
gateway.mode=localis ingesteld in~/.openclaw/openclaw.json. Gebruik--allow-unconfiguredvoor ad-hoc-/dev-runs. - Van
openclaw onboard --mode localenopenclaw setupwordt verwacht dat zegateway.mode=localschrijven. Als het bestand bestaat maargateway.modeontbreekt, behandel dat dan als een defecte of overschreven configuratie en herstel die in plaats van impliciet de lokale modus aan te nemen. - Als het bestand bestaat en
gateway.modeontbreekt, behandelt de Gateway dat als verdachte configuratieschade en weigert hij voor jou “lokaal te raden”. - Binden buiten loopback zonder auth wordt geblokkeerd (veiligheidsvangrail).
SIGUSR1activeert een herstart binnen het proces wanneer dit is geautoriseerd (commands.restartis standaard ingeschakeld; stelcommands.restart: falsein om handmatig herstarten te blokkeren, terwijl gateway-tool/config apply/update toegestaan blijven).SIGINT/SIGTERM-handlers stoppen het gateway-proces, maar ze herstellen geen aangepaste terminalstatus. Als je de CLI omwikkelt met een TUI of raw-mode-invoer, herstel dan de terminal vóór het afsluiten.
Opties
WebSocket-poort (standaard komt uit config/env; meestal
18789).Bindmodus voor de listener.
Overschrijving van de auth-modus.
Tokenoverschrijving (stelt ook
OPENCLAW_GATEWAY_TOKEN in voor het proces).Wachtwoordoverschrijving.
Lees het gateway-wachtwoord uit een bestand.
Stel de Gateway beschikbaar via Tailscale.
Reset de Tailscale serve/funnel-configuratie bij afsluiten.
Sta toe dat de gateway start zonder
gateway.mode=local in de configuratie. Omzeilt de startup-bescherming alleen voor ad-hoc-/dev-bootstrap; schrijft of herstelt het configuratiebestand niet.Maak een dev-configuratie + werkruimte aan als die ontbreekt (slaat BOOTSTRAP.md over).
Reset dev-configuratie + referenties + sessies + werkruimte (vereist
--dev).Beëindig elke bestaande listener op de geselecteerde poort vóór het starten.
Uitgebreide logs.
Toon alleen CLI-backendlogs in de console (en schakel stdout/stderr in).
Websocket-logstijl.
Alias voor
--ws-log compact.Log onbewerkte modelstream-events naar jsonl.
Pad voor onbewerkte stream-jsonl.
De Gateway herstarten
openclaw gateway restart --safe vraagt de actieve Gateway om actief OpenClaw-werk vooraf te controleren voordat er wordt herstart. Als bewerkingen in de wachtrij, afleveren van antwoorden, ingebedde runs of taakruns actief zijn, rapporteert de Gateway de blokkades, voegt hij dubbele veilige herstartverzoeken samen en herstart hij zodra het actieve werk is afgehandeld. Gewoon restart behoudt het bestaande gedrag van de servicemanager voor compatibiliteit. Gebruik --force alleen wanneer je expliciet het directe overschrijvingspad wilt.
openclaw gateway restart --safe --skip-deferral voert dezelfde OpenClaw-bewuste gecoördineerde herstart uit als --safe, maar omzeilt de uitstelpoort voor actief werk zodat de Gateway de herstart onmiddellijk uitzendt, zelfs wanneer er blokkades worden gerapporteerd. Gebruik dit als de nooduitgang voor operators wanneer uitstel is vastgezet door een vastgelopen taakrun en alleen --safe onbeperkt zou wachten. --skip-deferral vereist --safe.
Startup-profiling
- Stel
OPENCLAW_GATEWAY_STARTUP_TRACE=1in om fasetimings tijdens het starten van de Gateway te loggen, inclusief per-faseeventLoopMax-vertraging en timings van Plugin-opzoektabellen voor installed-index, manifestregister, startup-planning en owner-map-werk. - Stel
OPENCLAW_DIAGNOSTICS=timelinein metOPENCLAW_DIAGNOSTICS_TIMELINE_PATH=<path>om een best-effort JSONL-startupdiagnostiektijdlijn te schrijven voor externe QA-harnassen. Je kunt de vlag ook inschakelen metdiagnostics.flags: ["timeline"]in de configuratie; het pad wordt nog steeds via env geleverd. VoegOPENCLAW_DIAGNOSTICS_EVENT_LOOP=1toe om event-loop-samples op te nemen. - Voer
pnpm test:startup:gateway -- --runs 5 --warmup 1uit om de startup van de Gateway te benchmarken. De benchmark registreert eerste procesuitvoer,/healthz,/readyz, startup-tracetimings, event-loop-vertraging en timingdetails van Plugin-opzoektabellen.
Een actieve Gateway opvragen
Alle querycommando’s gebruiken WebSocket-RPC.- Output modes
- Standaard: menselijk leesbaar (gekleurd in TTY).
--json: machineleesbare JSON (geen styling/spinner).--no-color(ofNO_COLOR=1): schakel ANSI uit terwijl de menselijke lay-out behouden blijft.
Wanneer je
--url instelt, valt de CLI niet terug op configuratie- of omgevingsreferenties. Geef --token of --password expliciet door. Ontbrekende expliciete referenties zijn een fout.gateway health
/healthz-endpoint is een liveness-probe: het retourneert zodra de server HTTP kan beantwoorden. Het HTTP-/readyz-endpoint is strenger en blijft rood zolang startup-Plugin-sidecars, kanalen of geconfigureerde hooks nog aan het stabiliseren zijn. Lokale of geauthenticeerde gedetailleerde readiness-responsen bevatten een diagnostisch eventLoop-blok met event-loop-vertraging, event-loop-gebruik, CPU-coreverhouding en een degraded-vlag.
gateway usage-cost
Haal usage-cost-samenvattingen op uit sessielogs.
Aantal dagen om op te nemen.
gateway stability
Haal de recente diagnostische stabiliteitsrecorder op uit een actieve Gateway.
Maximumaantal recente events om op te nemen (max
1000).Filter op diagnostisch eventtype, zoals
payload.large of diagnostic.memory.pressure.Neem alleen events op na een diagnostisch volgnummer.
Lees een opgeslagen stabiliteitsbundel in plaats van de actieve Gateway aan te roepen. Gebruik
--bundle latest (of alleen --bundle) voor de nieuwste bundel onder de statusmap, of geef direct een JSON-pad voor een bundel door.Schrijf een deelbare supportdiagnostiek-zip in plaats van stabiliteitsdetails af te drukken.
Uitvoerpad voor
--export.Privacy and bundle behavior
Privacy and bundle behavior
- Records bewaren operationele metadata: eventnamen, aantallen, bytegroottes, geheugenuitlezingen, wachtrij-/sessiestatus, kanaal-/Plugin-namen en geredigeerde sessiesamenvattingen. Ze bewaren geen chattekst, webhook-bodies, tooluitvoer, onbewerkte request- of response-bodies, tokens, cookies, geheime waarden, hostnamen of onbewerkte sessie-id’s. Stel
diagnostics.enabled: falsein om de recorder volledig uit te schakelen. - Bij fatale Gateway-afsluitingen, shutdown-time-outs en startup-fouten bij herstart schrijft OpenClaw dezelfde diagnostische snapshot naar
~/.openclaw/logs/stability/openclaw-stability-*.jsonwanneer de recorder events heeft. Inspecteer de nieuwste bundel metopenclaw gateway stability --bundle latest;--limit,--typeen--since-seqzijn ook van toepassing op bundeluitvoer.
gateway diagnostics export
Schrijf een lokale diagnostiek-zip die is bedoeld om aan bugrapporten toe te voegen. Zie Diagnostiekexport voor het privacymodel en de bundelinhoud.
Uitvoerpad voor de zip. Standaard wordt een supportexport onder de statusmap gebruikt.
Maximumaantal gesaneerde logregels om op te nemen.
Maximumaantal logbytes om te inspecteren.
Gateway-WebSocket-URL voor de health-snapshot.
Gateway-token voor de health-snapshot.
Gateway-wachtwoord voor de health-snapshot.
Time-out voor status-/health-snapshot.
Sla het opzoeken van opgeslagen stabiliteitsbundels over.
Druk het geschreven pad, de grootte en het manifest af als JSON.
gateway status
gateway status toont de Gateway-service (launchd/systemd/schtasks) plus een optionele probe van connectiviteit/auth-capaciteit.
Voeg een expliciet probe-doel toe. Geconfigureerde externe doelen en localhost worden nog steeds geprobed.
Token-authenticatie voor de probe.
Wachtwoordauthenticatie voor de probe.
Probe-time-out.
Sla de connectiviteitsprobe over (alleen serviceweergave).
Scan ook services op systeemniveau.
Upgrade de standaardconnectiviteitsprobe naar een leesprobe en sluit af met een niet-nulcode wanneer die leesprobe mislukt. Kan niet worden gecombineerd met
--no-probe.Status semantics
Status semantics
gateway statusblijft beschikbaar voor diagnostiek, zelfs wanneer de lokale CLI-configuratie ontbreekt of ongeldig is.- Standaard
gateway statusbewijst servicestatus, WebSocket-verbinding en de auth-capability die zichtbaar is tijdens de handshake. Het bewijst geen lees-/schrijf-/adminbewerkingen. - Diagnostische probes muteren niets voor eerste apparaatauthenticatie: ze hergebruiken een bestaande gecachte apparaattoken wanneer die bestaat, maar ze maken geen nieuwe CLI-apparaatidentiteit of alleen-lezen apparaatkoppelingsrecord aan alleen om status te controleren.
gateway statuslost geconfigureerde auth SecretRefs voor probe-authenticatie op wanneer dat mogelijk is.- Als een vereiste auth SecretRef in dit commandopad niet is opgelost, rapporteert
gateway status --jsonrpc.authWarningwanneer probe-connectiviteit/authenticatie mislukt; geef--token/--passwordexpliciet door of los eerst de secret-bron op. - Als de probe slaagt, worden waarschuwingen over niet-opgeloste auth-refs onderdrukt om fout-positieven te vermijden.
- Gebruik
--require-rpcin scripts en automatisering wanneer een luisterende service niet genoeg is en ook RPC-aanroepen met leesbereik gezond moeten zijn. --deepvoegt een best-effort scan toe voor extra launchd/systemd/schtasks-installaties. Wanneer meerdere gateway-achtige services worden gedetecteerd, toont de menselijke uitvoer opruimhints en waarschuwt die dat de meeste opstellingen één Gateway per machine zouden moeten draaien.--deeprapporteert ook een recente Gateway supervisor-herstartoverdracht wanneer het serviceproces netjes is afgesloten voor een externe supervisor-herstart.--deepvoert configuratievalidatie uit in plugin-bewuste modus (pluginValidation: "full") en toont geconfigureerde waarschuwingen uit Plugin-manifests (bijvoorbeeld ontbrekende kanaalconfiguratiemetadata), zodat install- en update-smokechecks ze vinden. Standaardgateway statusbehoudt het snelle alleen-lezen pad dat pluginvalidatie overslaat.- Menselijke uitvoer bevat het opgeloste pad naar het bestandslog plus een snapshot van CLI-versus-serviceconfiguratiepaden/geldigheid om profiel- of state-dir-afwijkingen te helpen diagnosticeren.
Linux systemd auth-drift checks
Linux systemd auth-drift checks
- Op Linux systemd-installaties lezen service-auth-driftcontroles zowel
Environment=- alsEnvironmentFile=-waarden uit de unit (inclusief%h, paden tussen aanhalingstekens, meerdere bestanden en optionele--bestanden). - Driftcontroles lossen
gateway.auth.tokenSecretRefs op met samengevoegde runtime-env (eerst servicecommando-env, daarna process-env als fallback). - Als token-auth niet effectief actief is (expliciete
gateway.auth.modevanpassword/none/trusted-proxy, of modus niet ingesteld waarbij wachtwoord kan winnen en geen tokenkandidaat kan winnen), slaan token-driftcontroles configuratietokenresolutie over.
gateway probe
gateway probe is het commando voor “alles debuggen”. Het proeft altijd:
- je geconfigureerde externe Gateway (indien ingesteld), en
- localhost (loopback) zelfs als remote is geconfigureerd.
--url doorgeeft, wordt dat expliciete doel vóór beide toegevoegd. Menselijke uitvoer labelt de doelen als:
URL (explicit)Remote (configured)ofRemote (configured, inactive)Local loopback
Als meerdere gateways bereikbaar zijn, worden ze allemaal afgedrukt. Meerdere gateways worden ondersteund wanneer je geïsoleerde profielen/poorten gebruikt (bijv. een rescue-bot), maar de meeste installaties draaien nog steeds één Gateway.
Interpretation
Interpretation
Reachable: yesbetekent dat ten minste één doel een WebSocket-verbinding heeft geaccepteerd.Capability: read-only|write-capable|admin-capable|pairing-pending|connect-onlyrapporteert wat de probe over auth kon bewijzen. Dit staat los van bereikbaarheid.Read probe: okbetekent dat RPC-aanroepen voor details met leesbereik (health/status/system-presence/config.get) ook zijn geslaagd.Read probe: limited - missing scope: operator.readbetekent dat de verbinding is geslaagd, maar RPC met leesbereik beperkt is. Dit wordt gerapporteerd als verminderde bereikbaarheid, niet als volledige fout.Read probe: failednaConnect: okbetekent dat de Gateway de WebSocket-verbinding heeft geaccepteerd, maar dat vervolgleesdiagnostiek is verlopen of mislukt. Dit is ook verminderde bereikbaarheid, geen onbereikbare Gateway.- Net als
gateway statushergebruikt probe bestaande gecachte apparaatauthenticatie, maar maakt het geen eerste apparaatidentiteit of koppelingsstatus aan. - De exitcode is alleen niet-nul wanneer geen enkel geprobed doel bereikbaar is.
JSON output
JSON output
Hoogste niveau:
ok: ten minste één doel is bereikbaar.degraded: ten minste één doel heeft een verbinding geaccepteerd, maar heeft de volledige detail-RPC-diagnostiek niet voltooid.capability: beste capability die over bereikbare doelen is gezien (read_only,write_capable,admin_capable,pairing_pending,connected_no_operator_scopeofunknown).primaryTargetId: beste doel om als actieve winnaar te behandelen in deze volgorde: expliciete URL, SSH-tunnel, geconfigureerde remote en daarna local loopback.warnings[]: best-effort waarschuwingsrecords metcode,messageen optioneletargetIds.network: hints voor local loopback-/tailnet-URL’s afgeleid van de huidige configuratie en hostnetwerken.discovery.timeoutMsendiscovery.count: het daadwerkelijke discovery-budget/resultaantal dat voor deze probe-run is gebruikt.
targets[].connect):ok: bereikbaarheid na verbinding + degraded-classificatie.rpcOk: volledig detail-RPC-succes.scopeLimited: detail-RPC is mislukt door ontbrekend operatorbereik.
targets[].auth):role: auth-rol gerapporteerd inhello-okwanneer beschikbaar.scopes: toegekende scopes gerapporteerd inhello-okwanneer beschikbaar.capability: de getoonde auth-capabilityclassificatie voor dat doel.
Common warning codes
Common warning codes
ssh_tunnel_failed: SSH-tunnelconfiguratie is mislukt; het commando viel terug op directe probes.multiple_gateways: meer dan één doel was bereikbaar; dit is ongebruikelijk tenzij je bewust geïsoleerde profielen draait, zoals een rescue-bot.auth_secretref_unresolved: een geconfigureerde auth SecretRef kon niet worden opgelost voor een mislukt doel.probe_scope_limited: WebSocket-verbinding is geslaagd, maar de leesprobe werd beperkt door ontbrekendeoperator.read.
Remote via SSH (pariteit met Mac-app)
De macOS-appmodus “Remote via SSH” gebruikt een lokale port-forward zodat de externe Gateway (die mogelijk alleen aan loopback gebonden is) bereikbaar wordt opws://127.0.0.1:<port>.
CLI-equivalent:
user@host of user@host:port (poort is standaard 22).Identiteitsbestand.
Kies de eerste ontdekte Gateway-host als SSH-doel uit het opgeloste discovery-eindpunt (
local. plus het geconfigureerde wide-area-domein, indien aanwezig). TXT-only hints worden genegeerd.gateway.remote.sshTargetgateway.remote.sshIdentity
gateway call <method>
Low-level RPC-helper.
JSON-objectstring voor params.
Gateway WebSocket-URL.
Gateway-token.
Gateway-wachtwoord.
Time-outbudget.
Vooral voor agent-achtige RPC’s die tussentijdse events streamen vóór een finale payload.
Machineleesbare JSON-uitvoer.
--params moet geldige JSON zijn.De Gateway-service beheren
Installeren met een wrapper
Gebruik--wrapper wanneer de beheerde service via een ander uitvoerbaar bestand moet starten, bijvoorbeeld een
secrets manager-shim of een run-as-helper. De wrapper ontvangt de normale Gateway-argumenten en is
verantwoordelijk voor het uiteindelijk exec’en van openclaw of Node met die argumenten.
gateway install valideert dat het pad een
uitvoerbaar bestand is, schrijft de wrapper naar service ProgramArguments en bewaart
OPENCLAW_WRAPPER in de serviceomgeving voor latere geforceerde herinstallaties, updates en doctor-
reparaties.
OPENCLAW_WRAPPER leeg tijdens het opnieuw installeren:
Command options
Command options
gateway status:--url,--token,--password,--timeout,--no-probe,--require-rpc,--deep,--jsongateway install:--port,--runtime <node|bun>,--token,--wrapper <path>,--force,--jsongateway restart:--safe,--skip-deferral,--force,--wait <duration>,--jsongateway uninstall|start:--jsongateway stop:--disable,--json
Levenscyclusgedrag
Levenscyclusgedrag
- Gebruik
gateway restartom een beheerde service opnieuw te starten. Koppelgateway stopengateway startniet aan elkaar als vervanging voor opnieuw starten. - Op macOS gebruikt
gateway stopstandaardlaunchctl bootout, waarmee de LaunchAgent uit de huidige opstartsessie wordt verwijderd zonder een uitschakeling blijvend te maken — automatische KeepAlive-herstel blijft actief voor toekomstige crashes engateway startschakelt opnieuw netjes in zonder handmatigelaunchctl enable. Geef--disabledoor om KeepAlive en RunAtLoad blijvend te onderdrukken, zodat de gateway niet opnieuw start tot de volgende explicietegateway start; gebruik dit wanneer een handmatige stop herstarts of systeemherstarts moet overleven. gateway restart --safevraagt de draaiende Gateway om actief OpenClaw-werk vooraf te controleren en de herstart uit te stellen totdat antwoordlevering, ingesloten runs en taakruns zijn leeggemaakt.--safekan niet worden gecombineerd met--forceof--wait.gateway restart --wait 30soverschrijft het geconfigureerde drainbudget voor die herstart. Kale getallen zijn milliseconden; eenheden zoalss,menhworden geaccepteerd.--wait 0wacht onbeperkt.gateway restart --safe --skip-deferralvoert de OpenClaw-bewuste veilige herstart uit, maar omzeilt de uitstelpoort zodat de Gateway de herstart onmiddellijk uitstoot, zelfs wanneer blokkades worden gemeld. Nooduitgang voor operators bij vastgelopen taakrun-uitstel; vereist--safe.gateway restart --forceslaat het leegmaken van actief werk over en start onmiddellijk opnieuw. Gebruik dit wanneer een operator de vermelde taakblokkades al heeft gecontroleerd en de gateway nu terug wil.- Levenscyclusopdrachten accepteren
--jsonvoor scripting.
Authenticatie en SecretRefs tijdens installatie
Authenticatie en SecretRefs tijdens installatie
- Wanneer tokenauthenticatie een token vereist en
gateway.auth.tokendoor SecretRef wordt beheerd, valideertgateway installdat de SecretRef oplosbaar is, maar wordt het opgeloste token niet opgeslagen in service-omgevingsmetadata. - Als tokenauthenticatie een token vereist en de geconfigureerde token-SecretRef niet oplosbaar is, mislukt de installatie gesloten in plaats van terugval-plattetekst op te slaan.
- Geef voor wachtwoordauthenticatie bij
gateway runde voorkeur aanOPENCLAW_GATEWAY_PASSWORD,--password-fileof een door SecretRef ondersteundegateway.auth.passwordboven inline--password. - In afgeleide authenticatiemodus versoepelt shell-only
OPENCLAW_GATEWAY_PASSWORDde tokenvereisten voor installatie niet; gebruik duurzame configuratie (gateway.auth.passwordof configenv) bij het installeren van een beheerde service. - Als zowel
gateway.auth.tokenalsgateway.auth.passwordzijn geconfigureerd engateway.auth.modeniet is ingesteld, wordt installatie geblokkeerd totdat de modus expliciet is ingesteld.
Gateways ontdekken (Bonjour)
gateway discover scant op Gateway-bakens (_openclaw-gw._tcp).
- Multicast DNS-SD:
local. - Unicast DNS-SD (Wide-Area Bonjour): kies een domein (voorbeeld:
openclaw.internal.) en stel split DNS + een DNS-server in; zie Bonjour.
role(hint voor gatewayrol)transport(transporthint, bijv.gateway)gatewayPort(WebSocket-poort, meestal18789)sshPort(alleen volledige detectiemodus; clients gebruiken standaard SSH-doelen op22wanneer dit ontbreekt)tailnetDns(MagicDNS-hostnaam, indien beschikbaar)gatewayTls/gatewayTlsSha256(TLS ingeschakeld + certificaatvingerafdruk)cliPath(alleen volledige detectiemodus)
gateway discover
Timeout per opdracht (browse/resolve).
Machineleesbare uitvoer (schakelt ook styling/spinner uit).
- De CLI scant
local.plus het geconfigureerde wide-area-domein wanneer er een is ingeschakeld. wsUrlin JSON-uitvoer wordt afgeleid van het opgeloste service-eindpunt, niet van TXT-only hints zoalslanHostoftailnetDns.- Op
local.mDNS en wide-area DNS-SD wordensshPortencliPathalleen gepubliceerd wanneerdiscovery.mdns.modefullis.