CLI commands
Gateway
De Gateway is OpenClaw's WebSocket-server (kanalen, nodes, sessies, hooks). Subcommando's op deze pagina vallen onder openclaw gateway ….
Lokale mDNS + wide-area DNS-SD-installatie.
Hoe OpenClaw gateways adverteert en vindt.
Configuratiesleutels op het hoogste gateway-niveau.
De Gateway uitvoeren
Voer een lokaal Gateway-proces uit:
openclaw gateway
Voorgrondalias:
openclaw gateway run
Startup behavior
- Standaard weigert de Gateway te starten tenzij
gateway.mode=localis ingesteld in~/.openclaw/openclaw.json. Gebruik--allow-unconfiguredvoor ad-hoc-/ontwikkelruns. - Van
openclaw onboard --mode localenopenclaw setupwordt verwacht dat zegateway.mode=localschrijven. Als het bestand bestaat maargateway.modeontbreekt, behandel dat dan als een kapotte 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 deze voor je "lokaal te raden". - Binding buiten loopback zonder auth wordt geblokkeerd (veiligheidsvangrail).
SIGUSR1activeert een herstart binnen het proces wanneer dit geautoriseerd is (commands.restartis standaard ingeschakeld; stelcommands.restart: falsein om handmatig herstarten te blokkeren, terwijl toepassen/bijwerken van Gateway-tools/-configuratie toegestaan blijft).SIGINT/SIGTERM-handlers stoppen het Gateway-proces, maar herstellen geen aangepaste terminalstatus. Als je de CLI inpakt met een TUI of raw-mode-invoer, herstel dan de terminal voordat je afsluit.
Opties
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcG9ydCA8cG9ydA
" type="number">
WebSocket-poort (standaardwaarde komt uit configuratie/env; meestal 18789).
"--bind"--authOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tdG9rZW4gPHRva2Vu
" type="string">
Overschrijving van token (stelt ook OPENCLAW_GATEWAY_TOKEN in voor het proces).
"--password"--tailscale--tailscale-reset-on-exitbooleanReset de Tailscale serve/funnel-configuratie bij afsluiten.
--allow-unconfiguredbooleanSta toe dat de Gateway start zonder gateway.mode=local in de configuratie. Omzeilt de startbeveiliging alleen voor ad-hoc-/ontwikkelbootstrap; schrijft of herstelt het configuratiebestand niet.
--devbooleanMaak een ontwikkelconfiguratie + werkruimte aan als deze ontbreken (slaat BOOTSTRAP.md over).
--resetbooleanReset ontwikkelconfiguratie + referenties + sessies + werkruimte (vereist --dev).
--forcebooleanBeëindig een bestaande listener op de geselecteerde poort voordat wordt gestart.
--verbosebooleanUitgebreide logs.
--cli-backend-logsbooleanToon alleen CLI-backendlogs in de console (en schakel stdout/stderr in).
"--ws-log--compactbooleanAlias voor --ws-log compact.
--raw-streambooleanLog ruwe modelstreamevents naar jsonl.
De Gateway herstarten
openclaw gateway restart
openclaw gateway restart --safe
openclaw gateway restart --force
openclaw gateway restart --safe vraagt de actieve Gateway om actief OpenClaw-werk vooraf te controleren voordat er opnieuw wordt gestart. Als bewerkingen in de wachtrij, antwoordbezorging, embedded runs of taakruns actief zijn, rapporteert de Gateway de blokkades, voegt deze dubbele veilige herstartverzoeken samen en herstart zodra het actieve werk is afgehandeld. Gewoon restart behoudt het bestaande service-manager-gedrag voor compatibiliteit. Gebruik --force alleen wanneer je expliciet het directe overschrijvingspad wilt.
Startprofilering
- Stel
OPENCLAW_GATEWAY_STARTUP_TRACE=1in om fasetimings tijdens het starten van de Gateway te loggen, inclusiefeventLoopMax-vertraging per fase en timings voor Plugin-opzoektabellen voor installed-index, manifestregister, startplanning en owner-map-werk. - Stel
OPENCLAW_DIAGNOSTICS=timelinein metOPENCLAW_DIAGNOSTICS_TIMELINE_PATH=<path>om een best-effort JSONL-startdiagnostiektijdlijn 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 start van de Gateway te benchmarken. De benchmark registreert eerste procesuitvoer,/healthz,/readyz, starttracetimings, event-loop-vertraging en timingdetails van Plugin-opzoektabellen.
Een actieve Gateway opvragen
Alle querycommando's gebruiken WebSocket-RPC.
Output modes
- Standaard: leesbaar voor mensen (gekleurd in TTY).
--json: machineleesbare JSON (geen styling/spinner).--no-color(ofNO_COLOR=1): schakel ANSI uit terwijl de menselijke lay-out behouden blijft.
Shared options
--url <url>: Gateway-WebSocket-URL.--token <token>: Gateway-token.--password <password>: Gateway-wachtwoord.--timeout <ms>: timeout/budget (verschilt per commando).--expect-final: wacht op een "final"-antwoord (agentaanroepen).
gateway health
openclaw gateway health --url ws://127.0.0.1:18789
Het HTTP-/healthz-eindpunt is een liveness-probe: het retourneert zodra de server HTTP kan beantwoorden. Het HTTP-/readyz-eindpunt is strikter en blijft rood terwijl Plugin-sidecars, kanalen of geconfigureerde hooks bij het starten nog aan het stabiliseren zijn. Lokale of geauthenticeerde gedetailleerde readiness-antwoorden 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.
openclaw gateway usage-cost
openclaw gateway usage-cost --days 7
openclaw gateway usage-cost --json
"--days gateway stability
Haal de recente diagnostische stabiliteitsrecorder op uit een actieve Gateway.
openclaw gateway stability
openclaw gateway stability --type payload.large
openclaw gateway stability --bundle latest
openclaw gateway stability --bundle latest --export
openclaw gateway stability --json
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tbGltaXQgPGxpbWl0
" type="number" default="25">
Maximumaantal recente events om op te nemen (max. 1000).
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tdHlwZSA8dHlwZQ
" type="string">
Filter op diagnostisch eventtype, zoals payload.large of diagnostic.memory.pressure.
"--since-seq--bundle [path]stringLees 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 naar een bundel door.
--exportbooleanSchrijf een deelbare zip met supportdiagnostiek in plaats van stabiliteitsdetails af te drukken.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tb3V0cHV0IDxwYXRo
" type="string">
Uitvoerpad voor --export.
Privacy and bundle behavior
- Records bewaren operationele metadata: eventnamen, aantallen, bytegroottes, geheugenmetingen, wachtrij-/sessiestatus, kanaal-/Plugin-namen en geredigeerde sessiesamenvattingen. Ze bewaren geen chattekst, Webhook-bodies, tooluitvoer, ruwe request- of response-bodies, tokens, cookies, geheime waarden, hostnamen of ruwe sessie-id's. Stel
diagnostics.enabled: falsein om de recorder volledig uit te schakelen. - Bij fatale Gateway-afsluitingen, timeouts bij afsluiten en fouten tijdens herstarten 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-seqgelden ook voor bundeluitvoer.
gateway diagnostics export
Schrijf een lokale diagnostiekzip die is bedoeld om aan bugrapporten toe te voegen. Zie Diagnostiekexport voor het privacymodel en de bundelinhoud.
openclaw gateway diagnostics export
openclaw gateway diagnostics export --output openclaw-diagnostics.zip
openclaw gateway diagnostics export --json
"--log-lines"--log-bytes"--url"--token"--password"--timeout--no-stability-bundlebooleanSla het opzoeken van opgeslagen stabiliteitsbundels over.
--jsonbooleanDruk het geschreven pad, de grootte en het manifest af als JSON.
De export bevat een manifest, een Markdown-samenvatting, configuratievorm, opgeschoonde configuratiedetails, opgeschoonde logsamenvattingen, opgeschoonde Gateway-status-/health-snapshots en de nieuwste stabiliteitsbundel wanneer die bestaat.
Deze is bedoeld om te delen. De export bewaart operationele details die helpen bij debuggen, zoals veilige OpenClaw-logvelden, subsystemnamen, statuscodes, duurwaarden, geconfigureerde modi, poorten, Plugin-id's, provider-id's, niet-geheime feature-instellingen en geredigeerde operationele logberichten. Chattekst, Webhook-bodies, tooluitvoer, referenties, cookies, account-/bericht-id's, prompt-/instructietekst, hostnamen en geheime waarden worden weggelaten of geredigeerd. Wanneer een LogTape-achtig bericht lijkt op tekst van een gebruikers-/chat-/toolpayload, bewaart de export alleen dat een bericht is weggelaten plus het aantal bytes ervan.
gateway status
gateway status toont de Gateway-service (launchd/systemd/schtasks) plus een optionele probe van connectiviteit/auth-mogelijkheden.
openclaw gateway status
openclaw gateway status --json
openclaw gateway status --require-rpc
"--url"--token"--password"--timeout--no-probebooleanSla de connectiviteitsprobe over (alleen serviceweergave).
--deepbooleanScan ook services op systeemniveau.
--require-rpcbooleanUpgrade de standaard connectiviteitsprobe naar een leesprobe en sluit af met een niet-nulwaarde wanneer die leesprobe mislukt. Kan niet worden gecombineerd met --no-probe.
Statussemantiek
gateway statusblijft beschikbaar voor diagnostiek, zelfs wanneer de lokale CLI-configuratie ontbreekt of ongeldig is.- Standaard bewijst
gateway statusde servicestatus, WebSocket-verbinding en de authenticatiecapaciteit die zichtbaar is tijdens de handshake. Het bewijst geen lees-/schrijf-/beheerbewerkingen. - Diagnostische probes muteren niets voor eerste apparaat-authenticatie: ze hergebruiken een bestaande gecachete apparaattoken wanneer die bestaat, maar maken geen nieuwe CLI-apparaatidentiteit of alleen-lezen apparaatkoppelingsrecord aan alleen om de status te controleren.
gateway statuslost geconfigureerde authenticatie-SecretRefs op voor probe-authenticatie wanneer dat mogelijk is.- Als een vereiste authenticatie-SecretRef in dit commandopad niet kan worden opgelost, meldt
gateway status --jsonrpc.authWarningwanneer probe-connectiviteit/-authenticatie mislukt; geef--token/--passwordexpliciet door of los eerst de geheime bron op. - Als de probe slaagt, worden waarschuwingen over niet-opgeloste auth-referenties onderdrukt om fout-positieven te vermijden.
- Gebruik
--require-rpcin scripts en automatisering wanneer een luisterende service niet genoeg is en RPC-aanroepen met leesbereik ook gezond moeten zijn. --deepvoegt een best-effort scan toe voor extra launchd-/systemd-/schtasks-installaties. Wanneer meerdere gateway-achtige services worden gedetecteerd, toont mensleesbare uitvoer opruimtips en waarschuwt die dat de meeste setups één Gateway per machine zouden moeten draaien.--deepmeldt ook een recente overdracht van een Gateway-supervisorherstart wanneer het serviceproces netjes is afgesloten voor een externe supervisorherstart.- Mensleesbare uitvoer bevat het opgeloste bestandslogpad plus een snapshot van de CLI-versus-service-configuratiepaden/-geldigheid om profiel- of state-dir-afwijkingen te helpen diagnosticeren.
Linux systemd-controles op auth-drift
- Bij Linux systemd-installaties lezen controles op service-auth-drift zowel
Environment=- alsEnvironmentFile=-waarden uit de unit (inclusief%h, gequote paden, meerdere bestanden en optionele--bestanden). - Driftcontroles lossen
gateway.auth.tokenSecretRefs op met de samengevoegde runtime-omgeving (eerst de servicecommando-omgeving, daarna de procesomgeving als fallback). - Als tokenauthenticatie feitelijk niet 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 de opdracht voor "alles debuggen". Deze probeit altijd:
- je geconfigureerde remote gateway (als die is ingesteld), en
- localhost (loopback) zelfs als remote is geconfigureerd.
Als je --url doorgeeft, wordt dat expliciete doel vóór beide toegevoegd. Mensleesbare uitvoer labelt de doelen als:
URL (explicit)Remote (configured)ofRemote (configured, inactive)Local loopback
openclaw gateway probe
openclaw gateway probe --json
Interpretatie
Reachable: yesbetekent dat ten minste één doel een WebSocket-verbinding heeft geaccepteerd.Capability: read-only|write-capable|admin-capable|pairing-pending|connect-onlymeldt wat de probe over authenticatie kon bewijzen. Dit staat los van bereikbaarheid.Read probe: okbetekent dat detail-RPC-aanroepen met leesbereik (health/status/system-presence/config.get) ook zijn geslaagd.Read probe: limited - missing scope: operator.readbetekent dat verbinden is gelukt, maar dat RPC met leesbereik beperkt is. Dit wordt gemeld als verminderde bereikbaarheid, niet als volledige mislukking.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 gecachete apparaatauthenticatie, maar maakt het geen eerste apparaatidentiteit of koppelingsstatus aan. - De afsluitcode is alleen niet nul wanneer geen enkel geprobed doel bereikbaar is.
JSON-uitvoer
Bovenste niveau:
ok: ten minste één doel is bereikbaar.degraded: ten minste één doel heeft een verbinding geaccepteerd, maar heeft niet alle detail-RPC-diagnostiek voltooid.capability: beste capaciteit die is gezien over bereikbare doelen (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: local loopback-/tailnet-URL-hints afgeleid van de huidige configuratie en hostnetwerken.discovery.timeoutMsendiscovery.count: het daadwerkelijke discovery-budget/resultaantal dat voor deze probe-run is gebruikt.
Per doel (targets[].connect):
ok: bereikbaarheid na verbinding + classificatie als verminderd.rpcOk: volledige detail-RPC geslaagd.scopeLimited: detail-RPC mislukt door ontbrekend operatorbereik.
Per doel (targets[].auth):
role: authenticatierol gerapporteerd inhello-okwanneer beschikbaar.scopes: toegekende bereiken gerapporteerd inhello-okwanneer beschikbaar.capability: de getoonde classificatie van authenticatiecapaciteit voor dat doel.
Veelvoorkomende waarschuwingscodes
ssh_tunnel_failed: instellen van SSH-tunnel is mislukt; de opdracht 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 reddingsbot.auth_secretref_unresolved: een geconfigureerde authenticatie-SecretRef kon niet worden opgelost voor een mislukt doel.probe_scope_limited: WebSocket-verbinding is gelukt, maar de leesprobe was beperkt door ontbrekendeoperator.read.
Remote via SSH (pariteit met Mac-app)
De modus "Remote via SSH" van de macOS-app gebruikt een lokale port-forward zodat de remote gateway (die mogelijk alleen aan loopback is gebonden) bereikbaar wordt op ws://127.0.0.1:<port>.
CLI-equivalent:
openclaw gateway probe --ssh user@gateway-host
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tc3NoIDx0YXJnZXQ
" type="string">
user@host of user@host:port (poort is standaard 22).
--ssh-autobooleanKies de eerste ontdekte gateway-host als SSH-doel uit het opgeloste discovery-eindpunt (local. plus het geconfigureerde wide-area domein, indien aanwezig). Alleen-TXT-hints worden genegeerd.
Configuratie (optioneel, gebruikt als standaardwaarden):
gateway.remote.sshTargetgateway.remote.sshIdentity
gateway call <method>
Low-level RPC-helper.
openclaw gateway call status
openclaw gateway call logs.tail --params '{"sinceMs": 60000}'
"--params"--url"--token"--password"--timeout--expect-finalbooleanVooral voor agent-achtige RPC's die tussentijdse events streamen vóór een definitieve payload.
--jsonbooleanMachinaal leesbare JSON-uitvoer.
De Gateway-service beheren
openclaw gateway install
openclaw gateway start
openclaw gateway stop
openclaw gateway restart
openclaw gateway uninstall
Installeren met een wrapper
Gebruik --wrapper wanneer de beheerde service moet starten via een ander uitvoerbaar bestand, bijvoorbeeld een
shim voor secretsbeheer 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.
cat > ~/.local/bin/openclaw-doppler <<'EOF'
#!/usr/bin/env bash
set -euo pipefail
exec doppler run --project my-project --config production -- openclaw "$@"
EOF
chmod +x ~/.local/bin/openclaw-doppler
openclaw gateway install --wrapper ~/.local/bin/openclaw-doppler --force
openclaw gateway restart
Je kunt de wrapper ook via de omgeving instellen. 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="$HOME/.local/bin/openclaw-doppler" openclaw gateway install --force
openclaw doctor
Om een bewaarde wrapper te verwijderen, wis je OPENCLAW_WRAPPER tijdens het herinstalleren:
OPENCLAW_WRAPPER= openclaw gateway install --force
openclaw gateway restart
Commando-opties
gateway status:--url,--token,--password,--timeout,--no-probe,--require-rpc,--deep,--jsongateway install:--port,--runtime <node|bun>,--token,--wrapper <path>,--force,--jsongateway restart:--safe,--force,--wait <duration>,--jsongateway uninstall|start|stop:--json
Lifecycle-gedrag
- Gebruik
gateway restartom een beheerde service opnieuw te starten. Ketengateway stopengateway startniet als vervanging voor een herstart; op macOS schakeltgateway stopde LaunchAgent bewust uit voordat deze wordt gestopt. gateway restart --safevraagt de draaiende Gateway om actief OpenClaw-werk vooraf te controleren en de herstart uit te stellen totdat antwoordlevering, embedded runs en taakruns zijn leeggelopen.--safekan niet worden gecombineerd met--forceof--wait.gateway restart --wait 30soverschrijft het geconfigureerde drain-budget voor herstarts voor die herstart. Losse getallen zijn milliseconden; eenheden zoalss,menhworden geaccepteerd.--wait 0wacht onbeperkt.gateway restart --forceslaat het leeglopen van actief werk over en herstart onmiddellijk. Gebruik dit wanneer een operator de vermelde taakblokkades al heeft geïnspecteerd en de gateway nu terug wil.- Lifecycle-commando's accepteren
--jsonvoor scripting.
Auth en SecretRefs tijdens installatie
- Wanneer tokenauth een token vereist en
gateway.auth.tokendoor SecretRef wordt beheerd, valideertgateway installdat de SecretRef kan worden opgelost, maar slaat het opgeloste token niet op in metadata van de serviceomgeving. - Als tokenauth een token vereist en de geconfigureerde token-SecretRef niet is opgelost, faalt de installatie gesloten in plaats van platte fallback-tekst op te slaan.
- Geef voor wachtwoordauth bij
gateway runde voorkeur aanOPENCLAW_GATEWAY_PASSWORD,--password-fileof een door SecretRef ondersteundegateway.auth.passwordboven inline--password. - In afgeleide auth-modus versoepelt alleen-shell
OPENCLAW_GATEWAY_PASSWORDde vereisten voor installatietokens 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 naar 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.
Alleen gateways waarvoor Bonjour-detectie is ingeschakeld (standaard) adverteren het baken.
Wide-Area-detectierecords bevatten (TXT):
role(hint voor gatewayrol)transport(transporthint, bijv.gateway)gatewayPort(WebSocket-poort, meestal18789)sshPort(optioneel; clients gebruiken standaard22als SSH-doel wanneer deze ontbreekt)tailnetDns(MagicDNS-hostnaam, indien beschikbaar)gatewayTls/gatewayTlsSha256(TLS ingeschakeld + certificaatvingerafdruk)cliPath(hint voor externe installatie die naar de wide-area-zone wordt geschreven)
gateway discover
openclaw gateway discover
"--timeout--jsonbooleanMachineleesbare uitvoer (schakelt ook styling/spinner uit).
Voorbeelden:
openclaw gateway discover --timeout 4000
openclaw gateway discover --json | jq '.beacons[].wsUrl'