Gateway udostępnia mały przeglądarkowy Control UI (Vite + Lit) z tego samego portu co WebSocket Gateway:Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
- domyślnie:
http://<host>:18789/ - z
gateway.tls.enabled: true:https://<host>:18789/ - opcjonalny prefiks: ustaw
gateway.controlUi.basePath(np./openclaw)
Webhooki
Gdyhooks.enabled=true, Gateway udostępnia także mały punkt końcowy webhooka na tym samym serwerze HTTP.
Zobacz konfigurację Gateway → hooks, aby poznać uwierzytelnianie i ładunki.
Konfiguracja (domyślnie włączona)
Control UI jest domyślnie włączony, gdy zasoby są obecne (dist/control-ui).
Możesz sterować nim przez konfigurację:
Dostęp przez Tailscale
Zintegrowane Serve (zalecane)
Pozostaw Gateway na loopback i pozwól Tailscale Serve pośredniczyć w dostępie:https://<magicdns>/(lub skonfigurowanygateway.controlUi.basePath)
Wiązanie tailnet + token
http://<tailscale-ip>:18789/(lub skonfigurowanygateway.controlUi.basePath)
Publiczny internet (Funnel)
Uwagi dotyczące bezpieczeństwa
- Uwierzytelnianie Gateway jest domyślnie wymagane (token, hasło, zaufany serwer proxy albo nagłówki tożsamości Tailscale Serve, gdy są włączone).
- Wiązania bez loopback nadal wymagają uwierzytelniania Gateway. W praktyce oznacza to uwierzytelnianie tokenem/hasłem albo świadomy tożsamości zwrotny serwer proxy z
gateway.auth.mode: "trusted-proxy". - Kreator domyślnie tworzy uwierzytelnianie współdzielonym sekretem i zwykle generuje token Gateway (nawet na loopback).
- W trybie współdzielonego sekretu UI wysyła
connect.params.auth.tokenalboconnect.params.auth.password. - Gdy
gateway.tls.enabled: true, lokalny pulpit i pomocnicze narzędzia statusu renderują adresy URL pulpituhttps://oraz adresy URL WebSocketwss://. - W trybach przenoszących tożsamość, takich jak Tailscale Serve albo
trusted-proxy, kontrola uwierzytelniania WebSocket jest spełniana zamiast tego z nagłówków żądania. - W przypadku wdrożeń Control UI bez loopback ustaw jawnie
gateway.controlUi.allowedOrigins(pełne źródła). Bez tego uruchomienie Gateway jest domyślnie odrzucane. gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback=truewłącza tryb awaryjnego pochodzenia na podstawie nagłówka Host, ale jest to niebezpieczne obniżenie poziomu bezpieczeństwa.- Z Serve nagłówki tożsamości Tailscale mogą spełnić uwierzytelnianie Control UI/WebSocket, gdy
gateway.auth.allowTailscalema wartośćtrue(token/hasło nie są wymagane). Punkty końcowe HTTP API nie używają tych nagłówków tożsamości Tailscale; zamiast tego stosują normalny tryb uwierzytelniania HTTP Gateway. Ustawgateway.auth.allowTailscale: false, aby wymagać jawnych poświadczeń. Zobacz Tailscale i Bezpieczeństwo. Ten przepływ bez tokena zakłada, że host Gateway jest zaufany. gateway.tailscale.mode: "funnel"wymagagateway.auth.mode: "password"(współdzielone hasło).
Budowanie UI
Gateway udostępnia pliki statyczne zdist/control-ui. Zbuduj je poleceniem: