Skip to main content
OpenClaw बग रिपोर्टों के लिए एक स्थानीय डायग्नोस्टिक्स .zip बना सकता है: सैनिटाइज़ किया गया Gateway स्टेटस, हेल्थ, लॉग, कॉन्फ़िगरेशन संरचना और हाल की पेलोड-रहित स्थिरता घटनाएँ। समीक्षा किए जाने तक डायग्नोस्टिक्स बंडलों को सीक्रेट की तरह संभालें। पेलोड और क्रेडेंशियल डिज़ाइन के अनुसार संपादित कर दिए जाते हैं, लेकिन बंडल फिर भी स्थानीय Gateway लॉग और होस्ट-स्तरीय रनटाइम स्थिति का सारांश देता है।

त्वरित शुरुआत

लिखी गई zip का पथ प्रिंट करता है। आउटपुट पथ चुनें:
ऑटोमेशन के लिए:

चैट कमांड

स्थानीय Gateway एक्सपोर्ट को कॉपी-पेस्ट किए जा सकने वाले एक सपोर्ट रिपोर्ट के रूप में अनुरोध करने के लिए ओनर किसी भी वार्तालाप में /diagnostics [note] चला सकते हैं:
  1. /diagnostics भेजें, वैकल्पिक रूप से एक संक्षिप्त नोट के साथ (/diagnostics bad tool choice)।
  2. OpenClaw एक प्रस्तावना भेजता है और एक स्पष्ट exec अनुमोदन माँगता है, जो openclaw gateway diagnostics export --json चलाता है। डायग्नोस्टिक्स को सभी को अनुमति देने वाले नियम के माध्यम से अनुमोदित न करें।
  3. अनुमोदन के बाद, OpenClaw स्थानीय बंडल पथ, मेनिफ़ेस्ट सारांश, गोपनीयता नोट्स और संबंधित सेशन आईडी के साथ उत्तर देता है।
ग्रुप चैट में, कोई ओनर फिर भी /diagnostics चला सकता है, लेकिन OpenClaw एक्सपोर्ट परिणाम, अनुमोदन प्रॉम्प्ट और Codex सेशन/थ्रेड विवरण ओनर को निजी तौर पर भेजता है। ग्रुप को केवल एक संक्षिप्त सूचना दिखाई देती है कि डायग्नोस्टिक्स निजी तौर पर भेजे गए हैं। यदि ओनर तक पहुँचने का कोई निजी मार्ग मौजूद नहीं है, तो कमांड सुरक्षित रूप से विफल होता है और ओनर से इसे DM से चलाने के लिए कहता है। जब सक्रिय सेशन नेटिव OpenAI Codex हार्नेस का उपयोग करता है, तो वही exec अनुमोदन उन Codex थ्रेड के लिए OpenAI फ़ीडबैक अपलोड को भी कवर करता है जिनके बारे में OpenClaw जानता है। वह अपलोड स्थानीय Gateway zip से अलग है और केवल Codex हार्नेस सेशन के लिए होता है। अनुमोदन प्रॉम्प्ट बताता है कि अनुमोदन करने से Codex सेशन या थ्रेड आईडी सूचीबद्ध किए बिना Codex फ़ीडबैक भी भेजा जाता है। अनुमोदन के बाद, उत्तर उन थ्रेड के चैनल, OpenClaw सेशन आईडी, Codex थ्रेड आईडी और स्थानीय रिज़्यूम कमांड सूचीबद्ध करता है जिन्हें OpenAI को भेजा गया था। अनुमोदन अस्वीकार करने या अनदेखा करने पर एक्सपोर्ट, Codex फ़ीडबैक अपलोड और Codex आईडी सूची छोड़ दी जाती है। इससे Codex डीबगिंग लूप छोटा हो जाता है: किसी चैनल में खराब व्यवहार पर ध्यान दें, /diagnostics चलाएँ, एक बार अनुमोदित करें, रिपोर्ट साझा करें, फिर यदि आप स्वयं थ्रेड की जाँच करना चाहते हैं तो प्रिंट किया गया codex resume <thread-id> कमांड स्थानीय रूप से चलाएँ। Codex हार्नेस देखें।

एक्सपोर्ट में क्या शामिल है

  • summary.md: सपोर्ट के लिए मानव-पठनीय अवलोकन।
  • diagnostics.json: कॉन्फ़िगरेशन, लॉग, स्टेटस, हेल्थ और स्थिरता डेटा का मशीन-पठनीय सारांश।
  • manifest.json: एक्सपोर्ट मेटाडेटा और फ़ाइल सूची।
  • सैनिटाइज़ की गई कॉन्फ़िगरेशन संरचना और गैर-गोपनीय कॉन्फ़िगरेशन विवरण।
  • सैनिटाइज़ किए गए लॉग सारांश और हाल की संपादित लॉग पंक्तियाँ।
  • यथासंभव सर्वोत्तम Gateway स्टेटस और हेल्थ स्नैपशॉट।
  • stability/latest.json: उपलब्ध होने पर नवीनतम स्थायी स्थिरता बंडल।
