openclaw gateway ....
Bonjour-detectie
Lokale mDNS- en wide-area DNS-SD-configuratie.
Overzicht van detectie
Hoe OpenClaw gateways aankondigt en vindt.
Configuratie
Configuratiesleutels op het hoogste niveau voor de Gateway.
De Gateway uitvoeren
Opstartgedrag
Opstartgedrag
- 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
number
WebSocket-poort (standaard uit configuratie/omgeving; meestal
18789).string
Bindmodus:
loopback (standaard), lan, tailnet, auto, custom.string
Gedeeld token voor
connect.params.auth.token. Standaard OPENCLAW_GATEWAY_TOKEN wanneer dit is ingesteld.string
Authenticatiemodus:
none, token, password, trusted-proxy.string
Wachtwoord voor
--auth password.string
Lees het Gateway-wachtwoord uit een bestand.
string
Tailscale-blootstelling:
off, serve, funnel.boolean
Stel de serve-/funnelconfiguratie van Tailscale bij het afsluiten opnieuw in.
boolean
Start zonder
gateway.mode=local af te dwingen. Alleen voor ad-hoc-/ontwikkelbootstrap; configuratie wordt niet opgeslagen of gerepareerd.boolean
Maak een ontwikkelconfiguratie en werkruimte als deze ontbreken (slaat
BOOTSTRAP.md over).boolean
Sta toe dat een ontwikkel-Gateway kanalen automatisch configureert vanuit omgevingsvariabelen in de omgeving. Vereist
--dev.boolean
Stel ontwikkelconfiguratie, inloggegevens, sessies en werkruimte opnieuw in. Vereist
--dev.boolean
Beë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.boolean
Uitgebreide logboekregistratie naar stdout/stderr.
boolean
Toon alleen logboeken van de CLI-backend in de console (schakelt ook stdout/stderr in).
string
standaard:"auto"
WebSocket-logboekstijl:
auto, full, compact.boolean
Alias voor
--ws-log compact.boolean
Registreer onbewerkte modelstreamgebeurtenissen in JSONL.
string
JSONL-pad voor de onbewerkte stream.
--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
--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
StelOPENCLAW_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:
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
- Gedeelde opties
- 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.
Wanneer je
--url instelt, valt de CLI niet terug op inloggegevens uit de configuratie of omgeving. Geef --token of --password expliciet door. Ontbrekende expliciete inloggegevens zijn een fout.gateway health
/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).
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.
number
standaard:"30"
Aantal op te nemen dagen.
string
Beperk de samenvatting tot één geconfigureerde agent-id.
boolean
Aggregeer over alle geconfigureerde agents. Kan niet worden gecombineerd met
--agent.gateway stability
Haal de recente recorder voor diagnostische stabiliteit op uit een actieve Gateway.
number
standaard:"25"
Maximumaantal op te nemen recente gebeurtenissen (max.
1000).string
Filter op type diagnostische gebeurtenis, bijvoorbeeld
payload.large of diagnostic.memory.pressure.number
Neem alleen gebeurtenissen na een diagnostisch volgnummer op.
string
Lees 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.boolean
Schrijf een deelbaar ZIP-bestand met ondersteuningsdiagnostiek in plaats van stabiliteitsdetails af te drukken.
string
Uitvoerpad voor
--export.Privacy en bundelgedrag
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.
string
Pad voor het uitgevoerde ZIP-bestand. Standaard wordt een ondersteuningsexport in de statusmap gebruikt.
number
standaard:"5000"
Maximumaantal op te nemen opgeschoonde logboekregels.
number
standaard:"1000000"
Maximumaantal te inspecteren logboekbytes.
string
WebSocket-URL van de Gateway voor de statusmomentopname.
string
Gateway-token voor de statusmomentopname.
string
Gateway-wachtwoord voor de statusmomentopname.
number
standaard:"3000"
Time-out voor de status-/gezondheidsmomentopname.
boolean
Sla het zoeken naar een opgeslagen stabiliteitsbundel over.
boolean
Druk het geschreven pad, de grootte en het manifest af als JSON.
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.
string
Voeg een expliciet probedoel toe. De geconfigureerde externe host en localhost worden nog steeds geprobed.
string
Tokenauthenticatie voor de probe.
string
Wachtwoordauthenticatie voor de probe.
number
standaard:"10000"
Time-out van de probe.
boolean
Sla de verbindingsprobe over (alleen serviceweergave).
boolean
Scan ook services op systeemniveau.
boolean
Breid de verbindingsprobe uit tot een leesprobe en sluit af met een niet-nulcode als deze mislukt. Kan niet worden gecombineerd met
--no-probe.Statussemantiek
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 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.
--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.
Als meerdere probedoelen bereikbaar zijn, worden ze allemaal afgedrukt. Een SSH-tunnel, TLS-/proxy-URL en geconfigureerde externe URL kunnen naar dezelfde Gateway verwijzen, zelfs met verschillende transportpoorten;
multiple_gateways is gereserveerd voor afzonderlijke of qua identiteit ambigue bereikbare Gateways. Het uitvoeren van meerdere Gateways wordt ondersteund voor geïsoleerde profielen (bijvoorbeeld een herstelbot), maar de meeste installaties voeren één Gateway uit.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
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
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.
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
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 opws://127.0.0.1:<port>.
CLI-equivalent:
string
user@host of user@host:port (poort is standaard 22).string
Identiteitsbestand.
boolean
Kies 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.gateway.remote.sshTarget, gateway.remote.sshIdentity.
gateway call <method>
RPC-hulpprogramma op laag niveau.
string
standaard:"{}"
JSON-objecttekenreeks voor parameters.
string
WebSocket-URL van de Gateway.
string
Gateway-token.
string
Gateway-wachtwoord.
number
standaard:"10000"
Time-outbudget.
boolean
Voornamelijk voor RPC’s in agentstijl die tussentijdse gebeurtenissen streamen vóór een definitieve payload.
boolean
Machineleesbare JSON-uitvoer.
--params moet geldige JSON zijn en elke methode valideert haar eigen parameterstructuur (extra of verkeerd benoemde velden worden geweigerd).De Gateway-service beheren
Installeren 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.
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 leeg tijdens de herinstallatie:
Opdrachtopties
Opdrachtopties
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
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
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
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.
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
number
standaard:"2000"
Time-out per opdracht (bladeren/omzetten).
boolean
Machineleesbare uitvoer (schakelt ook opmaak/spinner uit).
- Scant
local.plus het geconfigureerde wide-area-domein wanneer dit is ingeschakeld. wsUrlin JSON-uitvoer wordt afgeleid van het omgezette service-eindpunt, niet van hints die alleen in TXT staan, zoalslanHostoftailnetDns.discovery.mdns.modebepaalt de publicatie vansshPort/cliPathop zowellocal.mDNS als wide-area DNS-SD (zie hierboven).