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 डिफ़ॉल्ट रूप से सक्षम होता है:

json5
{  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 को इसका प्रॉक्सी बनाने दें:

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

Gateway शुरू करें:

bash
openclaw gateway

https://<magicdns>/ (या अपना कॉन्फ़िगर किया हुआ gateway.controlUi.basePath) खोलें।

Tailnet बाइंड + टोकन

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

Gateway शुरू करें (यह गैर-लूपबैक उदाहरण साझा-सीक्रेट टोकन प्रमाणीकरण का उपयोग करता है):

bash
openclaw gateway

http://<tailscale-ip>:18789/ (या अपना कॉन्फ़िगर किया हुआ gateway.controlUi.basePath) खोलें।

सार्वजनिक इंटरनेट (Funnel)

json5
{  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: true Host हेडर ओरिजिन फ़ॉलबैक सक्षम करता है; यह सुरक्षा का एक खतरनाक अवनयन है।
  • 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 से स्थिर फ़ाइलें उपलब्ध कराता है:

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

On this page