Gateway अस्वस्थ होने पर भी एक्सपोर्ट उपयोगी रहता है: यदि स्टेटस/हेल्थ अनुरोध विफल होते हैं, तो उपलब्ध होने पर स्थानीय लॉग, कॉन्फ़िगरेशन संरचना और नवीनतम स्थिरता बंडल फिर भी एकत्र किए जाते हैं।

गोपनीयता मॉडल

रखा जाता है: सबसिस्टम नाम, plugin आईडी, प्रोवाइडर आईडी, चैनल आईडी, कॉन्फ़िगर किए गए मोड, स्टेटस कोड, अवधियाँ, बाइट संख्या, क्यू स्थिति, मेमोरी रीडिंग, सैनिटाइज़ किया गया लॉग मेटाडेटा, संपादित परिचालन संदेश, कॉन्फ़िगरेशन संरचना और गैर-गोपनीय फ़ीचर सेटिंग्स। छोड़ा या संपादित किया जाता है: चैट टेक्स्ट, प्रॉम्प्ट, निर्देश, webhook बॉडी, टूल आउटपुट, क्रेडेंशियल, API कुंजियाँ, टोकन, कुकी, सीक्रेट मान, कच्ची अनुरोध/प्रतिक्रिया बॉडी, अकाउंट आईडी, संदेश आईडी, कच्चे सेशन आईडी, होस्टनाम और स्थानीय उपयोगकर्ता नाम। जब कोई लॉग संदेश उपयोगकर्ता, चैट, प्रॉम्प्ट या टूल पेलोड टेक्स्ट जैसा दिखाई देता है, तो एक्सपोर्ट केवल यह जानकारी और उसकी बाइट संख्या रखता है कि कोई संदेश छोड़ दिया गया था।

स्थिरता रिकॉर्डर

डायग्नोस्टिक्स सक्षम होने पर Gateway डिफ़ॉल्ट रूप से एक सीमित, पेलोड-रहित स्थिरता स्ट्रीम रिकॉर्ड करता है। यह सामग्री नहीं, बल्कि परिचालन तथ्य कैप्चर करता है। जब इवेंट लूप या CPU संतृप्त दिखाई देता है, तो वही Heartbeat लाइवनेस का नमूना भी लेता है, और इवेंट-लूप विलंब, इवेंट-लूप उपयोग, CPU-कोर अनुपात, सक्रिय/प्रतीक्षारत/क्यू किए गए सेशन की संख्या, वर्तमान स्टार्टअप/रनटाइम चरण (जब ज्ञात हो), हाल के चरण अंतराल और सीमित कार्य लेबल के साथ diagnostic.liveness.warning घटनाएँ उत्सर्जित करता है। ये Gateway में warn-स्तरीय लॉग पंक्तियाँ केवल तब बनती हैं जब कार्य प्रतीक्षारत या क्यू में हो, या सक्रिय कार्य लगातार इवेंट-लूप विलंब के साथ ओवरलैप करे; अन्यथा वे debug पर लॉग होती हैं। निष्क्रिय लाइवनेस नमूने फिर भी डायग्नोस्टिक घटनाओं के रूप में रिकॉर्ड होते हैं, लेकिन स्वयं कभी चेतावनी स्तर तक नहीं बढ़ते। स्टार्टअप चरण वॉल-क्लॉक और CPU टाइमिंग के साथ diagnostic.phase.completed घटनाएँ उत्सर्जित करते हैं। रुके हुए एम्बेडेड-रन डायग्नोस्टिक्स terminalProgressStale=true चिह्नित करते हैं, जब अंतिम ब्रिज प्रगति अंतिम स्थिति वाली दिखाई देती है (उदाहरण के लिए कोई कच्चा प्रतिक्रिया आइटम या प्रतिक्रिया-पूर्णता घटना), लेकिन Gateway अब भी एम्बेडेड रन को सक्रिय मानता है। लाइव रिकॉर्डर की जाँच करें:
घातक निकास, शटडाउन टाइमआउट या रीस्टार्ट स्टार्टअप विफलता के बाद नवीनतम स्थायी बंडल की जाँच करें:
नवीनतम स्थायी बंडल से डायग्नोस्टिक्स zip बनाएँ:
घटनाएँ मौजूद होने पर स्थायी बंडल ~/.openclaw/logs/stability/ के अंतर्गत रहते हैं।

उपयोगी विकल्प

डायग्नोस्टिक्स अक्षम करें

डायग्नोस्टिक्स डिफ़ॉल्ट रूप से सक्षम हैं। स्थिरता रिकॉर्डर और डायग्नोस्टिक घटना संग्रह को अक्षम करने के लिए:
डायग्नोस्टिक्स अक्षम करने से बग रिपोर्ट का विवरण कम हो जाता है; यह सामान्य Gateway लॉगिंग को प्रभावित नहीं करता। मेमोरी दबाव घटनाएँ फ़ाइल-सिस्टम स्कैन किए या प्री-OOM स्नैपशॉट लिखे बिना RSS, हीप, सीमा और वृद्धि से संबंधित तथ्य (rss_threshold, heap_threshold, rss_growth) रिकॉर्ड करती हैं।

संबंधित