Gateway
समस्या निवारण
यह विस्तृत रनबुक है। पहले तेज़ ट्रायेज प्रवाह के लिए /help/troubleshooting से शुरू करें।
कमांड क्रम
इस क्रम में चलाएँ:
openclaw statusopenclaw gateway statusopenclaw logs --followopenclaw doctoropenclaw channels status --probeस्वस्थ स्थिति के संकेत:
openclaw gateway statusमेंRuntime: running,Connectivity probe: ok, और एकCapability: ...पंक्ति दिखाई देती है।openclaw doctorकिसी अवरोधक कॉन्फ़िगरेशन/सेवा समस्या की रिपोर्ट नहीं करता।openclaw channels status --probeप्रत्येक अकाउंट की लाइव ट्रांसपोर्ट स्थिति और, जहाँ समर्थित हो,worksयाaudit okदिखाता है।
अपडेट के बाद
जब अपडेट पूरा हो जाए लेकिन Gateway बंद हो, चैनल खाली हों, या मॉडल कॉल 401 त्रुटियों के साथ विफल हों, तब इसका उपयोग करें।
openclaw status --allopenclaw update status --jsonopenclaw gateway status --deepopenclaw doctor --fixopenclaw gateway restartइनकी जाँच करें:
openclaw status/openclaw status --allमेंUpdate restart। लंबित या विफल हैंडऑफ़ में अगली चलाने योग्य कमांड शामिल होती है।- चैनल के अंतर्गत
plugin load failed: dependency tree corrupted; run openclaw doctor --fix: चैनल कॉन्फ़िगरेशन अभी भी मौजूद है, लेकिन चैनल लोड होने से पहले Plugin पंजीकरण विफल हो गया। - पुनः प्रमाणीकरण के बाद प्रदाता की 401 त्रुटियाँ:
openclaw doctor --fixप्रत्येक एजेंट के पुराने OAuth प्रमाणीकरण शैडो की जाँच करता है और पुरानी प्रतियाँ हटा देता है, ताकि सभी एजेंट वर्तमान साझा प्रोफ़ाइल का समाधान करें।
विभाजित इंस्टॉलेशन और नए कॉन्फ़िगरेशन की सुरक्षा
जब अपडेट के बाद कोई Gateway सेवा अप्रत्याशित रूप से बंद हो जाए, या लॉग दिखाएँ कि कोई openclaw बाइनरी उस संस्करण से पुरानी है जिसने अंतिम बार openclaw.json लिखा था, तब इसका उपयोग करें।
OpenClaw कॉन्फ़िगरेशन लेखन पर meta.lastTouchedVersion अंकित करता है। केवल-पढ़ने वाली कमांड नए OpenClaw द्वारा लिखे गए कॉन्फ़िगरेशन का निरीक्षण कर सकती हैं, लेकिन पुरानी बाइनरी से प्रक्रिया और सेवा में बदलाव करने से मना कर दिया जाता है। अवरुद्ध कार्रवाइयाँ: Gateway सेवा को शुरू/बंद/पुनः शुरू/अनइंस्टॉल करना, सेवा को बलपूर्वक पुनः इंस्टॉल करना, सेवा-मोड में Gateway शुरू करना, और gateway --force पोर्ट की सफ़ाई।
which openclawopenclaw --versionopenclaw gateway status --deepopenclaw config get meta.lastTouchedVersionPATH ठीक करें
PATH को ठीक करें ताकि openclaw नए इंस्टॉलेशन का समाधान करे, फिर कार्रवाई दोबारा चलाएँ।
Gateway सेवा को पुनः इंस्टॉल करें
नए इंस्टॉलेशन से इच्छित Gateway सेवा को पुनः इंस्टॉल करें:
openclaw gateway install --forceopenclaw gateway restartपुराने रैपर हटाएँ
पुराने सिस्टम पैकेज या रैपर प्रविष्टियाँ हटाएँ जो अभी भी किसी पुरानी openclaw बाइनरी की ओर संकेत करती हैं।
रोलबैक के बाद प्रोटोकॉल बेमेल
जब डाउनग्रेड या रोलबैक के बाद लॉग लगातार protocol mismatch प्रिंट करते रहें, तब इसका उपयोग करें। कोई पुराना Gateway चल रहा है, लेकिन नई स्थानीय क्लाइंट प्रक्रिया अभी भी ऐसे प्रोटोकॉल रेंज के साथ दोबारा कनेक्ट हो रही है जिसे पुराना Gateway नहीं समझ सकता।
openclaw --versionwhich -a openclawopenclaw gateway status --deepopenclaw doctor --deepopenclaw logs --followइनकी जाँच करें:
- Gateway लॉग में
protocol mismatch ... client=... v<version> min=<n> max=<n> expected=<n>। openclaw gateway status --deepमेंEstablished clients:याopenclaw doctor --deepमेंGateway clients: Gateway पोर्ट से जुड़े सक्रिय TCP क्लाइंट, जहाँ OS अनुमति देता है वहाँ PID और कमांड लाइन सहित।- ऐसी क्लाइंट प्रक्रिया जिसकी कमांड लाइन उस नए OpenClaw इंस्टॉलेशन या रैपर की ओर संकेत करती है जिससे आपने रोलबैक किया था।
समाधान:
gateway status --deepद्वारा दिखाई गई पुरानी OpenClaw क्लाइंट प्रक्रिया को बंद या पुनः शुरू करें।- OpenClaw को एम्बेड करने वाले ऐप या रैपर पुनः शुरू करें: स्थानीय डैशबोर्ड, एडिटर, ऐप-सर्वर सहायक, या लंबे समय से चल रहे
openclaw logs --followशेल। openclaw gateway status --deepयाopenclaw doctor --deepदोबारा चलाएँ और पुष्टि करें कि पुराना क्लाइंट PID हट गया है।
किसी पुराने Gateway से नया असंगत प्रोटोकॉल स्वीकार न करवाएँ। प्रोटोकॉल संस्करण वृद्धि वायर अनुबंध की रक्षा करती है; रोलबैक पुनर्प्राप्ति प्रक्रिया/संस्करण की सफ़ाई की समस्या है।
पथ से बाहर जाने के कारण Skills सिमलिंक छोड़ा गया
जब लॉग में यह शामिल हो, तब इसका उपयोग करें:
कॉन्फ़िगर की गई रूट से बाहर निकला Skills पथ छोड़ा जा रहा है: ... reason=symlink-escapeहर Skills रूट एक सीमाबद्धता सीमा है। ~/.agents/skills, <workspace>/.agents/skills, <workspace>/skills, या ~/.openclaw/skills के अंतर्गत कोई सिमलिंक तब छोड़ दिया जाता है जब उसका वास्तविक लक्ष्य उस रूट के बाहर समाधान होता है, जब तक कि लक्ष्य पर स्पष्ट रूप से भरोसा न किया गया हो।
लिंक का निरीक्षण करें:
ls -l ~/.agents/skills/<name>realpath ~/.agents/skills/<name>openclaw config get skills.loadयदि लक्ष्य जानबूझकर रखा गया है, तो सीधे Skills रूट और अनुमत सिमलिंक लक्ष्य दोनों को कॉन्फ़िगर करें:
{ skills: { load: { extraDirs: ["~/Projects/manager/skills"], allowSymlinkTargets: ["~/Projects/manager/skills"], }, },}फिर नया सत्र शुरू करें या Skills वॉचर के रीफ़्रेश होने की प्रतीक्षा करें। यदि चल रही प्रक्रिया कॉन्फ़िगरेशन परिवर्तन से पहले की है, तो Gateway पुनः शुरू करें।
~, /, या पूरे सिंक किए गए प्रोजेक्ट फ़ोल्डर जैसे व्यापक लक्ष्यों का उपयोग न करें। allowSymlinkTargets को उस वास्तविक Skills रूट तक सीमित रखें जिसमें विश्वसनीय SKILL.md डायरेक्टरी हों।
यदि Skill Workshop में लागू करने की कार्रवाई को उन विश्वसनीय सिमलिंक किए गए कार्यक्षेत्र Skills पथों के माध्यम से भी लिखना चाहिए, तो skills.workshop.allowSymlinkTargetWrites सक्षम करें। केवल-पढ़ने वाले साझा Skills रूट के लिए इसे अक्षम रखें।
संबंधित:
लंबे कॉन्टेक्स्ट के लिए Anthropic 429 अतिरिक्त उपयोग आवश्यक
जब लॉग/त्रुटियों में यह शामिल हो, तब इसका उपयोग करें: HTTP 429: rate_limit_error: Extra usage is required for long context requests।
openclaw logs --followopenclaw models statusopenclaw config get agents.defaults.modelsइनकी जाँच करें:
- चयनित Anthropic मॉडल GA-सक्षम 1M Claude 4.x मॉडल (Opus 4.6/4.7/4.8, Sonnet 4.6) है, या मॉडल कॉन्फ़िगरेशन में अभी भी पुराना
params.context1m: trueमौजूद है। - वर्तमान Anthropic क्रेडेंशियल लंबे कॉन्टेक्स्ट के उपयोग के लिए पात्र नहीं है।
- अनुरोध केवल लंबे सत्रों/मॉडल रन पर विफल होते हैं जिन्हें 1M कॉन्टेक्स्ट पथ की आवश्यकता होती है।
समाधान विकल्प:
मानक कॉन्टेक्स्ट विंडो का उपयोग करें
मानक-विंडो मॉडल पर स्विच करें, या ऐसे पुराने मॉडल कॉन्फ़िगरेशन से पुराना context1m हटाएँ
जो 1M कॉन्टेक्स्ट के लिए GA-सक्षम नहीं है।
पात्र क्रेडेंशियल का उपयोग करें
ऐसा Anthropic क्रेडेंशियल उपयोग करें जो लंबे कॉन्टेक्स्ट अनुरोधों के लिए पात्र हो, या Anthropic API कुंजी पर स्विच करें।
फ़ॉलबैक मॉडल कॉन्फ़िगर करें
फ़ॉलबैक मॉडल कॉन्फ़िगर करें ताकि Anthropic के लंबे कॉन्टेक्स्ट अनुरोध अस्वीकार होने पर भी रन जारी रहें।
संबंधित:
अपस्ट्रीम 403 अवरुद्ध प्रतिक्रियाएँ
जब कोई अपस्ट्रीम LLM प्रदाता Your request was blocked जैसी सामान्य 403 लौटाए, तब इसका उपयोग करें।
यह न मानें कि यह हमेशा OpenClaw कॉन्फ़िगरेशन की समस्या है। प्रतिक्रिया किसी अपस्ट्रीम सुरक्षा परत से आ सकती है, जैसे CDN, WAF, बॉट-प्रबंधन नियम, या OpenAI-संगत एंडपॉइंट के सामने स्थित रिवर्स प्रॉक्सी।
openclaw statusopenclaw gateway statusopenclaw logs --followइनकी जाँच करें:
- एक ही प्रदाता के अंतर्गत कई मॉडल समान तरीके से विफल हो रहे हैं।
- सामान्य प्रदाता API त्रुटि के बजाय HTML या सामान्य सुरक्षा टेक्स्ट।
- उसी अनुरोध समय के लिए प्रदाता-पक्ष की सुरक्षा घटनाएँ।
- एक छोटा सीधा
curlप्रोब सफल होता है, जबकि सामान्य SDK-आकार वाले अनुरोध विफल होते हैं।
जब प्रमाण WAF/CDN अवरोध की ओर संकेत करे, तो पहले प्रदाता-पक्ष की फ़िल्टरिंग ठीक करें। OpenClaw द्वारा उपयोग किए जाने वाले API पथ के लिए संकीर्ण दायरे वाला अनुमति या स्किप नियम अपनाएँ, और पूरी साइट की सुरक्षा अक्षम करने से बचें।
संबंधित:
स्थानीय OpenAI-संगत बैकएंड सीधे प्रोब में सफल होता है, लेकिन एजेंट रन विफल होते हैं
इन स्थितियों में इसका उपयोग करें:
curl ... /v1/modelsकाम करता है।- छोटी सीधी
/v1/chat/completionsकॉल काम करती हैं। - OpenClaw मॉडल रन केवल सामान्य एजेंट टर्न पर विफल होते हैं।
curl http://127.0.0.1:1234/v1/modelscurl http://127.0.0.1:1234/v1/chat/completions \ -H 'content-type: application/json' \ -d '{"model":"<id>","messages":[{"role":"user","content":"नमस्ते"}],"stream":false}'openclaw infer model run --model <provider/model> --prompt "नमस्ते" --jsonopenclaw logs --followइनकी जाँच करें:
- छोटी सीधी कॉल सफल होती हैं, लेकिन OpenClaw रन केवल बड़े प्रॉम्प्ट पर विफल होते हैं।
model_not_foundया 404 त्रुटियाँ, भले ही सीधा/v1/chat/completionsउसी मूल मॉडल आईडी के साथ काम करता हो।messages[].contentद्वारा स्ट्रिंग की अपेक्षा किए जाने से संबंधित बैकएंड त्रुटियाँ।- OpenAI-संगत स्थानीय बैकएंड के साथ रुक-रुककर आने वाली
incomplete turn detected ... stopReason=stop payloads=0चेतावनियाँ। - बैकएंड क्रैश जो केवल अधिक प्रॉम्प्ट-टोकन संख्या या पूर्ण एजेंट रनटाइम प्रॉम्प्ट के साथ दिखाई देते हैं।
सामान्य संकेत
- स्थानीय MLX/vLLM-शैली सर्वर के साथ
model_not_found: सत्यापित करें किbaseUrlमें/v1शामिल है,/v1/chat/completionsबैकएंड के लिएapi,"openai-completions"है, औरmodels.providers.<provider>.models[].idमूल प्रदाता-स्थानीय आईडी है। इसे प्रदाता उपसर्ग के साथ एक बार चुनें, उदाहरण के लिएmlx/mlx-community/Qwen3-30B-A3B-6bit; कैटलॉग प्रविष्टि कोmlx-community/Qwen3-30B-A3B-6bitही रखें। messages[...].content: invalid type: sequence, expected a string: बैकएंड संरचित Chat Completions कंटेंट भागों को अस्वीकार करता है। समाधान:models.providers.<provider>.models[].compat.requiresStringContent: trueसेट करें।validation.keysया["role","content"]जैसी अनुमत संदेश कुंजियाँ: बैकएंड Chat Completions संदेशों पर OpenAI-शैली के रीप्ले मेटाडेटा को अस्वीकार करता है। समाधान:models.providers.<provider>.models[].compat.strictMessageKeys: trueसेट करें।incomplete turn detected ... stopReason=stop payloads=0: बैकएंड ने Chat Completions अनुरोध पूरा किया, लेकिन उस टर्न के लिए उपयोगकर्ता को दिखाई देने वाला कोई सहायक टेक्स्ट नहीं लौटाया। OpenClaw रीप्ले-सुरक्षित खाली OpenAI-संगत टर्न को एक बार पुनः प्रयास करता है; लगातार विफलता का सामान्य अर्थ है कि बैकएंड खाली/गैर-टेक्स्ट कंटेंट दे रहा है या अंतिम उत्तर का टेक्स्ट रोक रहा है।- छोटे सीधे अनुरोध सफल होते हैं, लेकिन OpenClaw एजेंट रन बैकएंड/मॉडल क्रैश के साथ विफल होते हैं (उदाहरण के लिए कुछ
inferrsबिल्ड पर Gemma): संभवतः OpenClaw ट्रांसपोर्ट पहले से सही है; बैकएंड बड़े एजेंट-रनटाइम प्रॉम्प्ट आकार पर विफल हो रहा है। - टूल अक्षम करने के बाद विफलताएँ कम होती हैं लेकिन समाप्त नहीं होतीं: टूल स्कीमा दबाव का एक हिस्सा था, लेकिन शेष समस्या अभी भी अपस्ट्रीम मॉडल/सर्वर क्षमता या बैकएंड बग है।
समाधान विकल्प
- केवल-स्ट्रिंग Chat Completions बैकएंड के लिए
compat.requiresStringContent: trueसेट करें। - ऐसे सख्त Chat Completions बैकएंड के लिए
compat.strictMessageKeys: trueसेट करें जो प्रत्येक संदेश पर केवलroleऔरcontentस्वीकार करते हैं। - ऐसे मॉडल/बैकएंड के लिए
compat.supportsTools: falseसेट करें जो OpenClaw के टूल स्कीमा पृष्ठभाग को विश्वसनीय रूप से संभाल नहीं सकते। - जहाँ संभव हो, प्रॉम्प्ट दबाव कम करें: छोटा कार्यक्षेत्र बूटस्ट्रैप, संक्षिप्त सत्र इतिहास, हल्का स्थानीय मॉडल, या अधिक मजबूत लंबे-कॉन्टेक्स्ट समर्थन वाला बैकएंड।
- यदि छोटे सीधे अनुरोध लगातार सफल होते रहें, जबकि OpenClaw एजेंट टर्न अभी भी बैकएंड के भीतर क्रैश हों, तो इसे अपस्ट्रीम सर्वर/मॉडल की सीमा मानें और स्वीकृत पेलोड आकार के साथ वहाँ पुनरुत्पादन रिपोर्ट दर्ज करें।
संबंधित:
कोई उत्तर नहीं
यदि चैनल चालू हैं लेकिन कोई उत्तर नहीं मिल रहा है, तो किसी भी चीज़ को दोबारा कनेक्ट करने से पहले रूटिंग और नीति जाँचें।
openclaw statusopenclaw channels status --probeopenclaw pairing list --channel <channel> [--account <id>]openclaw config get channelsopenclaw logs --followइनकी तलाश करें:
- DM प्रेषकों के लिए पेयरिंग लंबित है।
- समूह उल्लेख गेटिंग (
requireMention,mentionPatterns)। - चैनल/समूह अनुमति-सूची में विसंगतियाँ।
सामान्य संकेत:
drop guild message (mention required→ उल्लेख होने तक समूह संदेश अनदेखा किया गया।pairing request→ प्रेषक को अनुमोदन चाहिए।blocked/allowlist→ प्रेषक/चैनल को नीति द्वारा फ़िल्टर किया गया था।
संबंधित:
डैशबोर्ड नियंत्रण UI कनेक्टिविटी
जब डैशबोर्ड/नियंत्रण UI कनेक्ट न हो, तो URL, प्रमाणीकरण मोड और सुरक्षित कॉन्टेक्स्ट से जुड़ी धारणाओं को सत्यापित करें।
openclaw gateway statusopenclaw statusopenclaw logs --followopenclaw doctoropenclaw gateway status --jsonइनकी तलाश करें:
- सही प्रोब URL और डैशबोर्ड URL।
- क्लाइंट और Gateway के बीच प्रमाणीकरण मोड/टोकन में विसंगति।
- जहाँ डिवाइस पहचान आवश्यक है, वहाँ HTTP का उपयोग।
यदि अपडेट के बाद कोई स्थानीय ब्राउज़र 127.0.0.1:18789 से कनेक्ट नहीं हो सकता, तो पहले स्थानीय Gateway सेवा को पुनः चालू करें और पुष्टि करें कि वह डैशबोर्ड उपलब्ध करा रही है:
openclaw gateway restartlsof -i :18789curl http://127.0.0.1:18789यदि curl OpenClaw HTML लौटाता है, तो Gateway काम कर रहा है और शेष समस्या संभवतः ब्राउज़र कैश, कोई पुराना डीप लिंक या टैब की बासी स्थिति है। http://127.0.0.1:18789 को सीधे खोलें और डैशबोर्ड से नेविगेट करें। यदि पुनः आरंभ करने के बाद सेवा चलती नहीं रहती, तो openclaw gateway start चलाएँ और openclaw gateway status को दोबारा जाँचें।
कनेक्शन / प्रमाणीकरण संकेत
device identity required→ असुरक्षित कॉन्टेक्स्ट या डिवाइस प्रमाणीकरण अनुपस्थित।origin not allowed→ ब्राउज़रOrigin,gateway.controlUi.allowedOriginsमें नहीं है (या आप स्पष्ट अनुमति-सूची के बिना किसी गैर-लूपबैक ब्राउज़र मूल से कनेक्ट कर रहे हैं)।device nonce required/device nonce mismatch→ क्लाइंट चुनौती-आधारित डिवाइस प्रमाणीकरण प्रवाह (connect.challenge+device.nonce) पूरा नहीं कर रहा है।device signature invalid/device signature expired→ क्लाइंट ने मौजूदा हैंडशेक के लिए गलत पेलोड (या बासी टाइमस्टैम्प) पर हस्ताक्षर किए।AUTH_TOKEN_MISMATCHके साथcanRetryWithDeviceToken=true→ क्लाइंट कैश किए गए डिवाइस टोकन के साथ एक विश्वसनीय पुनः प्रयास कर सकता है।- कैश-टोकन वाला वह पुनः प्रयास, पेयर किए गए डिवाइस टोकन के साथ संग्रहीत कैश किए गए स्कोप सेट का फिर से उपयोग करता है। इसके बजाय स्पष्ट
deviceToken/ स्पष्टscopesकॉलर अपना अनुरोधित स्कोप सेट बनाए रखते हैं। AUTH_SCOPE_MISMATCH→ डिवाइस टोकन पहचाना गया था, लेकिन उसके अनुमोदित स्कोप इस कनेक्शन अनुरोध को कवर नहीं करते; साझा Gateway टोकन को बदलने के बजाय फिर से पेयर करें या अनुरोधित स्कोप अनुबंध को अनुमोदित करें।- उस पुनः प्रयास पथ के बाहर, कनेक्शन प्रमाणीकरण की प्राथमिकता में पहले स्पष्ट साझा टोकन/पासवर्ड, फिर स्पष्ट
deviceToken, फिर संग्रहीत डिवाइस टोकन और अंत में बूटस्ट्रैप टोकन आता है। - असिंक्रोनस Tailscale Serve नियंत्रण UI पथ पर, समान
{scope, ip}के विफल प्रयासों को लिमिटर द्वारा विफलता दर्ज करने से पहले क्रमबद्ध किया जाता है। इसलिए एक ही क्लाइंट से एक साथ किए गए दो गलत पुनः प्रयास, दो साधारण विसंगतियों के बजाय दूसरे प्रयास परretry laterदिखा सकते हैं। - ब्राउज़र-मूल लूपबैक क्लाइंट से
too many failed authentication attempts (retry later)→ उसी सामान्यीकृतOriginसे बार-बार होने वाली विफलताओं को अस्थायी रूप से अवरुद्ध किया जाता है; कोई अन्य localhost मूल अलग बकेट का उपयोग करता है। - उस पुनः प्रयास के बाद बार-बार
unauthorized→ साझा टोकन/डिवाइस टोकन में अंतर; टोकन कॉन्फ़िगरेशन रीफ़्रेश करें और आवश्यकता होने पर डिवाइस टोकन को फिर से अनुमोदित/परिवर्तित करें। gateway connect failed:→ गलत होस्ट/पोर्ट/URL लक्ष्य।
प्रमाणीकरण विवरण कोड का त्वरित मानचित्र
अगली कार्रवाई चुनने के लिए विफल connect प्रतिक्रिया से error.details.code का उपयोग करें:
| विवरण कोड | अर्थ | अनुशंसित कार्रवाई |
|---|---|---|
AUTH_TOKEN_MISSING |
क्लाइंट ने आवश्यक साझा टोकन नहीं भेजा। | क्लाइंट में टोकन पेस्ट/सेट करें और पुनः प्रयास करें। डैशबोर्ड पथों के लिए: openclaw config get gateway.auth.token, फिर उसे नियंत्रण UI सेटिंग में पेस्ट करें। |
AUTH_TOKEN_MISMATCH |
साझा टोकन Gateway प्रमाणीकरण टोकन से मेल नहीं खाता। | यदि canRetryWithDeviceToken=true है, तो एक विश्वसनीय पुनः प्रयास की अनुमति दें। कैश-टोकन वाले पुनः प्रयास संग्रहीत अनुमोदित स्कोप का फिर से उपयोग करते हैं; स्पष्ट deviceToken / scopes कॉलर अनुरोधित स्कोप बनाए रखते हैं। यदि फिर भी विफलता हो, तो टोकन अंतर पुनर्प्राप्ति जाँच-सूची का पालन करें। |
AUTH_DEVICE_TOKEN_MISMATCH |
प्रति-डिवाइस कैश किया गया टोकन बासी है या निरस्त कर दिया गया है। | डिवाइस CLI का उपयोग करके डिवाइस टोकन को परिवर्तित/पुनः अनुमोदित करें, फिर दोबारा कनेक्ट करें। |
AUTH_SCOPE_MISMATCH |
डिवाइस टोकन मान्य है, लेकिन उसकी अनुमोदित भूमिका/स्कोप इस कनेक्शन अनुरोध को कवर नहीं करते। | डिवाइस को फिर से पेयर करें या अनुरोधित स्कोप अनुबंध अनुमोदित करें; इसे साझा-टोकन अंतर न मानें। |
PAIRING_REQUIRED |
डिवाइस पहचान को अनुमोदन चाहिए। not-paired, scope-upgrade, role-upgrade या metadata-upgrade के लिए error.details.reason जाँचें और उपलब्ध होने पर requestId / remediationHint का उपयोग करें। |
लंबित अनुरोध अनुमोदित करें: openclaw devices list, फिर openclaw devices approve <requestId>। अनुरोधित पहुँच की समीक्षा के बाद स्कोप/भूमिका अपग्रेड भी इसी प्रवाह का उपयोग करते हैं। |
डिवाइस प्रमाणीकरण v2 माइग्रेशन जाँच:
openclaw --versionopenclaw doctoropenclaw gateway statusयदि लॉग नॉन्स/हस्ताक्षर त्रुटियाँ दिखाते हैं, तो कनेक्ट करने वाले क्लाइंट को अपडेट करें और इसे सत्यापित करें:
connect.challenge की प्रतीक्षा करें
क्लाइंट Gateway द्वारा जारी connect.challenge की प्रतीक्षा करता है।
पेलोड पर हस्ताक्षर करें
क्लाइंट चुनौती-बद्ध पेलोड पर हस्ताक्षर करता है।
डिवाइस नॉन्स भेजें
क्लाइंट समान चुनौती नॉन्स के साथ connect.params.device.nonce भेजता है।
यदि openclaw devices rotate / revoke / remove को अप्रत्याशित रूप से अस्वीकार किया जाता है:
- पेयर किए गए डिवाइस की टोकन-सत्र केवल अपने ही डिवाइस का प्रबंधन कर सकते हैं, जब तक कि कॉलर के पास
operator.adminभी न हो। openclaw devices rotate --scope ...केवल उन्हीं ऑपरेटर स्कोप का अनुरोध कर सकता है जो कॉलर सत्र के पास पहले से हैं।
संबंधित:
- कॉन्फ़िगरेशन (Gateway प्रमाणीकरण मोड)
- नियंत्रण UI
- डिवाइस
- दूरस्थ पहुँच
- विश्वसनीय प्रॉक्सी प्रमाणीकरण
Gateway सेवा नहीं चल रही है
इसका उपयोग तब करें जब सेवा इंस्टॉल हो, लेकिन प्रक्रिया चालू न रहे।
openclaw gateway statusopenclaw statusopenclaw logs --followopenclaw doctoropenclaw gateway status --deep # सिस्टम-स्तरीय सेवाओं को भी स्कैन करेंइनकी तलाश करें:
- बाहर निकलने के संकेतों के साथ
Runtime: stopped। - सेवा कॉन्फ़िगरेशन में विसंगति (
Config (cli)बनामConfig (service))। - पोर्ट/लिसनर टकराव।
--deepका उपयोग होने पर अतिरिक्त launchd/systemd/schtasks इंस्टॉलेशन।Other gateway-like services detected (best effort)सफ़ाई संकेत।
सामान्य संकेत
Gateway start blocked: set gateway.mode=localयाexisting config is missing gateway.mode→ स्थानीय Gateway मोड सक्षम नहीं है, या कॉन्फ़िगरेशन फ़ाइल अधिलेखित हो गई औरgateway.modeखो गया। समाधान: अपने कॉन्फ़िगरेशन मेंgateway.mode="local"सेट करें, या अपेक्षित स्थानीय-मोड कॉन्फ़िगरेशन को फिर से अंकित करने के लिएopenclaw onboard --mode local/openclaw setupदोबारा चलाएँ। यदि आप Podman के माध्यम से OpenClaw चला रहे हैं, तो डिफ़ॉल्ट कॉन्फ़िगरेशन पथ~/.openclaw/openclaw.jsonहै।refusing to bind gateway ... without auth→ मान्य Gateway प्रमाणीकरण पथ के बिना गैर-लूपबैक बाइंड (टोकन/पासवर्ड या, जहाँ कॉन्फ़िगर हो, विश्वसनीय प्रॉक्सी)।another gateway instance is already listening/EADDRINUSE→ पोर्ट टकराव।Other gateway-like services detected (best effort)→ बासी या समानांतर launchd/systemd/schtasks यूनिट मौजूद हैं। अधिकांश सेटअप में प्रति मशीन एक Gateway रखना चाहिए; यदि आपको एक से अधिक की आवश्यकता है, तो पोर्ट + कॉन्फ़िगरेशन/स्थिति/वर्कस्पेस को अलग रखें। /gateway#multiple-gateways-same-host देखें।- doctor से
System-level OpenClaw gateway service detected→ उपयोगकर्ता-स्तरीय सेवा अनुपस्थित होने के बावजूद systemd सिस्टम यूनिट मौजूद है। doctor को उपयोगकर्ता सेवा इंस्टॉल करने की अनुमति देने से पहले डुप्लिकेट हटाएँ या अक्षम करें, अथवा यदि सिस्टम यूनिट ही अपेक्षित सुपरवाइज़र है तोOPENCLAW_SERVICE_REPAIR_POLICY=externalसेट करें। Gateway service port does not match current gateway config→ इंस्टॉल किया गया सुपरवाइज़र अब भी पुराने--portको पिन करता है।openclaw doctor --fixयाopenclaw gateway install --forceचलाएँ, फिर Gateway सेवा पुनः आरंभ करें।
संबंधित:
macOS Gateway चुपचाप प्रतिक्रिया देना बंद कर देता है, फिर डैशबोर्ड को छूने पर दोबारा शुरू हो जाता है
जब macOS होस्ट पर चैनल (Telegram, WhatsApp आदि) एक बार में कई मिनटों से लेकर घंटों तक निष्क्रिय हो जाएँ और आपके Control UI खोलते ही, SSH से कनेक्ट करते ही या होस्ट के साथ किसी अन्य तरीके से इंटरैक्ट करते ही gateway फिर से सक्रिय होता दिखाई दे, तब इसका उपयोग करें। आमतौर पर openclaw status में कोई स्पष्ट लक्षण नहीं दिखता, क्योंकि आपके जाँचने तक gateway फिर से सक्रिय हो चुका होता है।
ls ~/.openclaw/logs/stability/ | tail -5openclaw gateway stability --bundle latestpmset -g log | grep -iE "sleep|wake|maintenance" | tail -50launchctl print gui/$UID/ai.openclaw.gateway | grep -E "state|last exit|runs"इनकी तलाश करें:
~/.openclaw/logs/stability/में एक या अधिक*-uncaught_exception.jsonबंडल, जिनमेंerror.codeकिसी अस्थायी नेटवर्क कोड, जैसेENETDOWN,ENETUNREACH,EHOSTUNREACHयाECONNREFUSED, पर सेट हो।pmset -g logकीEntering Sleep state due to 'Maintenance Sleep'याen0 driver is slow (msg: WillChangeState to 0)जैसी पंक्तियाँ, जो क्रैश टाइमस्टैम्प से मेल खाती हों। Power Nap / Maintenance Sleep थोड़े समय के लिए Wi-Fi ड्राइवर को स्थिति 0 में डाल देता है; उस अवधि में होने वाला कोई भी आउटबाउंडconnect(), सामान्यतः पूर्ण नेटवर्क कनेक्टिविटी वाले होस्ट पर भीENETDOWNके साथ विफल हो सकता है।launchctl printआउटपुट, जो कई हालियाrunsऔर एक एग्ज़िट कोड के साथstate = not runningदिखाता हो, विशेषकर जब क्रैश और अगले लॉन्च के बीच का अंतर सेकंड के बजाय लगभग एक घंटे का हो। क्रैशों की तीव्र शृंखला के बाद macOS launchd एक अप्रलेखित री-स्पॉन सुरक्षा गेट लागू करता है, जिसके कारण वहKeepAlive=trueका पालन करना बंद कर सकता है, जब तक इंटरैक्टिव लॉगिन, डैशबोर्ड कनेक्शन याlaunchctl kickstartजैसा कोई बाहरी ट्रिगर उसे फिर से सक्रिय न करे।
सामान्य संकेत:
- ऐसा स्थिरता बंडल, जिसका
error.code,ENETDOWNया उससे संबंधित कोड हो और कॉल स्टैक NodenetlookupAndConnect/Socket.connectकी ओर संकेत करता हो। OpenClaw2026.5.26और उसके बाद के संस्करण इन्हें अहानिकर अस्थायी नेटवर्क त्रुटियों के रूप में वर्गीकृत करते हैं, इसलिए अब ये शीर्ष-स्तरीय अनकॉट हैंडलर तक नहीं पहुँचतीं; यदि आप कोई पुराना रिलीज़ चला रहे हैं, तो पहले अपग्रेड करें। - लंबी निष्क्रिय अवधियाँ, जो आपके Control UI से कनेक्ट करते या होस्ट में SSH करते ही समाप्त हो जाती हैं: उपयोगकर्ता को दिखाई देने वाली गतिविधि ही launchd के री-स्पॉन गेट को फिर से सक्रिय करती है, न कि डैशबोर्ड द्वारा gateway पर की गई कोई कार्रवाई।
~/Library/Logs/openclaw/gateway.logमें संबंधितreceived SIG*; shutting downपंक्ति के बिना दिन भरrunsकी संख्या बढ़ना: व्यवस्थित शटडाउन सिग्नल लॉग करते हैं; अस्थायी क्रैश ऐसा नहीं करते।
क्या करें:
-
यदि आप
2026.5.26से पहले का रिलीज़ चला रहे हैं, तो gateway को अपग्रेड करें। अपग्रेड के बाद, भविष्य कीENETDOWNत्रुटियाँ प्रक्रिया समाप्त करने के बजाय चेतावनियों के रूप में लॉग की जाती हैं। -
हमेशा चालू सर्वर के रूप में चलने वाले Mac mini / डेस्कटॉप होस्ट पर मेंटेनेंस स्लीप गतिविधि कम करें:
bash sudo pmset -a sleep 0 disksleep 0 standby 0 powernap 0इससे अंतर्निहित ड्राइवर अस्थिरता काफ़ी कम होती है, लेकिन पूरी तरह समाप्त नहीं होती। इन फ़्लैग के बावजूद सिस्टम TCP कीपअलाइव और mDNS रखरखाव के लिए कुछ मेंटेनेंस स्लीप कर सकता है।
-
एक लाइवनेस वॉचडॉग जोड़ें, ताकि भविष्य में क्रैशों की तीव्र शृंखला के बाद launchd द्वारा प्रक्रिया रोक दिए जाने पर उसका शीघ्र पता लगाया जा सके:
bash # 5-मिनट के cron या LaunchAgent के लिए उपयुक्त, launchd-संगत लाइवनेस जाँच का उदाहरणstate=$(launchctl print gui/$UID/ai.openclaw.gateway 2>/dev/null | awk -F'= ' '/state =/ {print $2; exit}')if [ "$state" != "running" ]; then launchctl kickstart -k gui/$UID/ai.openclaw.gatewayfiइसका उद्देश्य री-स्पॉन गेट को बाहर से फिर सक्रिय करना है; क्रैशों की तीव्र शृंखला के बाद macOS पर केवल
KeepAlive=trueपर्याप्त नहीं है।
संबंधित:
डुप्लिकेट gateway/node LaunchAgents के साथ macOS launchd सुपरवाइज़र लूप
इसका उपयोग तब करें, जब macOS इंस्टॉलेशन हर कुछ सेकंड में पुनः आरंभ होता रहे, openclaw
स्वास्थ्य जाँच स्वस्थ और अनुपलब्ध स्थितियों के बीच बदलती रहे और चैनल डिस्पैच रुक जाए,
भले ही सेवा चलती हुई दिखाई दे।
यह उन पुराने इंस्टॉलेशन पर देखा गया था, जहाँ ai.openclaw.gateway और
ai.openclaw.node दोनों LaunchAgents सक्रिय थे और प्रत्येक
OPENCLAW_LAUNCHD_LABEL इंजेक्ट करता था। इस स्थिति में OpenClaw, launchd
पर्यवेक्षण का पता लगा सकता है, पुनः आरंभ का नियंत्रण वापस launchd को सौंपने का प्रयास कर सकता है और एक स्थिर
gateway प्रक्रिया के बजाय तेज़ EADDRINUSE/री-स्पॉन लूप में फँस सकता है।
for i in 1 2 3 4; do ps aux | grep 'openclaw.*index.js' | grep -v grep | awk '{print $2}' sleep 10done openclaw gateway status --deepopenclaw node statuslaunchctl print gui/$UID/ai.openclaw.gateway | grep -E 'state|last exit|runs'tail -n 80 ~/Library/Logs/openclaw/gateway.logइनकी तलाश करें:
- 30-सेकंड के नमूने में एक स्थिर प्रक्रिया के बजाय एक से अधिक gateway PID।
gateway.logमेंEADDRINUSE,another gateway instance is already listeningया बार-बार दिखाई देने वाली पुनः आरंभ/हैंडऑफ़ पंक्तियाँ।- ऐसे होस्ट पर
~/Library/LaunchAgents/ai.openclaw.gateway.plistऔर~/Library/LaunchAgents/ai.openclaw.node.plistदोनों का एक ही समय लोड होना, जिस पर केवल एक प्रबंधित gateway सेवा चलनी चाहिए।
क्या करें:
-
यदि इस होस्ट पर केवल Gateway सेवा चलनी चाहिए, तो OpenClaw के माध्यम से प्रबंधित node सेवा हटाएँ। यदि आप रिमोट node सुविधाओं के लिए सक्रिय रूप से node सेवा पर निर्भर हैं, तो यह चरण छोड़ दें; इसे अनइंस्टॉल करने पर इस होस्ट पर वे सुविधाएँ बंद हो जाती हैं:
bash openclaw node uninstall -
एक स्थायी Gateway रैपर इंस्टॉल करें, जो OpenClaw शुरू करने से पहले इनहेरिट किए गए launchd मार्कर साफ़ करता हो। समर्थित
--wrapperविकल्प का उपयोग करें;~/.openclaw/service-env/के अंतर्गत जनरेट की गई फ़ाइल को संपादित न करें, क्योंकि सेवा पुनः इंस्टॉल करने, अपडेट करने और डॉक्टर द्वारा सुधार करने पर वह फ़ाइल फिर से जनरेट होती है:bash mkdir -p ~/.local/bincat >~/.local/bin/openclaw-launchd-workaround <<'EOF'#!/bin/shset -euunset OPENCLAW_LAUNCHD_LABEL LAUNCH_JOB_LABEL LAUNCH_JOB_NAME XPC_SERVICE_NAME || trueexec openclaw "$@"EOFchmod 700 ~/.local/bin/openclaw-launchd-workaround openclaw gateway install \ --wrapper ~/.local/bin/openclaw-launchd-workaround \ --forcegateway installबाध्य पुनः इंस्टॉल, अपडेट और doctor मरम्मत के दौरान रैपर पथ को बनाए रखता है। -
सत्यापित करें कि Gateway स्थिर है और केवल सुन नहीं रहा, बल्कि RPC प्रदान कर रहा है:
bash openclaw gateway status --deep --require-rpc for i in 1 2 3 4; do ps aux | grep 'openclaw.*index.js' | grep -v grep | awk '{print $2}' sleep 10donePID नमूने में बदलते हुए PID समूह के बजाय एक स्थिर प्रक्रिया दिखनी चाहिए, और इनबाउंड चैनल डिस्पैच फिर से शुरू हो जाना चाहिए।
-
ऐसे रिलीज़ में अपग्रेड करने के बाद, जिसमें अंतर्निहित दोहरे-LaunchAgent लूप को ठीक कर दिया गया है, इस वैकल्पिक समाधान को हटाएँ और सामान्य प्रबंधित सेवा को पुनः इंस्टॉल करें:
bash OPENCLAW_WRAPPER= openclaw gateway install --forcerm ~/.local/bin/openclaw-launchd-workaround
संबंधित:
अधिक मेमोरी उपयोग के दौरान Gateway बंद हो जाता है
इसका उपयोग तब करें जब लोड के दौरान Gateway गायब हो जाए, सुपरवाइज़र OOM-शैली के पुनरारंभ की सूचना दे, या लॉग में critical memory pressure bundle written का उल्लेख हो।
openclaw gateway status --deepopenclaw logs --followopenclaw gateway stability --bundle latestopenclaw gateway diagnostics exportइनकी तलाश करें:
- नवीनतम स्थिरता बंडल में
Reason: diagnostic.memory.pressure.critical। critical/rss_threshold,critical/heap_threshold, याcritical/rss_growthके साथMemory pressure:।- हीप सीमा के निकट
V8 heap:मान। agents/<agent>/sessions/<session>.jsonlयाsessions/<session>.jsonlजैसीLargest session files:प्रविष्टियाँ।- जब Gateway किसी कंटेनर या मेमोरी-सीमित सेवा के भीतर चलता है, तब Linux cgroup मेमोरी काउंटर।
सामान्य संकेत:
critical memory pressure bundle writtenपुनरारंभ से कुछ समय पहले दिखाई देता है → OpenClaw ने OOM से पहले का स्थिरता बंडल कैप्चर किया।openclaw gateway stability --bundle latestसे इसका निरीक्षण करें।- Gateway लॉग में
memory pressure: level=criticalदिखाई देता है → OpenClaw ने गंभीर मेमोरी दबाव का पता लगाया और प्रक्रिया में उपलब्ध मेमोरी संबंधी तथ्यों को रिकॉर्ड किया। Largest session files:किसी बहुत बड़े संशोधित ट्रांसक्रिप्ट पथ की ओर संकेत करता है → पुनरारंभ करने से पहले रखे गए सत्र इतिहास को कम करें, सत्र की वृद्धि का निरीक्षण करें, या पुराने ट्रांसक्रिप्ट को सक्रिय स्टोर से बाहर ले जाएँ।V8 heap:में उपयोग किए गए बाइट हीप सीमा के निकट हैं → पहले प्रॉम्प्ट/सत्र दबाव कम करें या समवर्ती कार्य घटाएँ। प्रबंधित सेवा के लिए,openclaw gateway statusमेंGateway heap:का निरीक्षण करें; यदि उसमेंnot setलिखा हो, तो पुराने सेवा मेटाडेटा कोopenclaw gateway install --forceसे फिर से जनरेट करें। परिवेशी शेलNODE_OPTIONSको जानबूझकर अनदेखा किया जाता है। निरंतर कार्यभार की पुष्टि करने और पर्याप्त नेटिव-मेमोरी गुंजाइश छोड़ने के बाद ही स्पष्ट सुपरवाइज़र-स्तरीय हीप ओवरराइड का उपयोग करें।Memory pressure: critical/rss_growth→ एक सैंपलिंग अवधि के भीतर मेमोरी तेज़ी से बढ़ी। किसी बड़े इंपोर्ट, अनियंत्रित टूल आउटपुट, बार-बार किए गए पुनः प्रयासों या कतार में रखे गए एजेंट कार्यों के बैच के लिए नवीनतम लॉग जाँचें।- लॉग में गंभीर मेमोरी दबाव दिखाई देता है, लेकिन कोई बंडल मौजूद नहीं है → उपलब्ध परिचालन साक्ष्य के लिए घटना के बाद
openclaw gateway diagnostics exportकैप्चर करें।
स्थिरता बंडल पेलोड-रहित होता है। इसमें परिचालन मेमोरी साक्ष्य और संशोधित सापेक्ष फ़ाइल पथ होते हैं, संदेश टेक्स्ट, Webhook बॉडी, क्रेडेंशियल, टोकन, कुकी या अपरिष्कृत सत्र ID नहीं। अपरिष्कृत लॉग कॉपी करने के बजाय बग रिपोर्ट के साथ डायग्नोस्टिक्स एक्सपोर्ट संलग्न करें।
संबंधित:
Gateway ने अमान्य कॉन्फ़िगरेशन अस्वीकार किया
इसका उपयोग तब करें जब Gateway स्टार्टअप Invalid config के साथ विफल हो या हॉट रीलोड लॉग बताएँ कि उसने किसी अमान्य संपादन को छोड़ दिया।
openclaw logs --followopenclaw config fileopenclaw config validateopenclaw doctorइनकी तलाश करें:
Invalid config at ...config reload skipped (invalid config): ...Config write rejected: ...- सक्रिय कॉन्फ़िगरेशन के पास टाइमस्टैम्प वाली
openclaw.json.rejected.*फ़ाइल। - यदि
doctor --fixने किसी खराब प्रत्यक्ष संपादन की मरम्मत की हो, तो टाइमस्टैम्प वालीopenclaw.json.clobbered.*फ़ाइल। - OpenClaw प्रत्येक कॉन्फ़िगरेशन पथ के लिए नवीनतम 32
.clobbered.*फ़ाइलें रखता है और पुरानी फ़ाइलों को क्रमिक रूप से हटाता है।
क्या हुआ
- स्टार्टअप, हॉट रीलोड या OpenClaw के स्वामित्व वाले लेखन के दौरान कॉन्फ़िगरेशन सत्यापन में विफल रहा।
- Gateway स्टार्टअप
openclaw.jsonको फिर से लिखने के बजाय सुरक्षित रूप से विफल हो जाता है। - हॉट रीलोड अमान्य बाहरी संपादनों को छोड़ देता है और वर्तमान रनटाइम कॉन्फ़िगरेशन को सक्रिय रखता है।
- OpenClaw के स्वामित्व वाले लेखन कमिट से पहले अमान्य/विनाशकारी पेलोड अस्वीकार करते हैं और
.rejected.*सहेजते हैं। - मरम्मत का स्वामित्व
openclaw doctor --fixके पास है। यह गैर-JSON उपसर्ग हटा सकता है या अस्वीकृत पेलोड को.clobbered.*के रूप में सुरक्षित रखते हुए अंतिम ज्ञात अच्छी प्रति पुनर्स्थापित कर सकता है। - जब एक कॉन्फ़िगरेशन पथ के लिए कई मरम्मत होती हैं, तो OpenClaw पुरानी
.clobbered.*फ़ाइलों को क्रमिक रूप से हटाता है, ताकि नवीनतम मरम्मत किया गया पेलोड अब भी उपलब्ध रहे।
निरीक्षण और मरम्मत
CONFIG="$(openclaw config file)"ls -lt "$CONFIG".clobbered.* "$CONFIG".rejected.* 2>/dev/null | headdiff -u "$CONFIG" "$(ls -t "$CONFIG".clobbered.* 2>/dev/null | head -n 1)"openclaw config validateopenclaw doctorसामान्य संकेत
.clobbered.*मौजूद है → सक्रिय कॉन्फ़िग की मरम्मत करते समय doctor ने खराब बाहरी संपादन को सुरक्षित रखा।.rejected.*मौजूद है → OpenClaw के स्वामित्व वाला कॉन्फ़िग लेखन कमिट से पहले स्कीमा या क्लॉबर जाँच में विफल हुआ।Config write rejected:→ लेखन ने आवश्यक संरचना हटाने, फ़ाइल का आकार तेज़ी से घटाने या अमान्य कॉन्फ़िग सहेजने का प्रयास किया।config reload skipped (invalid config):→ प्रत्यक्ष संपादन सत्यापन में विफल हुआ और चल रहे Gateway ने उसे अनदेखा कर दिया।Invalid config at ...→ Gateway सेवाएँ बूट होने से पहले स्टार्टअप विफल हुआ।missing-meta-vs-last-good,gateway-mode-missing-vs-last-good, याsize-drop-vs-last-good:*→ OpenClaw के स्वामित्व वाला लेखन अस्वीकार कर दिया गया, क्योंकि अंतिम ज्ञात-सही बैकअप की तुलना में उसमें फ़ील्ड या आकार कम हो गया था।Config last-known-good promotion skipped→ प्रस्तावित कॉन्फ़िग में***जैसे संशोधित गुप्त मानों के प्लेसहोल्डर थे।
सुधार के विकल्प
- doctor को उपसर्गयुक्त/क्लॉबर किए गए कॉन्फ़िग की मरम्मत करने या अंतिम ज्ञात-सही कॉन्फ़िग पुनर्स्थापित करने देने के लिए
openclaw doctor --fixचलाएँ। .clobbered.*या.rejected.*से केवल इच्छित कुंजियाँ कॉपी करें, फिर उन्हेंopenclaw config setयाconfig.patchसे लागू करें।- पुनः आरंभ करने से पहले
openclaw config validateचलाएँ। - यदि आप हाथ से संपादित करते हैं, तो पूरा JSON5 कॉन्फ़िग रखें, केवल वह आंशिक ऑब्जेक्ट नहीं जिसे आप बदलना चाहते थे।
संबंधित:
Gateway प्रोब चेतावनियाँ
इसका उपयोग तब करें जब openclaw gateway probe किसी लक्ष्य तक पहुँचता हो, लेकिन फिर भी चेतावनी ब्लॉक दिखाता हो।
openclaw gateway probeopenclaw gateway probe --jsonopenclaw gateway probe --ssh user@gateway-hostइनकी जाँच करें:
- JSON आउटपुट में
warnings[].codeऔरprimaryTargetId। - चेतावनी SSH फ़ॉलबैक, एकाधिक Gateway, अनुपलब्ध स्कोप या अनसुलझे प्रमाणीकरण संदर्भों से संबंधित है या नहीं।
सामान्य संकेत:
SSH tunnel failed to start; falling back to direct probes.→ SSH सेटअप विफल हुआ, लेकिन कमांड ने फिर भी सीधे कॉन्फ़िगर किए गए/लूपबैक लक्ष्यों को आज़माया।multiple reachable gateway identities detected→ अलग-अलग Gateway ने उत्तर दिया, या OpenClaw यह प्रमाणित नहीं कर सका कि पहुँच योग्य लक्ष्य एक ही Gateway हैं। एक ही Gateway के लिए SSH टनल, प्रॉक्सी URL या कॉन्फ़िगर किया गया रिमोट URL कई ट्रांसपोर्ट वाला एक Gateway माना जाता है, भले ही ट्रांसपोर्ट पोर्ट अलग हों।Read-probe diagnostics are limited by gateway scopes (missing operator.read)→ कनेक्शन सफल रहा, लेकिन विस्तृत RPC स्कोप द्वारा सीमित है; डिवाइस पहचान को पेयर करें याoperator.readवाले क्रेडेंशियल का उपयोग करें।Gateway accepted the WebSocket connection, but follow-up read diagnostics failed→ कनेक्शन सफल रहा, लेकिन पूरा डायग्नोस्टिक RPC सेट टाइम आउट हुआ या विफल हो गया। इसे कमज़ोर डायग्नोस्टिक्स वाला पहुँच योग्य Gateway मानें;--jsonआउटपुट मेंconnect.okऔरconnect.rpcOkकी तुलना करें।Capability: pairing-pendingयाgateway closed (1008): pairing required→ Gateway ने उत्तर दिया, लेकिन सामान्य ऑपरेटर पहुँच से पहले इस क्लाइंट को अभी भी पेयरिंग/अनुमोदन चाहिए।- अनसुलझा
gateway.auth.*/gateway.remote.*SecretRef चेतावनी टेक्स्ट → विफल लक्ष्य के लिए इस कमांड पथ में प्रमाणीकरण सामग्री उपलब्ध नहीं थी।
संबंधित:
चैनल कनेक्ट है, लेकिन संदेश प्रवाहित नहीं हो रहे
यदि चैनल की स्थिति कनेक्टेड है लेकिन संदेश प्रवाह बंद है, तो नीति, अनुमतियों और चैनल-विशिष्ट डिलीवरी नियमों पर ध्यान दें।
openclaw channels status --probeopenclaw pairing list --channel <channel> [--account <id>]openclaw status --deepopenclaw logs --followopenclaw config get channelsइनकी जाँच करें:
- DM नीति (
pairing,allowlist,open,disabled)। - समूह अनुमति-सूची और उल्लेख संबंधी आवश्यकताएँ।
- अनुपलब्ध चैनल API अनुमतियाँ/स्कोप।
सामान्य संकेत:
mention required→ समूह उल्लेख नीति के कारण संदेश अनदेखा कर दिया गया।pairing/ लंबित अनुमोदन के ट्रेस → प्रेषक अनुमोदित नहीं है।missing_scope,not_in_channel,Forbidden,401/403→ चैनल प्रमाणीकरण/अनुमति संबंधी समस्या।
संबंधित:
Cron और Heartbeat डिलीवरी
यदि Cron या Heartbeat नहीं चला या डिलीवर नहीं हुआ, तो पहले शेड्यूलर की स्थिति और फिर डिलीवरी लक्ष्य सत्यापित करें।
openclaw cron statusopenclaw cron listopenclaw cron runs --id <jobId> --limit 20openclaw system heartbeat lastopenclaw logs --followइनकी जाँच करें:
- Cron सक्षम है और अगला वेक मौजूद है।
- जॉब रन इतिहास की स्थिति (
ok,skipped,error)। - Heartbeat छोड़ने के कारण (
quiet-hours,requests-in-flight,cron-in-progress,lanes-busy,alerts-disabled,empty-heartbeat-file)।
सामान्य संकेत
cron: scheduler disabled; jobs will not run automatically→ Cron अक्षम है।cron: timer tick failed→ शेड्यूलर टिक विफल हुआ; फ़ाइल/लॉग/रनटाइम त्रुटियों की जाँच करें।heartbeat skippedके साथreason=quiet-hours→ सक्रिय घंटों की अवधि से बाहर।heartbeat skippedके साथreason=empty-heartbeat-file→ Heartbeat मॉनिटर स्क्रैच में केवल रिक्त, टिप्पणी, हेडर, फ़ेंस या खाली-चेकलिस्ट का ढाँचा है, इसलिए OpenClaw मॉडल कॉल छोड़ देता है।heartbeat: unknown accountId→ Heartbeat डिलीवरी लक्ष्य के लिए अमान्य खाता आईडी।heartbeat skippedके साथreason=dm-blocked→ Heartbeat लक्ष्य का समाधान DM-शैली के गंतव्य के रूप में हुआ, जबकिagents.defaults.heartbeat.directPolicy(या प्रति-एजेंट ओवरराइड) कोblockपर सेट किया गया है।
संबंधित:
Node पेयर है, टूल विफल है
यदि कोई Node पेयर है लेकिन टूल विफल होते हैं, तो फ़ोरग्राउंड, अनुमति और अनुमोदन की स्थिति को अलग-अलग जाँचें।
openclaw nodes statusopenclaw nodes describe --node <idOrNameOrIp>openclaw approvals get --node <idOrNameOrIp>openclaw logs --followopenclaw statusइनकी जाँच करें:
- Node अपेक्षित क्षमताओं के साथ ऑनलाइन है।
- कैमरा/माइक/स्थान/स्क्रीन के लिए OS अनुमति स्वीकृतियाँ।
- निष्पादन अनुमोदन और अनुमति-सूची की स्थिति।
सामान्य संकेत:
NODE_BACKGROUND_UNAVAILABLE→ Node ऐप फ़ोरग्राउंड में होना चाहिए।*_PERMISSION_REQUIRED/LOCATION_PERMISSION_REQUIRED→ OS अनुमति अनुपलब्ध है।SYSTEM_RUN_DENIED: approval required→ निष्पादन अनुमोदन लंबित है।SYSTEM_RUN_DENIED: allowlist miss→ कमांड को अनुमति-सूची ने ब्लॉक किया है।
संबंधित:
ब्राउज़र टूल विफल है
इसका उपयोग तब करें जब Gateway स्वयं स्वस्थ होने के बावजूद ब्राउज़र टूल की कार्रवाइयाँ विफल हों।
openclaw browser statusopenclaw browser start --browser-profile openclawopenclaw browser profilesopenclaw logs --followopenclaw doctorइनकी जाँच करें:
plugins.allowसेट है या नहीं और उसमेंbrowserशामिल है या नहीं।- मान्य ब्राउज़र निष्पादन योग्य पथ।
- CDP प्रोफ़ाइल की पहुँच-योग्यता।
existing-session/userप्रोफ़ाइलों के लिए स्थानीय Chrome की उपलब्धता।
Plugin / निष्पादन योग्य संकेत
unknown command "browser"याunknown command 'browser'→ बंडल किया गया ब्राउज़र Pluginplugins.allowद्वारा बाहर रखा गया है।- ब्राउज़र टूल अनुपलब्ध / उपलब्ध नहीं, जबकि
browser.enabled=true→plugins.allow,browserको बाहर रखता है, इसलिए Plugin कभी लोड नहीं हुआ। Failed to start Chrome CDP on port→ ब्राउज़र प्रक्रिया लॉन्च होने में विफल हुई।browser.executablePath not found→ कॉन्फ़िगर किया गया पथ अमान्य है।browser.cdpUrl must be http(s) or ws(s)→ कॉन्फ़िगर किया गया CDP URLfile:याftp:जैसी असमर्थित स्कीम का उपयोग करता है।browser.cdpUrl has invalid port→ कॉन्फ़िगर किए गए CDP URL में खराब या सीमा से बाहर का पोर्ट है।Playwright is not available in this gateway build; '<feature>' is unsupported.→ वर्तमान Gateway इंस्टॉलेशन में मुख्य ब्राउज़र रनटाइम निर्भरता नहीं है; OpenClaw को पुनः इंस्टॉल या अपडेट करें, फिर Gateway पुनः आरंभ करें। ARIA स्नैपशॉट और मूल पेज स्क्रीनशॉट अब भी काम कर सकते हैं, लेकिन नेविगेशन, AI स्नैपशॉट, CSS चयनकर्ता एलिमेंट स्क्रीनशॉट और PDF निर्यात अनुपलब्ध रहेंगे।
Chrome MCP / मौजूदा-सत्र संकेत
Could not find DevToolsActivePort for chrome→ Chrome MCP मौजूदा-सत्र अभी चयनित ब्राउज़र डेटा डायरेक्टरी से जुड़ नहीं सका। ब्राउज़र निरीक्षण पेज खोलें, रिमोट डीबगिंग सक्षम करें, ब्राउज़र खुला रखें, पहले अटैच प्रॉम्प्ट को अनुमोदित करें, फिर पुनः प्रयास करें। यदि साइन-इन स्थिति आवश्यक नहीं है, तो प्रबंधितopenclawप्रोफ़ाइल को प्राथमिकता दें।No browser tabs found for profile="user"→ Chrome MCP अटैच प्रोफ़ाइल में कोई खुला स्थानीय Chrome टैब नहीं है।Remote CDP for profile "<name>" is not reachable→ कॉन्फ़िगर किया गया रिमोट CDP एंडपॉइंट Gateway होस्ट से पहुँच योग्य नहीं है।Browser attachOnly is enabled ... not reachableयाBrowser attachOnly is enabled and CDP websocket ... is not reachable→ केवल-अटैच प्रोफ़ाइल में कोई पहुँच योग्य लक्ष्य नहीं है, या HTTP एंडपॉइंट ने उत्तर दिया लेकिन CDP WebSocket फिर भी नहीं खोला जा सका।
एलिमेंट / स्क्रीनशॉट / अपलोड संकेत
fullPage is not supported for element screenshots→ स्क्रीनशॉट अनुरोध में--full-pageको--refया--elementके साथ मिलाया गया।element screenshots are not supported for existing-session profiles; use ref from snapshot.→ Chrome MCP /existing-sessionस्क्रीनशॉट कॉल में पेज कैप्चर या स्नैपशॉट--refका उपयोग होना चाहिए, CSS--elementका नहीं।existing-session file uploads do not support element selectors; use ref/inputRef.→ Chrome MCP अपलोड हुक को स्नैपशॉट संदर्भ चाहिए, CSS चयनकर्ता नहीं।existing-session file uploads currently support one file at a time.→ Chrome MCP प्रोफ़ाइलों पर प्रति कॉल एक अपलोड भेजें।existing-session dialog handling does not support timeoutMs.→ Chrome MCP प्रोफ़ाइलों पर डायलॉग हुक टाइमआउट ओवरराइड का समर्थन नहीं करते।existing-session type does not support timeoutMs overrides.→profile="user"/ Chrome MCP मौजूदा-सत्र प्रोफ़ाइलों परact:typeके लिएtimeoutMsछोड़ दें, या कस्टम टाइमआउट आवश्यक होने पर प्रबंधित/CDP ब्राउज़र प्रोफ़ाइल का उपयोग करें।response body is not supported for existing-session profiles yet.→responsebodyके लिए अब भी प्रबंधित ब्राउज़र या रॉ CDP प्रोफ़ाइल आवश्यक है।- केवल-अटैच या रिमोट CDP प्रोफ़ाइलों पर पुराने व्यूपोर्ट / डार्क-मोड / लोकेल / ऑफ़लाइन ओवरराइड → पूरे Gateway को पुनः आरंभ किए बिना सक्रिय नियंत्रण सत्र बंद करने और Playwright/CDP एमुलेशन स्थिति मुक्त करने के लिए
openclaw browser stop --browser-profile <name>चलाएँ।
संबंधित:
यदि आपने अपग्रेड किया और अचानक कुछ खराब हो गया
अपग्रेड के बाद होने वाली अधिकांश खराबियाँ कॉन्फ़िग विचलन या अब लागू किए जा रहे अधिक सख्त डिफ़ॉल्ट के कारण होती हैं।
1. प्रमाणीकरण और URL ओवरराइड व्यवहार बदल गया
openclaw gateway statusopenclaw config get gateway.modeopenclaw config get gateway.remote.urlopenclaw config get gateway.auth.modeक्या जाँचें:
- यदि
gateway.mode=remote, तो हो सकता है कि CLI कॉल रिमोट को लक्षित कर रही हों, जबकि आपकी स्थानीय सेवा ठीक हो। - स्पष्ट
--urlकॉल संग्रहीत क्रेडेंशियल पर फ़ॉलबैक नहीं करतीं।
सामान्य संकेत:
gateway connect failed:→ गलत URL लक्ष्य।unauthorized→ एंडपॉइंट पहुँच योग्य है, लेकिन प्रमाणीकरण गलत है।
2. बाइंड और प्रमाणीकरण सुरक्षा-नियम अधिक सख्त हैं
openclaw config get gateway.bindopenclaw config get gateway.auth.modeopenclaw config get gateway.auth.tokenopenclaw gateway statusopenclaw logs --followक्या जाँचें:
- गैर-लूपबैक बाइंड (
lan,tailnet,custom) के लिए एक मान्य Gateway प्रमाणीकरण पथ आवश्यक है: साझा टोकन/पासवर्ड प्रमाणीकरण, या सही तरीके से कॉन्फ़िगर किया गया गैर-लूपबैकtrusted-proxyपरिनियोजन। gateway.tokenजैसी पुरानी कुंजियाँgateway.auth.tokenको प्रतिस्थापित नहीं करतीं।
सामान्य संकेत:
refusing to bind gateway ... without auth→ मान्य Gateway प्रमाणीकरण पथ के बिना गैर-लूपबैक बाइंड।- रनटाइम के चलने के दौरान
Connectivity probe: failed→ Gateway सक्रिय है, लेकिन मौजूदा प्रमाणीकरण/URL से उस तक पहुँचा नहीं जा सकता।
3. पेयरिंग और डिवाइस पहचान की स्थिति बदल गई है
openclaw devices listopenclaw pairing list --channel <channel> [--account <id>]openclaw logs --followopenclaw doctorक्या जाँचें:
- डैशबोर्ड/Node के लिए लंबित डिवाइस स्वीकृतियाँ।
- नीति या पहचान में बदलाव के बाद लंबित DM पेयरिंग स्वीकृतियाँ।
सामान्य संकेत:
device identity required→ डिवाइस प्रमाणीकरण पूरा नहीं हुआ।pairing required→ प्रेषक/डिवाइस को स्वीकृत करना आवश्यक है।
यदि जाँच के बाद भी सेवा कॉन्फ़िगरेशन और रनटाइम में अंतर हो, तो उसी प्रोफ़ाइल/स्थिति डायरेक्टरी से सेवा मेटाडेटा पुनः इंस्टॉल करें:
openclaw gateway install --forceopenclaw gateway restartसंबंधित: