Web interfaces
वेब
Gateway, Gateway WebSocket वाले उसी पोर्ट से एक छोटा ब्राउज़र Control UI (Vite + Lit) उपलब्ध कराता है:
- डिफ़ॉल्ट:
http://<host>:18789/ gateway.tls.enabled: trueके साथ:https://<host>:18789/- वैकल्पिक प्रीफ़िक्स:
gateway.controlUi.basePathसेट करें (उदा./openclaw)
क्षमताएँ Control UI में उपलब्ध हैं। इस पृष्ठ में बाइंड मोड, सुरक्षा और अन्य वेब-सामना करने वाली सतहें शामिल हैं।
कॉन्फ़िगरेशन (डिफ़ॉल्ट रूप से चालू)
एसेट मौजूद होने पर (dist/control-ui) Control UI डिफ़ॉल्ट रूप से सक्षम होता है:
{ gateway: { controlUi: { enabled: true, basePath: "/openclaw" }, // basePath वैकल्पिक है },}Webhook
जब hooks.enabled=true, तब Gateway उसी HTTP सर्वर पर एक Webhook एंडपॉइंट भी उपलब्ध कराता है। प्रमाणीकरण और पेलोड के लिए Gateway कॉन्फ़िगरेशन संदर्भ में hooks देखें।
एडमिन HTTP RPC
POST /api/v1/admin/rpc चयनित Gateway कंट्रोल-प्लेन विधियों को HTTP पर उपलब्ध कराता है। यह डिफ़ॉल्ट रूप से बंद है; केवल admin-http-rpc Plugin सक्षम होने पर पंजीकृत होता है। प्रमाणीकरण मॉडल, अनुमत विधियों और WebSocket API से तुलना के लिए एडमिन HTTP RPC देखें।
Tailscale एक्सेस
एकीकृत Serve (अनुशंसित)
Gateway को लूपबैक पर रखें और Tailscale Serve को इसका प्रॉक्सी बनाने दें:
{ gateway: { bind: "loopback", tailscale: { mode: "serve" }, },}Gateway शुरू करें:
openclaw gatewayhttps://<magicdns>/ (या अपना कॉन्फ़िगर किया हुआ gateway.controlUi.basePath) खोलें।
Tailnet बाइंड + टोकन
{ gateway: { bind: "tailnet", controlUi: { enabled: true }, auth: { mode: "token", token: "your-token" }, },}Gateway शुरू करें (यह गैर-लूपबैक उदाहरण साझा-सीक्रेट टोकन प्रमाणीकरण का उपयोग करता है):
openclaw gatewayhttp://<tailscale-ip>:18789/ (या अपना कॉन्फ़िगर किया हुआ gateway.controlUi.basePath) खोलें।
सार्वजनिक इंटरनेट (Funnel)
{ gateway: { bind: "loopback", tailscale: { mode: "funnel" }, auth: { mode: "password" }, // या OPENCLAW_GATEWAY_PASSWORD },}tailscale.mode: "funnel" के लिए gateway.auth.mode: "password" आवश्यक है; Serve और Funnel, दोनों के लिए gateway.bind: "loopback" आवश्यक है।
सुरक्षा संबंधी टिप्पणियाँ
- Gateway प्रमाणीकरण डिफ़ॉल्ट रूप से आवश्यक है: सक्षम होने पर टोकन, पासवर्ड, विश्वसनीय प्रॉक्सी या Tailscale Serve पहचान हेडर।
- गैर-लूपबैक बाइंड के लिए भी Gateway प्रमाणीकरण आवश्यक है: टोकन/पासवर्ड प्रमाणीकरण या
gateway.auth.mode: "trusted-proxy"वाला पहचान-जागरूक रिवर्स प्रॉक्सी। - ऑनबोर्डिंग विज़ार्ड डिफ़ॉल्ट रूप से साझा-सीक्रेट प्रमाणीकरण बनाता है और आम तौर पर लूपबैक पर भी Gateway टोकन जनरेट करता है।
- साझा-सीक्रेट मोड में, UI WebSocket हैंडशेक के दौरान
connect.params.auth.tokenयाconnect.params.auth.passwordभेजता है। gateway.tls.enabled: trueके साथ, स्थानीय डैशबोर्ड/स्थिति सहायकhttps://URL औरwss://WebSocket URL रेंडर करते हैं।- पहचान-संवाहक मोड (Tailscale Serve,
trusted-proxy) में, WebSocket प्रमाणीकरण जाँच साझा सीक्रेट के बजाय अनुरोध हेडर से पूरी होती है। - सार्वजनिक गैर-लूपबैक Control UI परिनियोजनों के लिए,
gateway.controlUi.allowedOriginsको स्पष्ट रूप से सेट करें (पूर्ण ओरिजिन)। लूपबैक, RFC1918/लिंक-लोकल,.local,.ts.netऔर Tailscale CGNAT होस्ट के लिए निजी समान-ओरिजिन लोड इसके बिना स्वीकार किए जाते हैं। gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback: trueHost हेडर ओरिजिन फ़ॉलबैक सक्षम करता है; यह सुरक्षा का एक खतरनाक अवनयन है।- Serve के साथ,
gateway.auth.allowTailscale: trueहोने पर Tailscale पहचान हेडर Control UI/WebSocket प्रमाणीकरण पूरा करते हैं (टोकन/पासवर्ड आवश्यक नहीं)। HTTP API एंडपॉइंट Tailscale पहचान हेडर का उपयोग नहीं करते; वे हमेशा Gateway के सामान्य HTTP प्रमाणीकरण मोड का पालन करते हैं। Serve पर भी स्पष्ट क्रेडेंशियल आवश्यक करने के लिएgateway.auth.allowTailscale: falseसेट करें। यह टोकन-रहित प्रवाह मानता है कि Gateway होस्ट स्वयं विश्वसनीय है। Tailscale और सुरक्षा देखें।
UI बनाना
Gateway dist/control-ui से स्थिर फ़ाइलें उपलब्ध कराता है:
pnpm ui:build