Gateway
एकाधिक Gateway
अधिकांश सेटअप में एक ही Gateway का उपयोग करना चाहिए, क्योंकि एक Gateway कई मैसेजिंग कनेक्शन और एजेंट संभाल सकता है। यदि आपको अधिक मजबूत आइसोलेशन या रिडंडेंसी चाहिए (जैसे, रेस्क्यू बॉट), तो अलग-थलग प्रोफ़ाइल/पोर्ट के साथ अलग-अलग Gateways चलाएँ।
सबसे अनुशंसित सेटअप
अधिकांश उपयोगकर्ताओं के लिए, सबसे सरल रेस्क्यू-बॉट सेटअप है:
- मुख्य बॉट को डिफ़ॉल्ट प्रोफ़ाइल पर रखें
- रेस्क्यू बॉट को
--profile rescueपर चलाएँ - रेस्क्यू खाते के लिए पूरी तरह अलग Telegram बॉट का उपयोग करें
- रेस्क्यू बॉट को
19789जैसे किसी अलग बेस पोर्ट पर रखें
इससे रेस्क्यू बॉट मुख्य बॉट से अलग-थलग रहता है, ताकि प्राथमिक बॉट बंद होने पर वह डिबग कर सके या कॉन्फ़िगरेशन बदलाव लागू कर सके। बेस पोर्ट के बीच कम से कम 20 पोर्ट छोड़ें, ताकि व्युत्पन्न ब्राउज़र/कैनवास/CDP पोर्ट कभी टकराएँ नहीं।
रेस्क्यू-बॉट त्वरित शुरुआत
जब तक आपके पास कुछ और करने का मजबूत कारण न हो, इसे डिफ़ॉल्ट पथ के रूप में उपयोग करें:
# Rescue bot (separate Telegram bot, separate profile, port 19789)openclaw --profile rescue onboardopenclaw --profile rescue gateway install --port 19789यदि आपका मुख्य बॉट पहले से चल रहा है, तो आमतौर पर आपको बस यही चाहिए।
openclaw --profile rescue onboard के दौरान:
- अलग Telegram बॉट टोकन का उपयोग करें
rescueप्रोफ़ाइल रखें- मुख्य बॉट से कम से कम 20 अधिक बेस पोर्ट उपयोग करें
- डिफ़ॉल्ट रेस्क्यू वर्कस्पेस स्वीकार करें, जब तक कि आप पहले से स्वयं कोई प्रबंधित न कर रहे हों
यदि ऑनबोर्डिंग ने आपके लिए रेस्क्यू सेवा पहले ही इंस्टॉल कर दी है, तो अंतिम gateway install की आवश्यकता नहीं है।
यह कैसे काम करता है
रेस्क्यू बॉट स्वतंत्र रहता है, क्योंकि इसका अपना होता है:
- प्रोफ़ाइल/कॉन्फ़िगरेशन
- स्टेट डायरेक्टरी
- वर्कस्पेस
- बेस पोर्ट (साथ ही व्युत्पन्न पोर्ट)
- Telegram बॉट टोकन
अधिकांश सेटअप के लिए, रेस्क्यू प्रोफ़ाइल हेतु पूरी तरह अलग Telegram बॉट का उपयोग करें:
- केवल ऑपरेटर के लिए रखना आसान
- अलग बॉट टोकन और पहचान
- मुख्य बॉट के चैनल/ऐप इंस्टॉल से स्वतंत्र
- मुख्य बॉट खराब होने पर सरल DM-आधारित रिकवरी पथ
--profile rescue onboard क्या बदलता है
openclaw --profile rescue onboard सामान्य ऑनबोर्डिंग फ़्लो का उपयोग करता है, लेकिन यह सब कुछ एक अलग प्रोफ़ाइल में लिखता है।
व्यवहार में, इसका मतलब है कि रेस्क्यू बॉट को अपना मिलता है:
- कॉन्फ़िगरेशन फ़ाइल
- स्टेट डायरेक्टरी
- वर्कस्पेस (डिफ़ॉल्ट रूप से
~/.openclaw/workspace-rescue) - प्रबंधित सेवा नाम
बाकी प्रॉम्प्ट सामान्य ऑनबोर्डिंग जैसे ही होते हैं।
सामान्य मल्टी-Gateway सेटअप
ऊपर दिया गया रेस्क्यू-बॉट लेआउट सबसे आसान डिफ़ॉल्ट है, लेकिन वही आइसोलेशन पैटर्न एक होस्ट पर Gateways के किसी भी जोड़े या समूह के लिए काम करता है।
अधिक सामान्य सेटअप के लिए, प्रत्येक अतिरिक्त Gateway को उसकी अपनी नामित प्रोफ़ाइल और अपना बेस पोर्ट दें:
# main (default profile)openclaw setupopenclaw gateway --port 18789 # extra gatewayopenclaw --profile ops setupopenclaw --profile ops gateway --port 19789यदि आप दोनों Gateways के लिए नामित प्रोफ़ाइल उपयोग करना चाहते हैं, तो वह भी काम करता है:
openclaw --profile main setupopenclaw --profile main gateway --port 18789 openclaw --profile ops setupopenclaw --profile ops gateway --port 19789सेवाएँ भी उसी पैटर्न का पालन करती हैं:
openclaw gateway installopenclaw --profile ops gateway install --port 19789जब आपको फ़ॉलबैक ऑपरेटर लेन चाहिए, तो रेस्क्यू-बॉट त्वरित शुरुआत का उपयोग करें। जब आपको अलग-अलग चैनलों, टेनेंट, वर्कस्पेस या ऑपरेशनल भूमिकाओं के लिए कई दीर्घकालिक Gateways चाहिए, तो सामान्य प्रोफ़ाइल पैटर्न का उपयोग करें।
आइसोलेशन चेकलिस्ट
प्रत्येक Gateway इंस्टेंस के लिए इन्हें अद्वितीय रखें:
OPENCLAW_CONFIG_PATH— प्रति-इंस्टेंस कॉन्फ़िगरेशन फ़ाइलOPENCLAW_STATE_DIR— प्रति-इंस्टेंस सेशन, क्रेडेंशियल, कैशagents.defaults.workspace— प्रति-इंस्टेंस वर्कस्पेस रूटgateway.port(या--port) — प्रति इंस्टेंस अद्वितीय- व्युत्पन्न ब्राउज़र/कैनवास/CDP पोर्ट
यदि ये साझा हैं, तो आपको कॉन्फ़िगरेशन रेस और पोर्ट टकराव मिलेंगे।
पोर्ट मैपिंग (व्युत्पन्न)
बेस पोर्ट = gateway.port (या OPENCLAW_GATEWAY_PORT / --port)।
- ब्राउज़र नियंत्रण सेवा पोर्ट = बेस + 2 (केवल loopback)
- कैनवास होस्ट Gateway HTTP सर्वर पर सर्व किया जाता है (
gateway.portवाले ही पोर्ट पर) - ब्राउज़र प्रोफ़ाइल CDP पोर्ट
browser.controlPort + 9 .. + 108से अपने-आप आवंटित होते हैं
यदि आप इनमें से किसी को कॉन्फ़िगरेशन या env में ओवरराइड करते हैं, तो आपको उन्हें प्रति इंस्टेंस अद्वितीय रखना होगा।
ब्राउज़र/CDP नोट्स (सामान्य गलती)
- कई इंस्टेंस पर
browser.cdpUrlको समान मानों पर पिन न करें। - प्रत्येक इंस्टेंस को अपना ब्राउज़र नियंत्रण पोर्ट और CDP रेंज चाहिए (उसके Gateway पोर्ट से व्युत्पन्न)।
- यदि आपको स्पष्ट CDP पोर्ट चाहिए, तो प्रति इंस्टेंस
browser.profiles.<name>.cdpPortसेट करें। - रिमोट Chrome:
browser.profiles.<name>.cdpUrlका उपयोग करें (प्रति प्रोफ़ाइल, प्रति इंस्टेंस)।
मैनुअल env उदाहरण
OPENCLAW_CONFIG_PATH=~/.openclaw/main.json \OPENCLAW_STATE_DIR=~/.openclaw \openclaw gateway --port 18789 OPENCLAW_CONFIG_PATH=~/.openclaw/rescue.json \OPENCLAW_STATE_DIR=~/.openclaw-rescue \openclaw gateway --port 19789त्वरित जाँचें
openclaw gateway status --deepopenclaw --profile rescue gateway status --deepopenclaw --profile rescue gateway probeopenclaw statusopenclaw --profile rescue statusopenclaw --profile rescue browser statusव्याख्या:
gateway status --deepपुराने इंस्टॉल से बासी launchd/systemd/schtasks सेवाओं को पकड़ने में मदद करता है।gateway probeचेतावनी टेक्स्ट, जैसेmultiple reachable gateway identities detected, केवल तब अपेक्षित है जब आप जानबूझकर एक से अधिक अलग-थलग Gateway चला रहे हों, या जब OpenClaw यह सिद्ध नहीं कर सकता कि पहुँच योग्य प्रोब लक्ष्य वही Gateway हैं। उसी Gateway के लिए SSH टनल, प्रॉक्सी URL या कॉन्फ़िगर किया गया रिमोट URL कई ट्रांसपोर्ट वाला एक Gateway है, भले ही ट्रांसपोर्ट पोर्ट अलग हों।