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 installatiegids + volledige configuratiereferentie.
SecretRef-contract, gedrag van runtimesnapshots en migreer-/herlaadbewerkingen.
Exacte doel-/padregels voor secrets apply en ref-only gedrag voor auth-profielen.
Lokale opstart in 5 minuten
Start de Gateway
openclaw gateway --port 18789
# debug/trace mirrored to stdio
openclaw gateway --port 18789 --verbose
# force-kill listener on selected port, then start
openclaw gateway --force
Controleer de servicestatus
openclaw gateway status
openclaw status
openclaw logs --follow
Gezonde basislijn: Runtime: running, Connectivity probe: ok en Capability: ... die overeenkomt met wat je verwacht. Gebruik openclaw gateway status --require-rpc wanneer je bewijs van RPC met leesscope nodig hebt, niet alleen bereikbaarheid.
Valideer kanaalgereedheid
openclaw channels status --probe
Met een bereikbare gateway voert dit live kanaalprobes per account en optionele audits uit. Als de gateway onbereikbaar is, valt de CLI terug op configuratie-only 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, OpenAI-compatibel (
/v1/models,/v1/embeddings,/v1/chat/completions,/v1/responses,/tools/invoke) - Besturings-UI en hooks
- Standaard bindmodus:
loopback. - Auth is standaard vereist. Setups met gedeeld geheim gebruiken
gateway.auth.token/gateway.auth.password(ofOPENCLAW_GATEWAY_TOKEN/OPENCLAW_GATEWAY_PASSWORD), en niet-loopback reverse-proxy-setups kunnengateway.auth.mode: "trusted-proxy"gebruiken.
OpenAI-compatibele eindpunten
OpenClaw's compatibiliteitsoppervlak met de hoogste impact 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.
Planningsopmerking:
/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 override voor backendprovider/model wilt; anders blijft de normale model- en embeddingsetup van de geselecteerde agent leidend.
Al deze eindpunten draaien op de hoofdpoort van de Gateway en gebruiken dezelfde vertrouwde operator-authgrens als de rest van de Gateway HTTP-API.
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 het lokale
oorsprongen voor de besturings-UI seedt voor niet-loopback binds. Bijvoorbeeld: --bind lan --port 3000
seedt http://localhost:3000 en http://127.0.0.1:3000 voordat runtime-
validatie wordt uitgevoerd. Voeg externe browseroorsprongen, zoals HTTPS-proxy-URL's, expliciet toe aan
gateway.controlUi.allowedOrigins.
Hot-reloadmodi
gateway.reload.mode |
Gedrag |
|---|---|
off |
Geen configuratieherlaadactie |
hot |
Alleen hot-safe wijzigingen toepassen |
restart |
Herstarten bij wijzigingen die herstart vereisen |
hybrid (standaard) |
Hot toepassen wanneer veilig, herstarten wanneer vereist |
Operatorset met commando's
openclaw gateway status
openclaw gateway status --deep # adds a system-level service scan
openclaw gateway status --json
openclaw gateway install
openclaw gateway restart
openclaw gateway stop
openclaw secrets reload
openclaw logs --follow
openclaw doctor
gateway status --deep is bedoeld voor extra servicedetectie (LaunchDaemons/systemd system
units/schtasks), niet voor een diepere RPC-gezondheidsprobe.
Meerdere gateways (zelfde 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 --deep
openclaw gateway probe
Wat je kunt verwachten:
gateway status --deepkanOther gateway-like services detected (best effort)rapporteren en opruimhints afdrukken wanneer verouderde launchd/systemd/schtasks-installaties nog aanwezig zijn.gateway probekan waarschuwen voormultiple reachable gatewayswanneer meer dan één doel antwoordt.- Als dat de bedoeling is, isoleer dan poorten, configuratie/status en workspace-roots 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 19001
OPENCLAW_CONFIG_PATH=~/.openclaw/b.json OPENCLAW_STATE_DIR=~/.openclaw-b openclaw gateway --port 19002
Gedetailleerde setup: /gateway/multiple-gateways.
Externe toegang
Voorkeur: Tailscale/VPN. Fallback: SSH-tunnel.
ssh -N -L 18789:127.0.0.1:18789 user@host
Verbind clients daarna lokaal met ws://127.0.0.1:18789.
Zie: Externe Gateway, Authenticatie, Tailscale.
Supervisie en servicelevenscyclus
Gebruik gesuperviseerde runs voor productieachtige betrouwbaarheid.
macOS (launchd)
openclaw gateway install
openclaw gateway status
openclaw gateway restart
openclaw gateway stop
Gebruik openclaw gateway restart voor herstarts. Keten openclaw gateway stop en openclaw gateway start niet; op macOS schakelt gateway stop de LaunchAgent bewust uit voordat deze wordt gestopt.
LaunchAgent-labels zijn ai.openclaw.gateway (standaard) of ai.openclaw.<profile> (benoemd profiel). openclaw doctor audit en herstelt afwijkingen in serviceconfiguratie.
Linux (systemd user)
openclaw gateway install
systemctl --user enable --now openclaw-gateway[-<profile>].service
openclaw gateway status
Schakel 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 Gateway
After=network-online.target
Wants=network-online.target
[Service]
ExecStart=/usr/local/bin/openclaw gateway --port 18789
Restart=always
RestartSec=5
TimeoutStopSec=30
TimeoutStartSec=30
SuccessExitStatus=0 143
KillMode=control-group
[Install]
WantedBy=default.target
Windows (native)
openclaw gateway install
openclaw gateway status --json
openclaw gateway restart
openclaw gateway stop
Native door Windows beheerde opstart gebruikt een Scheduled Task met de naam OpenClaw Gateway
(of OpenClaw Gateway (<profile>) voor benoemde profielen). Als het aanmaken van de Scheduled Task
wordt geweigerd, valt OpenClaw terug op een launcher in de Startup-map per gebruiker
die wijst naar gateway.cmd binnen de statusdirectory.
Linux (system service)
Gebruik een system-unit voor multi-user/altijd actieve hosts.
sudo systemctl daemon-reload
sudo systemctl enable --now openclaw-gateway[-<profile>].service
Gebruik dezelfde servicebody als de user-unit, maar installeer deze onder
/etc/systemd/system/openclaw-gateway[-<profile>].service en pas
ExecStart= aan als je openclaw-binary ergens anders 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 setup
openclaw --dev gateway --allow-unconfigured
openclaw --dev status
Standaarden omvatten geïsoleerde status/configuratie en basisgatewaypoort 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, niet een gegenereerde dump van elke aanroepbare helperroute.- Verzoeken:
req(method, params)→res(ok/payload|error). - Veelvoorkomende events omvatten
connect.challenge,agent,chat,session.message,session.tool,sessions.changed,presence,tick,health,heartbeat, lifecycle-events voor pairing/approval enshutdown.
Agentruns verlopen in twee fasen:
- Direct geaccepteerde ack (
status:"accepted") - Eindrespons bij voltooiing (
status:"ok"|"error"), met gestreamdeagent-events ertussen.
Zie volledige protocoldocumentatie: Gateway-protocol.
Operationele controles
Liveness
- Open WS en stuur
connect. - Verwacht een
hello-ok-respons met snapshot.
Readiness
openclaw gateway status
openclaw channels status --probe
openclaw health
Gap-herstel
Events worden niet opnieuw afgespeeld. Vernieuw bij sequence gaps de status (health, system-presence) voordat je doorgaat.
Veelvoorkomende foutsignaturen
| Signatuur | Waarschijnlijk probleem |
|---|---|
refusing to bind gateway ... without auth |
Niet-loopback bind zonder geldig gateway-authpad |
another gateway instance is already listening / EADDRINUSE |
Poortconflict |
Gateway start blocked: set gateway.mode=local |
Configuratie ingesteld op externe modus, of local-mode stamp ontbreekt in een beschadigde configuratie |
unauthorized tijdens connect |
Auth-mismatch tussen client en gateway |
Gebruik Gateway-probleemoplossing voor volledige diagnosereeksen.
Veiligheidsgaranties
- Gateway-protocolclients falen snel wanneer Gateway niet beschikbaar is (geen impliciete fallback naar een direct kanaal).
- Ongeldige eerste frames of eerste frames zonder connect worden geweigerd en gesloten.
- Gecontroleerd afsluiten zendt de
shutdown-gebeurtenis uit voordat de socket wordt gesloten.
Gerelateerd: