Web interfaces

Web

De Gateway biedt een kleine browsergebaseerde beheerinterface (Vite + Lit) via dezelfde poort als de Gateway-WebSocket:

  • standaard: http://<host>:18789/
  • met gateway.tls.enabled: true: https://<host>:18789/
  • optioneel voorvoegsel: stel gateway.controlUi.basePath in (bijv. /openclaw)

De mogelijkheden staan in Beheerinterface. Deze pagina behandelt bindingsmodi, beveiliging en andere webgerichte oppervlakken.

Configuratie (standaard ingeschakeld)

De beheerinterface is standaard ingeschakeld wanneer assets aanwezig zijn (dist/control-ui):

json5
{  gateway: {    controlUi: { enabled: true, basePath: "/openclaw" }, // basePath optioneel  },}

Webhooks

Wanneer hooks.enabled=true, stelt de Gateway ook een Webhook-eindpunt beschikbaar op dezelfde HTTP-server. Zie hooks in de Gateway-configuratiereferentie voor authenticatie en payloads.

HTTP-RPC voor beheer

POST /api/v1/admin/rpc stelt geselecteerde besturingsvlakmethoden van de Gateway beschikbaar via HTTP. Standaard uitgeschakeld; wordt alleen geregistreerd wanneer de Plugin admin-http-rpc is ingeschakeld. Zie HTTP-RPC voor beheer voor het authenticatiemodel, de toegestane methoden en een vergelijking met de WebSocket-API.

Toegang via Tailscale

Geïntegreerde Serve (aanbevolen)

Houd de Gateway op loopback en laat Tailscale Serve deze via een proxy doorgeven:

json5
{  gateway: {    bind: "loopback",    tailscale: { mode: "serve" },  },}

Start de Gateway:

bash
openclaw gateway

Open https://<magicdns>/ (of jouw geconfigureerde gateway.controlUi.basePath).

Tailnet-binding + token

json5
{  gateway: {    bind: "tailnet",    controlUi: { enabled: true },    auth: { mode: "token", token: "your-token" },  },}

Start de Gateway (dit niet-loopbackvoorbeeld gebruikt tokenauthenticatie met een gedeeld geheim):

bash
openclaw gateway

Open http://<tailscale-ip>:18789/ (of jouw geconfigureerde gateway.controlUi.basePath).

Openbaar internet (Funnel)

json5
{  gateway: {    bind: "loopback",    tailscale: { mode: "funnel" },    auth: { mode: "password" }, // of OPENCLAW_GATEWAY_PASSWORD  },}

tailscale.mode: "funnel" vereist gateway.auth.mode: "password"; zowel Serve als Funnel vereisen gateway.bind: "loopback".

Beveiligingsopmerkingen

  • Gateway-authenticatie is standaard vereist: token, wachtwoord, vertrouwde proxy of, indien ingeschakeld, identiteitsheaders van Tailscale Serve.
  • Niet-loopbackbindings vereisen nog steeds Gateway-authenticatie: token-/wachtwoordauthenticatie of een identiteitsbewuste reverse proxy met gateway.auth.mode: "trusted-proxy".
  • De onboardingwizard maakt standaard authenticatie met een gedeeld geheim aan en genereert meestal een Gateway-token, zelfs op loopback.
  • In de modus met een gedeeld geheim verzendt de interface connect.params.auth.token of connect.params.auth.password tijdens de WebSocket-handshake.
  • Met gateway.tls.enabled: true geven lokale dashboard-/statushulpprogramma's https://-URL's en wss://-WebSocket-URL's weer.
  • In modi met identiteitsgegevens (Tailscale Serve, trusted-proxy) wordt aan de WebSocket-authenticatiecontrole voldaan via aanvraagheaders in plaats van een gedeeld geheim.
  • Stel voor openbare niet-loopbackimplementaties van de beheerinterface gateway.controlUi.allowedOrigins expliciet in (volledige origins). Privéloads met dezelfde origin worden zonder deze instelling geaccepteerd voor loopback, RFC1918/link-local, .local, .ts.net en Tailscale-CGNAT-hosts.
  • gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback: true schakelt terugval naar de Host-header voor de origin in; dit is een gevaarlijke afzwakking van de beveiliging.
  • Met Serve voldoen de identiteitsheaders van Tailscale aan de authenticatie voor de beheerinterface/WebSocket wanneer gateway.auth.allowTailscale: true (geen token/wachtwoord vereist). HTTP-API-eindpunten gebruiken geen identiteitsheaders van Tailscale; ze volgen altijd de normale HTTP-authenticatiemodus van de Gateway. Stel gateway.auth.allowTailscale: false in om ook via Serve expliciete aanmeldgegevens te vereisen. Deze tokenloze flow gaat ervan uit dat de Gateway-host zelf wordt vertrouwd. Zie Tailscale en Beveiliging.

De interface bouwen

De Gateway biedt statische bestanden aan vanuit dist/control-ui:

bash
pnpm ui:build
Was this useful?
On this page

On this page