/ पर सर्व किया जाता है
(gateway.controlUi.basePath से ओवरराइड करें).
त्वरित खोलना (स्थानीय Gateway):
- http://127.0.0.1:18789/ (या http://localhost:18789/)
gateway.tls.enabled: trueके साथ, WebSocket endpoint के लिएhttps://127.0.0.1:18789/औरwss://127.0.0.1:18789का उपयोग करें.
- उपयोग और UI क्षमताओं के लिए Control UI.
- Serve/Funnel automation के लिए Tailscale.
- bind modes और सुरक्षा नोट्स के लिए वेब सतहें.
connect.params.auth.tokenconnect.params.auth.password- Tailscale Serve identity headers जब
gateway.auth.allowTailscale: true - trusted-proxy identity headers जब
gateway.auth.mode: "trusted-proxy"
gateway.auth देखें.
सुरक्षा नोट: Control UI एक admin surface है (chat, config, exec approvals).
इसे सार्वजनिक रूप से expose न करें. UI वर्तमान browser tab session और चुने गए gateway URL के लिए dashboard URL tokens को sessionStorage में रखता है, और load के बाद उन्हें URL से हटा देता है.
localhost, Tailscale Serve, या SSH tunnel को प्राथमिकता दें.
तेज़ पथ (अनुशंसित)
- Onboarding के बाद, CLI dashboard को auto-open करता है और एक clean (non-tokenized) link print करता है.
- कभी भी फिर से खोलें:
openclaw dashboard(link copy करता है, संभव हो तो browser खोलता है, headless होने पर SSH hint दिखाता है). - यदि clipboard और browser delivery fail हो जाए, तब भी
openclaw dashboardclean URL print करता है और आपको URL fragment keytokenके रूप मेंOPENCLAW_GATEWAY_TOKENयाgateway.auth.tokenसे token का उपयोग करने को कहता है; यह logs में token values print नहीं करता. - यदि UI shared-secret auth के लिए prompt करे, तो configured token या password को Control UI settings में paste करें.
Auth basics (local बनाम remote)
- Localhost:
http://127.0.0.1:18789/खोलें. - Gateway TLS: जब
gateway.tls.enabled: true, dashboard/status linkshttps://का उपयोग करते हैं और Control UI WebSocket linkswss://का उपयोग करते हैं. - Shared-secret token source:
gateway.auth.token(याOPENCLAW_GATEWAY_TOKEN);openclaw dashboardone-time bootstrap के लिए इसे URL fragment के माध्यम से pass कर सकता है, और Control UI इसे localStorage के बजाय वर्तमान browser tab session और चुने गए gateway URL के लिए sessionStorage में रखता है. - यदि
gateway.auth.tokenSecretRef-managed है, तोopenclaw dashboarddesign के अनुसार एक non-tokenized URL print/copy/open करता है. यह externally managed tokens को shell logs, clipboard history, या browser-launch arguments में expose होने से बचाता है. - यदि
gateway.auth.tokenSecretRef के रूप में configured है और आपकी current shell में unresolved है, तोopenclaw dashboardफिर भी एक non-tokenized URL और actionable auth setup guidance print करता है. - Shared-secret password: configured
gateway.auth.password(याOPENCLAW_GATEWAY_PASSWORD) का उपयोग करें. Dashboard reloads के बीच passwords persist नहीं करता. - Identity-bearing modes: Tailscale Serve identity headers के माध्यम से Control UI/WebSocket auth को satisfy कर सकता है जब
gateway.auth.allowTailscale: true, और एक non-loopback identity-aware reverse proxygateway.auth.mode: "trusted-proxy"को satisfy कर सकता है. इन modes में dashboard को WebSocket के लिए pasted shared secret की आवश्यकता नहीं होती. - Localhost नहीं: Tailscale Serve, non-loopback shared-secret bind,
gateway.auth.mode: "trusted-proxy"के साथ non-loopback identity-aware reverse proxy, या SSH tunnel का उपयोग करें. HTTP APIs तब भी shared-secret auth का उपयोग करते हैं जब तक आप जानबूझकर private-ingressgateway.auth.mode: "none"या trusted-proxy HTTP auth नहीं चलाते. वेब सतहें देखें.
यदि आपको “unauthorized” / 1008 दिखे
- सुनिश्चित करें कि gateway reachable है (local:
openclaw status; remote: SSH tunnelssh -N -L 18789:127.0.0.1:18789 user@hostफिरhttp://127.0.0.1:18789/खोलें). AUTH_TOKEN_MISMATCHके लिए, clients cached device token के साथ एक trusted retry कर सकते हैं जब gateway retry hints return करता है. वह cached-token retry token के cached approved scopes को reuse करता है; explicitdeviceToken/ explicitscopescallers अपना requested scope set रखते हैं. यदि उस retry के बाद भी auth fail हो, तो token drift को manually resolve करें.AUTH_SCOPE_MISMATCHके लिए, device token पहचाना गया था लेकिन उसमें dashboard के requested scopes नहीं हैं; shared gateway token rotate करने के बजाय requested scope contract को re-pair या approve करें.- उस retry path के बाहर, connect auth precedence पहले explicit shared token/password है, फिर explicit
deviceToken, फिर stored device token, फिर bootstrap token. - async Tailscale Serve Control UI path पर, उसी
{scope, ip}के लिए failed attempts को failed-auth limiter द्वारा record किए जाने से पहले serialized किया जाता है, इसलिए दूसरा concurrent bad retry पहले से हीretry laterदिखा सकता है. - token drift repair steps के लिए, Token drift recovery checklist का पालन करें.
- gateway host से shared secret retrieve या supply करें:
- Token:
openclaw config get gateway.auth.token - Password: configured
gateway.auth.passwordयाOPENCLAW_GATEWAY_PASSWORDresolve करें - SecretRef-managed token: external secret provider resolve करें या इस shell में
OPENCLAW_GATEWAY_TOKENexport करें, फिरopenclaw dashboardदोबारा चलाएं - कोई shared secret configured नहीं:
openclaw doctor --generate-gateway-token
- Token:
- Dashboard settings में, token या password को auth field में paste करें, फिर connect करें.
- UI language picker Overview -> Gateway Access -> Language में है. यह access card का हिस्सा है, Appearance section का नहीं.