Web interfaces
वेब
Gateway, Gateway WebSocket वाले उसी पोर्ट से एक छोटा ब्राउज़र नियंत्रण UI (Vite + Lit) उपलब्ध कराता है:
- डिफ़ॉल्ट:
http://<host>:18789/ gateway.tls.enabled: trueके साथ:https://<host>:18789/- वैकल्पिक उपसर्ग:
gateway.controlUi.basePathसेट करें (उदा./openclaw)
क्षमताएँ नियंत्रण UI में दी गई हैं। यह पृष्ठ बाइंड मोड, सुरक्षा और अन्य वेब-संबंधी सतहों को कवर करता है।
कॉन्फ़िगरेशन (डिफ़ॉल्ट रूप से चालू)
एसेट मौजूद होने पर नियंत्रण UI डिफ़ॉल्ट रूप से सक्षम होता है (dist/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 प्रमाणीकरण जाँच साझा गुप्त के बजाय अनुरोध हेडर से पूरी होती है। - सार्वजनिक गैर-लूपबैक नियंत्रण UI परिनियोजनों के लिए,
gateway.controlUi.allowedOriginsको स्पष्ट रूप से सेट करें (पूर्ण ओरिजिन)। लूपबैक, RFC1918/लिंक-लोकल,.local,.ts.netऔर Tailscale CGNAT होस्ट के लिए निजी समान-ओरिजिन लोड इसके बिना स्वीकार किए जाते हैं। gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback: trueHost हेडर ओरिजिन फ़ॉलबैक सक्षम करता है; यह सुरक्षा का एक खतरनाक अवनयन है।- Serve के साथ,
gateway.auth.allowTailscale: trueहोने पर Tailscale पहचान हेडर नियंत्रण UI/WebSocket प्रमाणीकरण को पूरा करते हैं (किसी टोकन/पासवर्ड की आवश्यकता नहीं)। HTTP API एंडपॉइंट Tailscale पहचान हेडर का उपयोग नहीं करते; वे हमेशा Gateway के सामान्य HTTP प्रमाणीकरण मोड का पालन करते हैं। Serve पर भी स्पष्ट क्रेडेंशियल आवश्यक करने के लिएgateway.auth.allowTailscale: falseसेट करें। यह टोकन-रहित प्रवाह मानता है कि स्वयं Gateway होस्ट विश्वसनीय है। Tailscale और सुरक्षा देखें।
UI बनाना
Gateway dist/control-ui से स्थिर फ़ाइलें उपलब्ध कराता है:
pnpm ui:build