मोड
- स्थानीय (यह Mac): सब कुछ लैपटॉप पर चलता है; SSH शामिल नहीं होता।
- SSH के माध्यम से रिमोट (डिफ़ॉल्ट): OpenClaw कमांड रिमोट होस्ट पर चलते हैं। ऐप
-o BatchMode, आपकी चुनी हुई आइडेंटिटी/कुंजी और स्थानीय पोर्ट-फ़ॉरवर्ड के साथ SSH कनेक्शन खोलता है। - सीधा रिमोट (ws/wss): कोई SSH टनल नहीं; ऐप सीधे Gateway URL से कनेक्ट होता है (LAN, Tailscale, Tailscale Serve या सार्वजनिक HTTPS रिवर्स प्रॉक्सी)।
रिमोट ट्रांसपोर्ट
- SSH टनल (डिफ़ॉल्ट): Gateway पोर्ट को localhost पर फ़ॉरवर्ड करने के लिए
ssh -N -L ...का उपयोग करता है। टनल के लूपबैक होने के कारण Gateway को Node का IP127.0.0.1के रूप में दिखाई देता है। - सीधा (ws/wss): सीधे Gateway URL से कनेक्ट होता है। Gateway को वास्तविक क्लाइंट IP दिखाई देता है।
ControlMaster या ForkAfterAuthentication सक्षम करता हो।
SSH होस्ट-कुंजी सत्यापन डिफ़ॉल्ट रूप से सख़्त होता है, क्योंकि Gateway क्रेडेंशियल इस टनल से होकर जाते हैं। किसी प्रबंधित SSH एलियास के अपने विश्वास व्यवहार को स्वीकार करने के लिए, openclaw-mac configure-remote के माध्यम से --ssh-host-key-policy openssh सेट करें, या सीधे gateway.remote.sshHostKeyPolicy को "openssh" पर सेट करें। इसे स्वीकार करने से पहले एलियास और उससे मेल खाने वाले किसी भी Host * या सिस्टम कॉन्फ़िगरेशन की समीक्षा करें। SSH लक्ष्य बदलने पर (ऐप में या configure-remote के माध्यम से), नीति वापस strict पर रीसेट हो जाती है, जब तक कि आप नए लक्ष्य के लिए इसे स्पष्ट रूप से फिर से स्वीकार न करें।
SSH टनल मोड में, खोजे गए LAN/Tailnet होस्टनेम gateway.remote.sshTarget के रूप में सहेजे जाते हैं। ऐप स्थानीय टनल एंडपॉइंट पर gateway.remote.url बनाए रखता है (उदाहरण के लिए ws://127.0.0.1:18789), ताकि CLI, Web Chat और स्थानीय Node-होस्ट सेवा सभी समान लूपबैक ट्रांसपोर्ट का उपयोग करें। जब खोज कच्चे Tailnet IP और स्थिर होस्टनेम दोनों लौटाती है, तो ऐप Tailscale MagicDNS या LAN नामों को प्राथमिकता देता है, ताकि पते बदलने पर भी कनेक्शन बेहतर ढंग से बने रहें। यदि स्थानीय टनल पोर्ट रिमोट Gateway पोर्ट से अलग है, तो gateway.remote.remotePort को रिमोट होस्ट के पोर्ट पर सेट करें।
रिमोट मोड में ब्राउज़र ऑटोमेशन का स्वामित्व CLI Node होस्ट के पास होता है, मूल macOS ऐप Node के पास नहीं। संभव होने पर ऐप इंस्टॉल की गई Node होस्ट सेवा शुरू करता है; उस Mac से ब्राउज़र नियंत्रण सक्षम करने के लिए, इसे openclaw node install ... और openclaw node start के साथ इंस्टॉल/शुरू करें (या openclaw node run ... को फ़ोरग्राउंड में चलाएँ), फिर उस ब्राउज़र-सक्षम Node को लक्ष्य बनाएँ।
रिमोट होस्ट पर पूर्वापेक्षाएँ
- Node + pnpm इंस्टॉल करें और OpenClaw CLI (
pnpm install && pnpm build && pnpm link --global) को बिल्ड/इंस्टॉल करें। - सुनिश्चित करें कि गैर-इंटरैक्टिव शेल के लिए
openclawPATH में है (आवश्यक होने पर/usr/local/binया/opt/homebrew/binमें सिमलिंक बनाएँ)। - SSH ट्रांसपोर्ट के लिए: कुंजी-आधारित SSH प्रमाणीकरण सेट करें। LAN से बाहर स्थिर पहुँच के लिए Tailscale IP की अनुशंसा की जाती है।
macOS ऐप सेटअप
स्वागत प्रवाह के बिना ऐप को पहले से कॉन्फ़िगर करने के लिए, SSH के माध्यम से:openclaw-mac connect, wizard और configure-remote सक्रिय कॉन्फ़िगरेशन को इस क्रम में हल करते हैं: OPENCLAW_CONFIG_PATH, फिर $OPENCLAW_STATE_DIR/openclaw.json, फिर ~/.openclaw/openclaw.json। दोनों कॉन्फ़िगरेशन रूप उस सक्रिय फ़ाइल में लिखते हैं, ऑनबोर्डिंग को पूर्ण चिह्नित करते हैं और अगली बार शुरू होने पर ऐप को चयनित ट्रांसपोर्ट का स्वामित्व लेने देते हैं। --local-port/--remote-port डिफ़ॉल्ट रूप से 18789 होते हैं। अन्य फ़्लैग: --password, --identity <path>, --ssh-host-key-policy <strict|openssh>, --project-root <path>, --cli-path <path>, --json। संपूर्ण संदर्भ के लिए openclaw-mac configure-remote --help चलाएँ।
इसके बजाय UI से कॉन्फ़िगर करने के लिए:
- Settings -> General खोलें।
- OpenClaw runs के अंतर्गत, Remote चुनें और ये सेट करें:
- Transport: SSH tunnel या Direct (ws/wss)।
- SSH target:
user@host(वैकल्पिक:port)। यदि Gateway समान LAN पर है और Bonjour के माध्यम से प्रसारित होता है, तो इस फ़ील्ड को स्वतः भरने के लिए खोजी गई सूची से उसे चुनें। - Gateway URL (केवल Direct):
wss://gateway.example.ts.net(या स्थानीय/LAN के लिएws://...)। - Identity file (उन्नत): आपकी कुंजी का पथ।
- Project root (उन्नत): कमांड के लिए उपयोग किया जाने वाला रिमोट चेकआउट पथ।
- CLI path (उन्नत): चलाने योग्य
openclawएंट्रीपॉइंट/बाइनरी का वैकल्पिक पथ (प्रसारित होने पर स्वतः भरा जाता है)।
- Test remote दबाएँ। सफलता का अर्थ है कि रिमोट
openclaw status --jsonसही ढंग से चला। विफलताएँ आमतौर पर PATH/CLI समस्याओं का संकेत देती हैं; एग्ज़िट 127 का अर्थ है कि CLI रिमोट रूप से नहीं मिला। - स्वास्थ्य जाँच और Web Chat अब चयनित ट्रांसपोर्ट के माध्यम से स्वचालित रूप से चलते हैं।
Web Chat
- SSH टनल: फ़ॉरवर्ड किए गए WebSocket नियंत्रण पोर्ट (डिफ़ॉल्ट 18789) के माध्यम से Gateway से कनेक्ट होता है।
- सीधा (ws/wss): सीधे कॉन्फ़िगर किए गए Gateway URL से कनेक्ट होता है।
- कोई अलग Web Chat HTTP सर्वर नहीं है।
अनुमतियाँ
- रिमोट होस्ट को स्थानीय होस्ट के समान TCC अनुमोदनों (Automation, Accessibility, Screen Recording, Microphone, Speech Recognition, Notifications) की आवश्यकता होती है। इन्हें प्रदान करने के लिए उस मशीन पर एक बार ऑनबोर्डिंग चलाएँ।
- Node अपनी अनुमति स्थिति को
node.list/node.describeके माध्यम से प्रसारित करते हैं, ताकि एजेंट जान सकें कि क्या उपलब्ध है।
सुरक्षा संबंधी टिप्पणियाँ
- रिमोट होस्ट पर लूपबैक बाइंड को प्राथमिकता दें और SSH, Tailscale Serve या किसी विश्वसनीय Tailnet/LAN सीधे URL के माध्यम से कनेक्ट करें।
- SSH टनलिंग के लिए डिफ़ॉल्ट रूप से पहले से विश्वसनीय होस्ट कुंजी आवश्यक होती है। पहले होस्ट कुंजी पर विश्वास स्थापित करें (उसे कॉन्फ़िगर की गई known-hosts फ़ाइल में जोड़ें), या किसी ऐसे प्रबंधित एलियास के लिए स्पष्ट रूप से
gateway.remote.sshHostKeyPolicy: "openssh"सेट करें जिसकी OpenSSH विश्वास नीति आपको स्वीकार है। - यदि आप Gateway को गैर-लूपबैक इंटरफ़ेस से बाइंड करते हैं, तो वैध Gateway प्रमाणीकरण आवश्यक करें: टोकन, पासवर्ड या
gateway.auth.mode: "trusted-proxy"वाला आइडेंटिटी-जागरूक रिवर्स प्रॉक्सी। - सीधे
wss://कनेक्शन ऑपरेटर/नियंत्रण ट्रैफ़िक और Mac सहायक Node, दोनों पर एक ही प्रमाणपत्र नीति लागू करते हैं। स्पष्ट पिन के लिएgateway.remote.tlsFingerprintसेट करें। इसके बिना, ऐप सामान्य macOS विश्वास सफल होने के बाद ही प्रथम-उपयोग पिन दर्ज करता है। - सुरक्षा और Tailscale देखें।
WhatsApp लॉगिन प्रवाह (रिमोट)
openclaw channels login --channel whatsapp --verboseको रिमोट होस्ट पर चलाएँ। अपने फ़ोन पर WhatsApp से QR स्कैन करें।- यदि प्रमाणीकरण की अवधि समाप्त हो जाए, तो उस होस्ट पर लॉगिन फिर से चलाएँ। स्वास्थ्य जाँच लिंक संबंधी समस्याएँ दिखाती है।
समस्या निवारण
सूचना ध्वनियाँ
openclaw nodes notify वाली स्क्रिप्ट से प्रत्येक सूचना के लिए ध्वनि चुनें, उदाहरण के लिए: