CLI commands
Gateway
De Gateway is de WebSocket-server van OpenClaw (kanalen, nodes, sessies, hooks). Alle onderstaande subopdrachten vallen onder openclaw gateway ....
Lokale mDNS- en wide-area DNS-SD-configuratie.
Hoe OpenClaw gateways aankondigt en vindt.
Configuratiesleutels op het hoogste niveau voor de Gateway.
De Gateway uitvoeren
openclaw gatewayopenclaw gateway run # gelijkwaardige, expliciete vormOpstartgedrag
- Weigert te starten tenzij
gateway.mode=localis ingesteld in~/.openclaw/openclaw.json. Gebruik--allow-unconfiguredvoor ad-hoc-/ontwikkeluitvoeringen; dit omzeilt de beveiliging zonder configuratie te schrijven of te repareren. - Wanneer bij het opstarten een herstelbare ongeldige configuratie wordt gevonden, biedt een interactieve terminal aan om
openclaw doctor --fixuit te voeren en wordt na toestemming eenmaal opnieuw geprobeerd op te starten. Niet-interactieve uitvoeringen repareren nooit automatisch; ze tonen in plaats daarvan de opdracht. Als de gerepareerde configuratie nog steeds ongeldig is, blijft het opstarten geblokkeerd. openclaw onboard --mode localenopenclaw setupschrijvengateway.mode=local. Als het configuratiebestand bestaat maargateway.modeontbreekt, wordt dit behandeld als een beschadigde/overschreven configuratie en weigert de Gatewaylocalvoor je te raden — voer de onboarding opnieuw uit, stel de sleutel handmatig in of geef--allow-unconfigureddoor.- Binden buiten loopback zonder authenticatie wordt geblokkeerd.
--bind-waardenlan,tailnetencustomworden momenteel via uitsluitend-IPv4-paden omgezet; uitsluitend-IPv6-configuraties met een eigen host vereisen een IPv4-sidecar of proxy vóór de Gateway.SIGUSR1activeert na autorisatie een herstart binnen het proces.commands.restart(standaard: ingeschakeld) regelt extern verzondenSIGUSR1; stel dit in opfalseom handmatige herstarts via besturingssysteemsignalen te blokkeren. De agentgerichte toolgatewayis alleen-lezen; agents vragen een herstart aan via de door een mens goedgekeurde delegatietoolopenclaw.SIGINT/SIGTERMstoppen het proces, maar herstellen geen aangepaste terminalstatus — als je de CLI in een TUI of invoer in raw-modus verpakt, herstel je de terminal zelf vóór het afsluiten.
Opties
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcG9ydCA8cG9ydA
" type="number">
WebSocket-poort (standaard uit configuratie/omgeving; meestal 18789).
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tYmluZCA8bW9kZQ
" type="string">
Bindmodus: loopback (standaard), lan, tailnet, auto, custom.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tdG9rZW4gPHRva2Vu
" type="string">
Gedeeld token voor connect.params.auth.token. Standaard OPENCLAW_GATEWAY_TOKEN wanneer dit is ingesteld.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tYXV0aCA8bW9kZQ
" type="string">
Authenticatiemodus: none, token, password, trusted-proxy.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcGFzc3dvcmQgPHBhc3N3b3Jk
" type="string">
Wachtwoord voor --auth password.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tdGFpbHNjYWxlIDxtb2Rl
" type="string">
Tailscale-blootstelling: off, serve, funnel.
--tailscale-reset-on-exitbooleanStel de serve-/funnelconfiguratie van Tailscale bij het afsluiten opnieuw in.
--allow-unconfiguredbooleanStart zonder gateway.mode=local af te dwingen. Alleen voor ad-hoc-/ontwikkelbootstrap; configuratie wordt niet opgeslagen of gerepareerd.
--devbooleanMaak een ontwikkelconfiguratie en werkruimte als deze ontbreken (slaat BOOTSTRAP.md over).
--dev-ambient-channelsbooleanSta toe dat een ontwikkel-Gateway kanalen automatisch configureert vanuit omgevingsvariabelen in de omgeving. Vereist --dev.
--resetbooleanStel ontwikkelconfiguratie, inloggegevens, sessies en werkruimte opnieuw in. Vereist --dev.
--forcebooleanBeëindig vóór het starten elke bestaande listener op de doelpoort. In een niet-interactieve shell weigert dit een geverifieerde Gateway-listener te beëindigen; gebruik in plaats daarvan --dev of een geïsoleerde --profile met een vrije poort.
--verbosebooleanUitgebreide logboekregistratie naar stdout/stderr.
--cli-backend-logsbooleanToon alleen logboeken van de CLI-backend in de console (schakelt ook stdout/stderr in).
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0td3MtbG9nIDxzdHlsZQ
" type="string" default="auto">
WebSocket-logboekstijl: auto, full, compact.
--compactbooleanAlias voor --ws-log compact.
--raw-streambooleanRegistreer onbewerkte modelstreamgebeurtenissen in JSONL.
--claude-cli-logs is een verouderde alias voor --cli-backend-logs.
Stel voor --bind custom gateway.customBindHost in op een IPv4-adres. Elk ander adres dan 127.0.0.1 of 0.0.0.0 vereist op dezelfde poort ook 127.0.0.1 voor clients op dezelfde host; het opstarten mislukt als een van beide listeners niet kan binden. Jokerteken 0.0.0.0 voegt geen afzonderlijke vereiste alias toe. Uitsluitend-IPv6-configuraties met een eigen host vereisen een IPv4-sidecar of proxy vóór de Gateway.
De Gateway opnieuw starten
openclaw gateway restartopenclaw gateway restart --safeopenclaw gateway restart --safe --skip-deferralopenclaw gateway restart --forceopenclaw gateway restart --wait 30s--safe vraagt de actieve Gateway om actief werk vooraf te controleren en één samengevoegde herstart te plannen nadat dat werk is afgerond. De wachttijd is begrensd op 5 minuten; wanneer het tijdsbudget verstrijkt, wordt de herstart geforceerd. --safe kan niet worden gecombineerd met --force of --wait.
--skip-deferral omzeilt bij een veilige herstart de uitstelblokkering voor actief werk, zodat de Gateway onmiddellijk opnieuw wordt gestart, zelfs als er blokkeringen worden gemeld. Hiervoor is --safe vereist — gebruik dit wanneer uitstel vastzit door een onbeheersbare taak.
--wait <duration> overschrijft het budget voor het afronden van werk bij een gewone (niet-veilige) herstart. Accepteert milliseconden zonder eenheid of de eenheidsachtervoegsels ms, s, m, h, d (bijvoorbeeld 30s, 5m, 1h30m); --wait 0 wacht onbeperkt. Niet compatibel met --force of --safe.
--force slaat het afronden van actief werk over en start onmiddellijk opnieuw. Gewoon restart (zonder vlaggen) behoudt het bestaande herstartgedrag van de servicebeheerder.
Externe supervisors
Stel OPENCLAW_SUPERVISOR_MODE=external alleen in wanneer een andere procesbeheerder eigenaar is van de Gateway-levenscyclus. In deze modus:
openclaw gateway restartbehoudt het bestaande veilige, geforceerde en begrensde wachtgedrag, maar richt zich op de geverifieerde actieve Gateway in plaats van launchd, systemd of Taakplanner.- Bewerkingen voor het installeren, starten, stoppen en verwijderen van een systeemeigen service worden geweigerd, met de instructie om de externe supervisor te gebruiken.
- Zelfupdates van OpenClaw worden geweigerd, zodat de supervisor de Gateway kan stoppen, de runtime kan vervangen en voltooien en deze veilig opnieuw kan starten.
- Bij een herstart met een nieuw proces wordt vóór een nette afsluiting een begrensde SQLite-overdracht geschreven. Als opslag mislukt, valt de Gateway terug op een herstart binnen het proces in plaats van af te sluiten zonder een bruikbare overdracht.
OPENCLAW_SERVICE_REPAIR_POLICY=external blijft een afzonderlijk Doctor-reparatiebeleid. Het verklaart geen eigenaarschap van de runtime; supervisors die beide gedragingen nodig hebben, moeten beide variabelen instellen.
Externe supervisors kunnen via het verborgen machinecontract herstartoverdrachten onderhandelen en verwerken:
openclaw gateway restart-handoff capabilities --jsonopenclaw gateway restart-handoff consume --expected-pid <pid> --jsonProtocolversie 1 ondersteunt de bewerking consume. Bij verwerking worden de verwachte PID en begrensde overdrachtsvelden binnen één onmiddellijke SQLite-transactie gevalideerd. Een geaccepteerde overdracht wordt verwijderd voordat succes wordt geretourneerd, zodat gelijktijdige of herhaalde verwerkers deze niet allebei kunnen accepteren. Een niet-overeenkomende PID wordt bewaard voor de overeenkomende eigenaar; ontbrekende, verlopen en ongeldige rijen geven geen toestemming voor een herstart.
Geldige machineverzoeken retourneren JSON met afsluitcode 0, inclusief resultaten zonder herstart. Ongeldige argumenten retourneren reason: "invalid-expected-pid" met afsluitcode 2; fouten in de statusopslag retourneren reason: "store-unavailable" met afsluitcode 1. Supervisors moeten capabilities testen op exact de runtime of launcher die ze zullen gebruiken, in plaats van ondersteuning af te leiden uit een OpenClaw-versietekenreeks of het private SQLite-schema rechtstreeks te lezen.
Gateway-profilering
OPENCLAW_GATEWAY_STARTUP_TRACE=1registreert fasetijden tijdens het opstarten, waarondereventLoopMax-vertraging per fase en tijden van Plugin-opzoektabellen (installed-index, manifestregister, opstartplanning, owner-map-werk).OPENCLAW_GATEWAY_RESTART_TRACE=1registreert tot de herstart beperkterestart trace:-regels: signaalafhandeling, afronding van actief werk, afsluitfasen, volgende start, tijd tot gereedheid en geheugenstatistieken.OPENCLAW_DIAGNOSTICS=timelinemetOPENCLAW_DIAGNOSTICS_TIMELINE_PATH=<path>schrijft naar beste vermogen een JSONL-tijdlijn met diagnostiek van het opstarten voor externe QA-harnassen (gelijkwaardig aan configuratiediagnostics.flags: ["timeline"]; het pad blijft uitsluitend via de omgeving instelbaar). VoegOPENCLAW_DIAGNOSTICS_EVENT_LOOP=1toe om event-loop-samples op te nemen.pnpm builden vervolgenspnpm test:startup:gateway -- --runs 5 --warmup 1benchmarken het opstarten van de Gateway aan de hand van het gebouwde CLI-invoerpunt: eerste procesuitvoer,/healthz,/readyz, tijdmetingen van de opstarttrace, event-loop-vertraging en timing van Plugin-opzoektabellen.pnpm builden vervolgenspnpm test:restart:gateway -- --case skipChannels --runs 1 --restarts 5benchmarken een herstart binnen het proces op macOS of Linux (niet ondersteund op Windows; herstart vereistSIGUSR1). GebruiktSIGUSR1, schakelt beide traces in het onderliggende proces in en registreert volgende/healthz, volgende/readyz, uitvaltijd, tijd tot gereedheid, CPU, RSS en herstarttracestatistieken./healthzis levendheid;/readyzis bruikbare gereedheid. Behandel traceregels en benchmarkuitvoer als signalen voor toeschrijving aan de eigenaar, niet als een volledige prestatieconclusie op basis van één tijdspanne of sample.
Een actieve Gateway opvragen
Alle opvraagopdrachten gebruiken WebSocket-RPC.
Uitvoermodi
- Standaard: leesbaar voor mensen (gekleurd in TTY).
--json: machineleesbare JSON (geen opmaak/spinner).--no-color(ofNO_COLOR=1): schakel ANSI uit met behoud van de menselijke lay-out.
Gedeelde opties
--url <url>: WebSocket-URL van de Gateway.--token <token>: Gateway-token.--password <password>: Gateway-wachtwoord.--timeout <ms>: time-out/budget (de standaard verschilt per opdracht; zie elke opdracht hieronder).--expect-final: wacht op een 'definitief' antwoord (agentaanroepen).
gateway health
openclaw gateway health --url ws://127.0.0.1:18789openclaw gateway health --port 18789/healthz is een livenessprobe: deze retourneert zodra de server HTTP kan beantwoorden. /readyz is strenger en blijft rood terwijl sidecars van opstartende plugins, kanalen of geconfigureerde hooks nog worden geïnitialiseerd. Lokale of geauthenticeerde gedetailleerde /readyz-antwoorden bevatten een diagnostisch eventLoop-blok (vertraging, benutting, verhouding tot CPU-kernen, degraded-vlag).
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcG9ydCA8cG9ydA
" type="number">
Richt je op een lokale loopback-Gateway op deze poort. Overschrijft OPENCLAW_GATEWAY_URL en OPENCLAW_GATEWAY_PORT voor deze aanroep.
gateway usage-cost
Haal samenvattingen van gebruikskosten op uit sessielogboeken.
openclaw gateway usage-costopenclaw gateway usage-cost --days 7openclaw gateway usage-cost --agent work --jsonopenclaw gateway usage-cost --all-agentsopenclaw gateway usage-cost --json"--days"--agent--all-agentsbooleanAggregeer over alle geconfigureerde agents. Kan niet worden gecombineerd met --agent.
gateway stability
Haal de recente recorder voor diagnostische stabiliteit op uit een actieve Gateway.
openclaw gateway stabilityopenclaw gateway stability --type payload.largeopenclaw gateway stability --bundle latestopenclaw gateway stability --bundle latest --exportopenclaw gateway stability --jsonOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tbGltaXQgPGxpbWl0
" type="number" default="25">
Maximumaantal op te nemen recente gebeurtenissen (max. 1000).
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tdHlwZSA8dHlwZQ
" type="string">
Filter op type diagnostische gebeurtenis, bijvoorbeeld payload.large of diagnostic.memory.pressure.
"--since-seq--bundle [path]stringLees een opgeslagen stabiliteitsbundel in plaats van de actieve Gateway aan te roepen. --bundle latest (of alleen --bundle) selecteert de nieuwste bundel in de statusmap; je kunt ook rechtstreeks een pad naar een bundel-JSON doorgeven.
--exportbooleanSchrijf een deelbaar ZIP-bestand met ondersteuningsdiagnostiek in plaats van stabiliteitsdetails af te drukken.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tb3V0cHV0IDxwYXRo
" type="string">
Uitvoerpad voor --export.
Privacy en bundelgedrag
- Records bewaren operationele metagegevens: gebeurtenisnamen, aantallen, bytegroottes, geheugenmetingen, wachtrij-/sessiestatus, goedkeurings-id's, kanaal-/pluginnamen en geredigeerde sessiesamenvattingen. Ze sluiten chattekst, Webhook-bodies, tooluitvoer, onbewerkte request-/response-bodies, tokens, cookies, geheime waarden, hostnamen en onbewerkte sessie-id's uit. Stel
diagnostics.enabled: falsein om de recorder volledig uit te schakelen. - Fatale Gateway-afsluitingen, time-outs bij het afsluiten en opstartfouten na een herstart schrijven dezelfde diagnostische momentopname naar
~/.openclaw/logs/stability/openclaw-stability-*.jsonwanneer de recorder gebeurtenissen bevat. Inspecteer de nieuwste bundel metopenclaw gateway stability --bundle latest;--limit,--typeen--since-seqzijn ook van toepassing op bundeluitvoer.
gateway diagnostics export
Schrijf een lokaal diagnostisch ZIP-bestand dat is ontworpen voor bugrapporten. Zie Diagnostische export voor het privacymodel en de inhoud van de bundel.
openclaw gateway diagnostics exportopenclaw gateway diagnostics export --output openclaw-diagnostics.zipopenclaw gateway diagnostics export --json"--log-lines"--log-bytes"--url"--token"--password"--timeout--no-stability-bundlebooleanSla het zoeken naar een opgeslagen stabiliteitsbundel over.
--jsonbooleanDruk het geschreven pad, de grootte en het manifest af als JSON.
De export bundelt: manifest.json (bestandsinventaris), summary.md (Markdown-samenvatting), diagnostics.json (samenvatting op hoofdniveau van configuratie/logboeken/detectie/stabiliteit/status/gezondheid), config/sanitized.json, status/gateway-status.json, health/gateway-health.json, logs/openclaw-sanitized.jsonl en stability/latest.json wanneer er een bundel bestaat.
Deze is ontworpen om te worden gedeeld. De export bewaart operationele details die nuttig zijn voor foutopsporing — veilige logboekvelden, namen van subsystemen, statuscodes, tijdsduren, geconfigureerde modi, poorten, plugin-/provider-id's, niet-geheime functie-instellingen en geredigeerde operationele logboekberichten — en laat chattekst, Webhook-bodies, tooluitvoer, inloggegevens, cookies, account-/bericht-id's, prompt-/instructietekst, hostnamen en geheime waarden weg of redigeert deze. Wanneer een logboekbericht lijkt op payloadtekst van een gebruiker, chat of tool (bijvoorbeeld "gebruiker zei", "chattekst", "tooluitvoer", "Webhook-body"), bewaart de export alleen het feit dat een bericht is weggelaten, plus het aantal bytes ervan.
gateway status
Toont de Gateway-service (launchd/systemd/schtasks), plus een optionele verbindings-/authenticatieprobe.
openclaw gateway statusopenclaw gateway status --jsonopenclaw gateway status --require-rpc"--url"--token"--password"--timeout--no-probebooleanSla de verbindingsprobe over (alleen serviceweergave).
--deepbooleanScan ook services op systeemniveau.
--require-rpcbooleanBreid de verbindingsprobe uit tot een leesprobe en sluit af met een niet-nulcode als deze mislukt. Kan niet worden gecombineerd met --no-probe.
Statussemantiek
- Blijft beschikbaar voor diagnostiek, zelfs wanneer de lokale CLI-configuratie ontbreekt of ongeldig is.
- De standaarduitvoer bewijst de servicestatus, WebSocket-verbinding en de authenticatiecapaciteit die tijdens de handshake zichtbaar is — niet lees-/schrijf-/beheerbewerkingen.
- Probes wijzigen niets voor de eerste apparaatauthenticatie: ze hergebruiken een bestaand gecachet apparaattoken wanneer dat bestaat, maar maken nooit een nieuwe CLI-apparaatidentiteit of alleen-lezen-koppelingsrecord aan uitsluitend om de status te controleren.
- Lost geconfigureerde SecretRefs voor probe-authenticatie waar mogelijk op. Als een vereiste SecretRef niet is opgelost, rapporteert
--jsonrpc.authWarningwanneer de probe voor verbinding/authenticatie mislukt; geef--token/--passwordexpliciet door of herstel de geheime bron. Waarschuwingen over niet-opgeloste authenticatie worden onderdrukt zodra de probe slaagt. - JSON-uitvoer bevat
gateway.versionwanneer de actieve Gateway dit rapporteert;--require-rpckan terugvallen op de RPC-payloadstatus.runtimeVersionals de handshakeprobe geen versiemetagegevens kan leveren. - Gebruik
--require-rpcin scripts/automatisering wanneer een luisterende service niet voldoende is en RPC met leesbereik ook gezond moet zijn. --deepscant op extra installaties van launchd/systemd/schtasks; wanneer meerdere Gateway-achtige services worden gevonden, drukt de voor mensen leesbare uitvoer opschoontips af (voer doorgaans één Gateway per machine uit) en rapporteert deze indien relevant een recente overdracht bij een herstart door de supervisor.--deepvoert ook configuratievalidatie uit in pluginbewuste modus (pluginValidation: "full") en toont waarschuwingen uit pluginmanifesten (bijvoorbeeld ontbrekende metagegevens voor kanaalconfiguratie). De standaardwaardegateway statusbehoudt het snelle alleen-lezen-pad dat pluginvalidatie overslaat.- De voor mensen leesbare uitvoer bevat het opgeloste pad van het bestandslogboek, plus de configuratiepaden en geldigheid van CLI versus service, om afwijkingen in het profiel of de statusmap te helpen diagnosticeren.
- De voor mensen leesbare uitvoer bevat
Gateway heap:met de toegepaste limiet en de adaptieve afleiding daarvan. JSON-uitvoer stelt hetzelfde rapport beschikbaar alsservice.gatewayHeap.
Controles op authenticatieafwijkingen in Linux systemd
- Controles op afwijkingen in service-authenticatie lezen zowel
Environment=alsEnvironmentFile=uit de unit (inclusief%h, paden tussen aanhalingstekens, meerdere bestanden en optionele--bestanden). - Lost
gateway.auth.token-SecretRefs op met behulp van de samengevoegde runtime-omgeving (eerst de omgeving van de serviceopdracht, daarna als terugval de procesomgeving). - Controles op tokenafwijkingen slaan het oplossen van het configuratietoken over wanneer tokenauthenticatie niet daadwerkelijk actief is (
gateway.auth.modeexplicietpassword/none/trusted-proxy, of wanneer de modus niet is ingesteld en het wachtwoord kan prevaleren en geen tokenkandidaat kan prevaleren).
gateway probe
De opdracht om "alles te debuggen". Deze probet altijd:
- je geconfigureerde externe Gateway (indien ingesteld), en
- localhost (loopback), zelfs als een externe Gateway is geconfigureerd.
Als je --url doorgeeft, wordt dat expliciete doel vóór beide toegevoegd. De voor mensen leesbare uitvoer labelt doelen als URL (explicit), Remote (configured) / Remote (configured, inactive) en Local loopback.
openclaw gateway probeopenclaw gateway probe --jsonopenclaw gateway probe --port 18789OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcG9ydCA8cG9ydA
" type="number">
Gebruik deze poort voor het lokale loopback-probedoel en de externe poort van de SSH-tunnel. Zonder --url selecteert dit alleen het lokale loopback-doel in plaats van de geconfigureerde omgevings-URL van de Gateway, omgevingspoort of externe doelen.
Interpretatie
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 authenticatie kon bewijzen, los van de bereikbaarheid.Read probe: okbetekent dat RPC-detailaanroepen 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 een volledige mislukking.Read probe: failednaConnect: okbetekent dat de WebSocket verbinding heeft gemaakt, maar dat daaropvolgende leesdiagnostiek een time-out kreeg of mislukte — eveneens verminderd, niet onbereikbaar.- Net als
gateway statushergebruikt de probe bestaande gecachete apparaatauthenticatie, maar maakt deze geen apparaatidentiteit of koppelingsstatus voor het eerste gebruik aan. - De afsluitcode is alleen niet-nul wanneer geen enkel geprobed doel bereikbaar is.
JSON-uitvoer
Hoofdniveau:
ok: ten minste één doel is bereikbaar.degraded: ten minste één doel heeft een verbinding geaccepteerd, maar heeft de volledige gedetailleerde RPC-diagnostiek niet voltooid.capability: beste mogelijkheid die voor alle bereikbare doelen is waargenomen (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, geconfigureerd extern doel, lokale loopback.warnings[]: waarschuwingsrecords op basis van beste inspanning metcode,message, optioneeltargetIds.network: hints voor lokale loopback-/tailnet-URL's, afgeleid van de huidige configuratie en het hostnetwerk.discovery.timeoutMs/discovery.count: het daadwerkelijk gebruikte detectiebudget/aantal resultaten voor deze proberonde.
Per doel (targets[].connect): ok (bereikbaarheid + classificatie als gedegradeerd), rpcOk (volledig geslaagde gedetailleerde RPC), scopeLimited (gedetailleerde RPC mislukt door ontbrekend operatorbereik).
Per doel (targets[].auth): role en scopes gerapporteerd in hello-ok wanneer beschikbaar, plus de weergegeven classificatie capability.
Veelvoorkomende waarschuwingscodes
ssh_tunnel_failed: het instellen van de SSH-tunnel is mislukt; de opdracht is teruggevallen op directe probes.multiple_gateways: verschillende Gateway-identiteiten waren bereikbaar, of OpenClaw kon niet aantonen dat de bereikbare doelen dezelfde Gateway zijn. Een SSH-tunnel, proxy-URL of geconfigureerde externe URL naar dezelfde Gateway activeert dit niet.auth_secretref_unresolved: een geconfigureerde SecretRef voor authenticatie kon voor een mislukt doel niet worden omgezet.probe_scope_limited: de WebSocket-verbinding is geslaagd, maar de leesprobe werd beperkt door ontbrekendeoperator.read.local_tls_runtime_unavailable: TLS voor de lokale Gateway is ingeschakeld, maar OpenClaw kon de vingerafdruk van het lokale certificaat niet laden.
Extern via SSH (gelijkwaardig aan de Mac-app)
De modus "Remote over SSH" van de macOS-app gebruikt lokale poortdoorschakeling, zodat een externe Gateway die alleen via loopback bereikbaar is, toegankelijk wordt op ws://127.0.0.1:<port>.
CLI-equivalent:
openclaw gateway probe --ssh user@gateway-hostOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tc3NoIDx0YXJnZXQ
" type="string">
user@host of user@host:port (poort is standaard 22).
--ssh-autobooleanKies de eerste gedetecteerde Gateway-host als SSH-doel uit het omgezette detectie-eindpunt (local. plus het geconfigureerde wide-area-domein, indien aanwezig). Hints die alleen in TXT staan, worden genegeerd.
Configuratiestandaarden (optioneel): gateway.remote.sshTarget, gateway.remote.sshIdentity.
gateway call <method>
RPC-hulpprogramma op laag niveau.
openclaw gateway call statusopenclaw gateway call logs.tail --params '{"limit": 200}'"--params"--url"--token"--password"--timeout--expect-finalbooleanVoornamelijk voor RPC's in agentstijl die tussentijdse gebeurtenissen streamen vóór een definitieve payload.
--jsonbooleanMachineleesbare JSON-uitvoer.
De Gateway-service beheren
openclaw gateway installopenclaw gateway startopenclaw gateway stopopenclaw gateway restartopenclaw gateway uninstallInstalleren met een wrapper
Gebruik --wrapper wanneer de beheerde service via een ander uitvoerbaar bestand moet starten, bijvoorbeeld een shim voor geheimenbeheer of een hulpprogramma om als een andere gebruiker uit te voeren. De wrapper ontvangt de normale Gateway-argumenten en is ervoor verantwoordelijk uiteindelijk openclaw of Node met die argumenten uit te voeren via exec.
cat > ~/.local/bin/openclaw-doppler <<'EOF'#!/usr/bin/env bashset -euo pipefailexec doppler run --project my-project --config production -- openclaw "$@"EOFchmod +x ~/.local/bin/openclaw-doppler openclaw gateway install --wrapper ~/.local/bin/openclaw-doppler --forceopenclaw gateway restartJe kunt de wrapper ook via de omgeving instellen. gateway install controleert of het pad een uitvoerbaar bestand is, schrijft de wrapper naar de service-ProgramArguments en bewaart OPENCLAW_WRAPPER in de serviceomgeving voor latere gedwongen herinstallaties, updates en reparaties door doctor.
OPENCLAW_WRAPPER="$HOME/.local/bin/openclaw-doppler" openclaw gateway install --forceopenclaw doctorAls je een bewaarde wrapper wilt verwijderen, maak je OPENCLAW_WRAPPER leeg tijdens de herinstallatie:
OPENCLAW_WRAPPER= openclaw gateway install --forceopenclaw gateway restartOpdrachtopties
gateway status:--url,--token,--password,--timeout,--no-probe,--require-rpc,--deep,--jsongateway install:--port,--runtime <node>(standaard:node),--token,--wrapper <path>,--force,--jsongateway restart:--safe,--skip-deferral,--force,--wait <duration>,--jsongateway uninstall|start:--jsongateway stop:--disable,--force,--json
Levenscyclusgedrag
gateway startis idempotent: wanneer de beheerde service al actief is, rapporteert de opdracht het actieve proces en laat dit ongemoeid. Een geladen maar gestopte service wordt zoals voorheen gestart.- Gebruik
gateway restartom een beheerde service opnieuw te starten. Koppelgateway stopengateway startniet aan elkaar als vervanging voor opnieuw starten. - In een niet-interactieve shell vereist
gateway stopde optie--force. Interactieve terminals behouden het bestaande gedrag zonder prompt. Geef voor automatisering en tests de voorkeur aangateway run --devof een geïsoleerde--profilemet een vrije poort. - Op macOS gebruikt
gateway stopstandaardlaunchctl bootout, waarmee de LaunchAgent uit de huidige opstartsessie wordt verwijderd zonder een uitschakeling permanent te bewaren — automatisch herstel via KeepAlive blijft actief voor toekomstige crashes engateway startschakelt de service weer correct in zonder een handmatigelaunchctl enable. Geef--disabledoor om KeepAlive en RunAtLoad permanent te onderdrukken, zodat de Gateway pas opnieuw wordt gestart na de volgende explicietegateway start; gebruik dit wanneer een handmatige stop ook na opnieuw opstarten van het systeem moet blijven gelden. - Mutaties in de Gateway-levenscyclus voegen op basis van beste inspanning auditrecords met sleutel-waardeparen toe aan
<state-dir>/logs/gateway-restart.log, waaronder start-, stop- en herstartbewerkingen via de CLI, veilige herstartverzoeken, herstarts door de supervisor en losgekoppelde overdrachten. - Levenscyclusopdrachten accepteren
--jsonvoor scripts.
Heapgrootte van de beheerde Gateway
gateway installschrijft een uitsluitend voor de heap bestemde waarde voorNODE_OPTIONSvoor de beheerde Gateway-service. De waarde richt zich op 50% van het beperkte geheugen wanneer Node een container- of servicelimiet rapporteert, en anders op 50% van het fysieke geheugen.- Het nominale doelbereik is 2048–8192 MiB, met een aanvullende limiet die 75% ruimte voor native geheugen vrijhoudt. Op kleine hosts kan deze limiet ervoor zorgen dat de toegepaste limiet onder de nominale ondergrens van 2048 MiB ligt.
- Een geldige expliciete
--max-old-space-sizedie al in de geïnstalleerde service is opgeslagen, blijft behouden bij gedwongen herinstallaties en reparaties door doctor. AndereNODE_OPTIONS-vlaggen worden niet overgenomen in de beheerde service. NODE_OPTIONSuit de omringende shell overschrijft dit beleid niet. Gebruikgateway statusofdoctorom de geïnstalleerde waarde te inspecteren; voeropenclaw gateway install --forceuit om oudere servicemetadata zonder beheerde heapinstelling opnieuw te genereren.- Het beleid geldt alleen voor de beheerde Gateway-service.
gateway runop de voorgrond, Node-services en handmatig geschreven supervisoreenheden behouden hun eigen runtimeconfiguratie.
Authenticatie en SecretRefs tijdens de installatie
- Wanneer tokenauthenticatie een token vereist en
gateway.auth.tokendoor SecretRef wordt beheerd, controleertgateway installof de SecretRef kan worden omgezet, maar wordt het omgezette token niet opgeslagen in de omgevingsmetadata van de service. - Als tokenauthenticatie een token vereist en de geconfigureerde SecretRef voor het token niet kan worden omgezet, wordt de installatie veilig geblokkeerd in plaats van terug te vallen op het opslaan van platte tekst.
- Geef voor wachtwoordauthenticatie op
gateway runde voorkeur aanOPENCLAW_GATEWAY_PASSWORD,--password-fileof een door SecretRef ondersteundegateway.auth.passwordboven een inline--password. - In de afgeleide authenticatiemodus versoepelt
OPENCLAW_GATEWAY_PASSWORDdie alleen in de shell is ingesteld de tokenvereisten voor installatie niet; gebruik duurzame configuratie (gateway.auth.passwordof configuratie-env) wanneer je een beheerde service installeert. - Als zowel
gateway.auth.tokenalsgateway.auth.passwordzijn geconfigureerd engateway.auth.modeniet is ingesteld, wordt de installatie geblokkeerd totdat de modus expliciet is ingesteld.
Gateways detecteren (Bonjour)
gateway discover scant naar Gateway-bakens (_openclaw-gw._tcp).
- Multicast DNS-SD:
local. - Unicast DNS-SD (wide-area Bonjour): kies een domein (bijvoorbeeld
openclaw.internal.) en stel split DNS plus een DNS-server in; zie Bonjour.
Alleen Gateways waarvoor Bonjour-detectie is ingeschakeld (standaard) adverteren het baken.
TXT-hints op elk baken: role (hint voor Gateway-rol), transport (transporthint, bijvoorbeeld gateway), gatewayPort (WebSocket-poort, meestal 18789), tailnetDns (MagicDNS-hostnaam, indien beschikbaar), gatewayTls / gatewayTlsSha256 (TLS ingeschakeld + certificaatvingerafdruk). sshPort en cliPath worden alleen gepubliceerd in de volledige detectiemodus (discovery.mdns.mode: "full"; standaard is "minimal", waarin ze worden weggelaten — clients gebruiken dan standaard poort 22 voor SSH-doelen).
gateway discover
openclaw gateway discover"--timeout--jsonbooleanMachineleesbare uitvoer (schakelt ook opmaak/spinner uit).
Voorbeelden:
openclaw gateway discover --timeout 4000openclaw gateway discover --json | jq '.beacons[].wsUrl'