Gateway
Gateway-draaiboek
Gebruik deze pagina voor dag-1-opstart en dag-2-beheer van de Gateway-service.
Symptoomgerichte diagnostiek met exacte commandoreeksen en logsignaturen.
Taakgerichte installatiehandleiding + volledige configuratiereferentie.
SecretRef-contract, gedrag van runtimesnapshots en migratie-/herlaadbewerkingen.
Exacte doel-/padregels voor secrets apply en ref-only auth-profielgedrag.
Lokale opstart in 5 minuten
Start de Gateway
openclaw gateway --port 18789# debug/trace mirrored to stdioopenclaw gateway --port 18789 --verbose# force-kill listener on selected port, then startopenclaw gateway --forceControleer de servicestatus
openclaw gateway statusopenclaw statusopenclaw logs --followGezonde basislijn: Runtime: running, Connectivity probe: ok en Capability: ... dat overeenkomt met wat je verwacht. Gebruik openclaw gateway status --require-rpc wanneer je RPC-bewijs met leesbereik nodig hebt, niet alleen bereikbaarheid.
Valideer kanaalgereedheid
openclaw channels status --probeMet een bereikbare Gateway voert dit live kanaalprobes per account en optionele audits uit. Als de Gateway onbereikbaar is, valt de CLI terug op alleen-configuratie-kanaalsamenvattingen in plaats van live probe-uitvoer.
Runtimemodel
- Eén altijd actief proces voor routering, control plane en kanaalverbindingen.
- Eén gemultiplexte poort voor:
- WebSocket-besturing/RPC
- HTTP-API's (
/v1/models,/v1/embeddings,/v1/chat/completions,/v1/responses,/tools/invoke) - Plugin-HTTP-routes, zoals optioneel
/api/v1/admin/rpc - Control-UI en hooks
- Standaard bindmodus:
loopback. - Auth is standaard vereist. Installaties met gedeelde geheimen gebruiken
gateway.auth.token/gateway.auth.password(ofOPENCLAW_GATEWAY_TOKEN/OPENCLAW_GATEWAY_PASSWORD), en niet-loopback reverse-proxy-installaties kunnengateway.auth.mode: "trusted-proxy"gebruiken.
OpenAI-compatibele eindpunten
OpenClaw's compatibiliteitsoppervlak met de hoogste hefboomwerking is nu:
GET /v1/modelsGET /v1/models/{id}POST /v1/embeddingsPOST /v1/chat/completionsPOST /v1/responses
Waarom deze set belangrijk is:
- De meeste Open WebUI-, LobeChat- en LibreChat-integraties proben eerst
/v1/models. - Veel RAG- en geheugenpijplijnen verwachten
/v1/embeddings. - Agent-native clients geven steeds vaker de voorkeur aan
/v1/responses.
Planningsnotitie:
/v1/modelsis agent-first: het retourneertopenclaw,openclaw/defaultenopenclaw/<agentId>.openclaw/defaultis de stabiele alias die altijd verwijst naar de geconfigureerde standaardagent.- Gebruik
x-openclaw-modelwanneer je een backend-provider/model-override wilt; anders blijft de normale model- en embeddingconfiguratie van de geselecteerde agent leidend.
Al deze werken op de hoofdpoort van de Gateway en gebruiken dezelfde vertrouwde operator-authgrens als de rest van de Gateway-HTTP-API.
Admin-HTTP-RPC (POST /api/v1/admin/rpc) is een afzonderlijke, standaard uitgeschakelde Plugin-route voor hosttools die geen WebSocket-RPC kunnen gebruiken. Zie Admin-HTTP-RPC.
Poort- en bindvolgorde
| Instelling | Oplossingsvolgorde |
|---|---|
| Gateway-poort | --port → OPENCLAW_GATEWAY_PORT → gateway.port → 18789 |
| Bindmodus | CLI/override → gateway.bind → loopback |
Geïnstalleerde gatewayservices registreren de opgeloste --port in supervisormetadata. Voer na het wijzigen van gateway.port openclaw doctor --fix of openclaw gateway install --force uit zodat launchd/systemd/schtasks het proces op de nieuwe poort start.
Gateway-opstart gebruikt dezelfde effectieve poort en bind wanneer lokale
Control-UI-origins voor niet-loopback-binds worden gezaaid. Bijvoorbeeld: --bind lan --port 3000
zaait http://localhost:3000 en http://127.0.0.1:3000 voordat runtime
validatie wordt uitgevoerd. Voeg eventuele remote browser-origins, zoals HTTPS-proxy-URL's, expliciet toe aan
gateway.controlUi.allowedOrigins.
Hot-reloadmodi
gateway.reload.mode |
Gedrag |
|---|---|
off |
Geen configuratieherlaad |
hot |
Alleen hot-safe wijzigingen toepassen |
restart |
Herstarten bij wijzigingen die herstart vereisen |
hybrid (standaard) |
Hot toepassen wanneer veilig, herstarten wanneer vereist |
Commandoset voor operators
openclaw gateway statusopenclaw gateway status --deep # adds a system-level service scanopenclaw gateway status --jsonopenclaw gateway installopenclaw gateway restartopenclaw gateway stopopenclaw secrets reloadopenclaw logs --followopenclaw doctorgateway status --deep is bedoeld voor extra servicedetectie (LaunchDaemons/systemd-systeem
units/schtasks), niet voor een diepere RPC-statusprobe.
Meerdere gateways (dezelfde host)
De meeste installaties zouden één Gateway per machine moeten draaien. Eén Gateway kan meerdere agents en kanalen hosten.
Je hebt alleen meerdere gateways nodig wanneer je bewust isolatie of een rescue-bot wilt.
Nuttige controles:
openclaw gateway status --deepopenclaw gateway probeWat je kunt verwachten:
gateway status --deepkanOther gateway-like services detected (best effort)rapporteren en opschoontips tonen wanneer verouderde launchd/systemd/schtasks-installaties nog aanwezig zijn.gateway probekan waarschuwen voormultiple reachable gateway identitieswanneer afzonderlijke gateways antwoorden, of wanneer OpenClaw niet kan bewijzen dat bereikbare doelen dezelfde Gateway zijn. Een SSH-tunnel, proxy-URL of geconfigureerde remote URL naar dezelfde Gateway is één Gateway met meerdere transports, zelfs wanneer transportpoorten verschillen.- Als dat bewust is, isoleer dan poorten, configuratie/status en werkruimteroots per Gateway.
Checklist per instantie:
- Unieke
gateway.port - Unieke
OPENCLAW_CONFIG_PATH - Unieke
OPENCLAW_STATE_DIR - Unieke
agents.defaults.workspace
Voorbeeld:
OPENCLAW_CONFIG_PATH=~/.openclaw/a.json OPENCLAW_STATE_DIR=~/.openclaw-a openclaw gateway --port 19001OPENCLAW_CONFIG_PATH=~/.openclaw/b.json OPENCLAW_STATE_DIR=~/.openclaw-b openclaw gateway --port 19002Gedetailleerde installatie: /gateway/multiple-gateways.
Externe toegang
Voorkeur: Tailscale/VPN. Terugval: SSH-tunnel.
ssh -N -L 18789:127.0.0.1:18789 user@hostVerbind clients daarna lokaal met ws://127.0.0.1:18789.
Zie: Remote Gateway, Authenticatie, Tailscale.
Supervisie en servicelevenscyclus
Gebruik gesuperviseerde runs voor productieachtige betrouwbaarheid.
macOS (launchd)
openclaw gateway installopenclaw gateway statusopenclaw gateway restartopenclaw gateway stopGebruik openclaw gateway restart voor herstarts. Koppel openclaw gateway stop en openclaw gateway start niet als vervanging voor een herstart.
Op macOS gebruikt gateway stop standaard launchctl bootout — dit verwijdert de LaunchAgent uit de huidige bootsessie zonder een uitschakeling persistent te maken, zodat KeepAlive-autoherstel nog steeds werkt na onverwachte crashes en gateway start netjes opnieuw inschakelt. Geef --disable mee om automatische respawn persistent te onderdrukken over herstarts heen: openclaw gateway stop --disable.
LaunchAgent-labels zijn ai.openclaw.gateway (standaard) of ai.openclaw.<profile> (benoemd profiel). openclaw doctor audit en repareert drift in serviceconfiguratie.
Linux (systemd-gebruiker)
openclaw gateway installsystemctl --user enable --now openclaw-gateway[-<profile>].serviceopenclaw gateway statusSchakel lingering in voor persistentie na uitloggen:
sudo loginctl enable-linger <user>Voorbeeld van een handmatige user-unit wanneer je een aangepast installatiepad nodig hebt:
[Unit]Description=OpenClaw GatewayAfter=network-online.targetWants=network-online.target [Service]ExecStart=/usr/local/bin/openclaw gateway --port 18789Restart=alwaysRestartSec=5TimeoutStopSec=30TimeoutStartSec=30SuccessExitStatus=0 143OOMPolicy=continueKillMode=control-group [Install]WantedBy=default.targetWindows (native)
openclaw gateway installopenclaw gateway status --jsonopenclaw gateway restartopenclaw gateway stopNative Windows managed startup gebruikt een geplande taak met de naam OpenClaw Gateway
(of OpenClaw Gateway (<profile>) voor benoemde profielen). Als het maken van de geplande taak
wordt geweigerd, valt OpenClaw terug op een launcher in de Startup-map per gebruiker
die verwijst naar gateway.cmd binnen de statusdirectory.
Linux (systeemservice)
Gebruik een system-unit voor multi-user/altijd-aan-hosts.
sudo systemctl daemon-reloadsudo systemctl enable --now openclaw-gateway[-<profile>].serviceGebruik dezelfde servicebody als de user-unit, maar installeer die onder
/etc/systemd/system/openclaw-gateway[-<profile>].service en pas
ExecStart= aan als je openclaw-binary elders staat.
Laat openclaw doctor --fix niet ook een gatewayservice op gebruikersniveau installeren voor hetzelfde profiel/dezelfde poort. Doctor weigert die automatische installatie wanneer het een OpenClaw-gatewayservice op systeemniveau vindt; gebruik OPENCLAW_SERVICE_REPAIR_POLICY=external wanneer de system-unit eigenaar is van de levenscyclus.
Snel pad voor dev-profiel
openclaw --dev setupopenclaw --dev gateway --allow-unconfiguredopenclaw --dev statusStandaarden omvatten geïsoleerde status/configuratie en basis-Gateway-poort 19001.
Snelle protocolreferentie (operatorweergave)
- Het eerste clientframe moet
connectzijn. - Gateway retourneert
hello-ok-snapshot (presence,health,stateVersion,uptimeMs, limieten/beleid). hello-ok.features.methods/eventszijn een conservatieve detectielijst, geen gegenereerde dump van elke aanroepbare helperroute.- Verzoeken:
req(method, params)→res(ok/payload|error). - Veelvoorkomende events zijn
connect.challenge,agent,chat,session.message,session.operation,session.tool,sessions.changed,presence,tick,health,heartbeat, pairing-/approval-levenscyclusevents enshutdown.
Agentruns verlopen in twee fasen:
- Directe geaccepteerde ack (
status:"accepted") - Uiteindelijke voltooiingsrespons (
status:"ok"|"error"), met gestreamdeagent-events ertussen.
Zie de volledige protocoldocumentatie: Gateway-protocol.
Operationele controles
Liveness
- Open WS en verzend
connect. - Verwacht een
hello-ok-respons met snapshot.
Readiness
openclaw gateway statusopenclaw channels status --probeopenclaw healthHiaatherstel
Events worden niet opnieuw afgespeeld. Vernieuw bij sequentiegaten de status (health, system-presence) voordat je verdergaat.
Veelvoorkomende foutsignaturen
| Handtekening | Waarschijnlijk probleem |
|---|---|
refusing to bind gateway ... without auth |
Non-loopback-binding zonder geldig gateway-auth-pad |
another gateway instance is already listening / EADDRINUSE |
Poortconflict |
Gateway start blocked: set gateway.mode=local |
Configuratie staat op externe modus, of local-mode-stempel ontbreekt in beschadigde configuratie |
unauthorized during connect |
Auth-mismatch tussen client en Gateway |
Gebruik Gateway-probleemoplossing voor volledige diagnosestappen.
Veiligheidsgaranties
- Gateway-protocolclients falen snel wanneer Gateway niet beschikbaar is (geen impliciete fallback naar direct kanaal).
- Ongeldige/niet-verbindingsgerichte eerste frames worden geweigerd en gesloten.
- Netjes afsluiten verzendt de
shutdown-gebeurtenis voordat de socket wordt gesloten.
Gerelateerd: