FAQ

अक्सर पूछे जाने वाले प्रश्न

वास्तविक सेटअप (स्थानीय विकास, VPS, मल्टी-एजेंट, OAuth/API कुंजियाँ, मॉडल फ़ेलओवर) के लिए त्वरित उत्तर और गहन समस्या निवारण। रनटाइम निदान के लिए, समस्या निवारण देखें। पूर्ण कॉन्फ़िगरेशन संदर्भ के लिए, कॉन्फ़िगरेशन देखें।

कुछ खराब होने पर पहले 60 सेकंड

  • त्वरित स्थिति

    bash
    openclaw status

    तेज़ स्थानीय सारांश: OS + अपडेट, gateway/सेवा की पहुँच, एजेंट/सत्र, प्रदाता कॉन्फ़िगरेशन + रनटाइम समस्याएँ (जब gateway पहुँच योग्य हो)।

  • चिपकाने योग्य रिपोर्ट (साझा करना सुरक्षित)

    bash
    openclaw status --all

    लॉग के अंतिम भाग के साथ केवल-पढ़ने योग्य निदान (टोकन हटाए गए)।

  • डेमन + पोर्ट स्थिति

    bash
    openclaw gateway status

    पर्यवेक्षक रनटाइम बनाम RPC पहुँच, जाँच लक्ष्य URL और सेवा ने संभवतः कौन-सा कॉन्फ़िगरेशन उपयोग किया, दिखाता है।

  • गहन जाँच

    bash
    openclaw status --deep

    लाइव gateway स्वास्थ्य जाँच, समर्थित होने पर चैनल जाँच सहित (इसके लिए पहुँच योग्य gateway आवश्यक है)। स्वास्थ्य देखें।

  • नवीनतम लॉग का अंतिम भाग देखें

    bash
    openclaw logs --follow

    यदि RPC बंद है, तो इसका उपयोग करें:

    bash
    tail -f "/tmp/openclaw/openclaw-$(date +%F).log"# नामित प्रोफ़ाइल का उदाहरण:tail -f "/tmp/openclaw/openclaw-dev-$(date +%F).log"

    फ़ाइल लॉग सेवा लॉग से अलग होते हैं; लॉगिंग और समस्या निवारण देखें।

  • डॉक्टर चलाएँ (मरम्मत)

    bash
    openclaw doctor

    कॉन्फ़िगरेशन और स्थिति की मरम्मत/माइग्रेशन करता है, फिर स्वास्थ्य जाँच चलाता है। डॉक्टर देखें।

  • Gateway स्नैपशॉट (केवल WS)

    bash
    openclaw health --jsonopenclaw health --verbose   # त्रुटियों पर लक्ष्य URL + कॉन्फ़िगरेशन पथ दिखाता है

    चल रहे gateway से पूर्ण स्नैपशॉट माँगता है। स्वास्थ्य देखें।

  • त्वरित शुरुआत और पहली बार का सेटअप

    पहली बार के प्रश्नोत्तर—इंस्टॉल, ऑनबोर्डिंग, प्रमाणीकरण मार्ग, सदस्यताएँ, आरंभिक विफलताएँ—पहली बार की FAQ में उपलब्ध हैं।

    OpenClaw क्या है?

    एक अनुच्छेद में OpenClaw क्या है?

    OpenClaw एक व्यक्तिगत AI सहायक है, जिसे आप अपने उपकरणों पर चलाते हैं। यह आपके पहले से उपयोग किए जाने वाले संदेश माध्यमों (Discord, Google Chat, iMessage, Mattermost, Signal, Slack, Telegram, WebChat, WhatsApp और QQ Bot जैसे बंडल किए गए चैनल plugins) पर उत्तर देता है और समर्थित प्लेटफ़ॉर्म पर आवाज़ तथा लाइव Canvas का भी उपयोग कर सकता है। Gateway हमेशा चालू रहने वाला नियंत्रण स्तर है; सहायक ही उत्पाद है।

    मूल्य प्रस्ताव

    OpenClaw "केवल Claude रैपर" नहीं है। यह एक स्थानीय-प्रथम नियंत्रण स्तर है, जो आपके अपने हार्डवेयर पर एक सक्षम सहायक चलाता है, आपके पहले से उपयोग किए जाने वाले चैट ऐप्स से पहुँच योग्य है और इसमें स्थितिपूर्ण सत्र, मेमोरी तथा टूल उपलब्ध हैं—आपके कार्यप्रवाह किसी होस्टेड SaaS को सौंपे बिना।

    • आपके उपकरण, आपका डेटा: Gateway को जहाँ चाहें (Mac, Linux, VPS) चलाएँ और कार्यक्षेत्र तथा सत्र इतिहास स्थानीय रखें।
    • वास्तविक चैनल, वेब सैंडबॉक्स नहीं: Discord/iMessage/Signal/Slack/Telegram/WhatsApp/आदि, साथ ही समर्थित प्लेटफ़ॉर्म पर मोबाइल वॉइस और Canvas।
    • मॉडल-स्वतंत्र: प्रति-एजेंट रूटिंग और फ़ेलओवर के साथ Anthropic, MiniMax, OpenAI, OpenRouter आदि का उपयोग करें।
    • केवल-स्थानीय विकल्प: स्थानीय मॉडल चलाएँ, ताकि सारा डेटा आपके उपकरण पर रह सके।
    • मल्टी-एजेंट रूटिंग: प्रत्येक चैनल, खाते या कार्य के लिए अलग-अलग एजेंट, प्रत्येक का अपना कार्यक्षेत्र और डिफ़ॉल्ट।
    • ओपन सोर्स और परिवर्तनीय: विक्रेता लॉक-इन के बिना निरीक्षण, विस्तार और स्व-होस्टिंग करें।

    दस्तावेज़: Gateway, चैनल, मल्टी-एजेंट, मेमोरी

    मैंने अभी इसे सेट अप किया है—मुझे पहले क्या करना चाहिए?

    अच्छी शुरुआती परियोजनाएँ: वेबसाइट बनाएँ (WordPress, Shopify या स्थिर साइट); मोबाइल ऐप का प्रोटोटाइप बनाएँ (रूपरेखा, स्क्रीन, API योजना); फ़ाइलें और फ़ोल्डर व्यवस्थित करें; Gmail कनेक्ट करें और सारांश या फ़ॉलो-अप स्वचालित करें।

    यह बड़े कार्य संभाल सकता है, लेकिन समानांतर कार्य के लिए उप-एजेंट के साथ चरणों में विभाजित करने पर सर्वोत्तम काम करता है।

    OpenClaw के पाँच प्रमुख दैनिक उपयोग क्या हैं?
    • व्यक्तिगत संक्षिप्त विवरण: आपके लिए महत्वपूर्ण इनबॉक्स, कैलेंडर और समाचारों के सारांश।
    • शोध और प्रारूपण: ईमेल या दस्तावेज़ों के लिए त्वरित शोध, सारांश और शुरुआती मसौदे।
    • अनुस्मारक और फ़ॉलो-अप: Cron या Heartbeat से संचालित संकेत और जाँच-सूचियाँ।
    • ब्राउज़र स्वचालन: फ़ॉर्म भरना, डेटा एकत्र करना, वेब कार्य दोहराना।
    • उपकरणों के बीच समन्वय: अपने फ़ोन से कार्य भेजें, Gateway को उसे सर्वर पर चलाने दें और परिणाम चैट में वापस पाएँ।
    क्या OpenClaw किसी SaaS के लिए संभावित ग्राहक जुटाने, संपर्क अभियान, विज्ञापनों और ब्लॉग में सहायता कर सकता है?

    हाँ, शोध, योग्यता निर्धारण और प्रारूपण के लिए: साइटों को स्कैन करना, संक्षिप्त सूचियाँ बनाना, संभावित ग्राहकों का सारांश तैयार करना, संपर्क या विज्ञापन सामग्री के मसौदे लिखना।

    संपर्क या विज्ञापन अभियान के लिए, मानवीय निगरानी बनाए रखें। स्पैम से बचें, स्थानीय कानूनों और प्लेटफ़ॉर्म नीतियों का पालन करें और भेजने से पहले हर सामग्री की समीक्षा करें। OpenClaw को मसौदा बनाने दें; आप अनुमोदन करें।

    दस्तावेज़: सुरक्षा

    वेब विकास के लिए Claude Code की तुलना में इसके क्या लाभ हैं?

    OpenClaw एक व्यक्तिगत सहायक और समन्वय स्तर है, IDE का प्रतिस्थापन नहीं। किसी रेपो के भीतर सबसे तेज़ प्रत्यक्ष कोडिंग चक्र के लिए Claude Code या Codex का उपयोग करें। स्थायी मेमोरी, उपकरणों के बीच पहुँच और टूल संयोजन के लिए OpenClaw का उपयोग करें।

    • सत्रों के बीच स्थायी मेमोरी और कार्यक्षेत्र।
    • मल्टी-प्लेटफ़ॉर्म पहुँच (Telegram, WhatsApp, TUI, WebChat)।
    • टूल संयोजन (ब्राउज़र, फ़ाइलें, शेड्यूलिंग, हुक)।
    • हमेशा चालू Gateway (VPS पर चलाएँ, कहीं से भी संवाद करें)।
    • स्थानीय ब्राउज़र/स्क्रीन/कैमरा/निष्पादन के लिए Nodes।

    प्रदर्शन: https://openclaw.ai/showcase

    Skills और स्वचालन

    रेपो को संशोधित रखे बिना Skills को कैसे अनुकूलित किया जा सकता है?

    रेपो की प्रति को संपादित करने के बजाय प्रबंधित ओवरराइड का उपयोग करें। परिवर्तन ~/.openclaw/skills/<name>/SKILL.md में रखें (या ~/.openclaw/openclaw.json में skills.load.extraDirs के माध्यम से कोई फ़ोल्डर जोड़ें)। प्राथमिकता: <workspace>/skills -> <workspace>/.agents/skills -> ~/.agents/skills -> ~/.openclaw/skills -> बंडल किया गया -> skills.load.extraDirs, इसलिए प्रबंधित ओवरराइड git को छुए बिना बंडल किए गए Skills पर प्राथमिकता पाते हैं। वैश्विक रूप से इंस्टॉल करके दृश्यता कुछ एजेंट तक सीमित करने के लिए, साझा प्रति ~/.openclaw/skills में रखें और agents.defaults.skills / agents.entries.*.skills से दृश्यता नियंत्रित करें। केवल अपस्ट्रीम के योग्य संपादन ही रेपो प्रति के विरुद्ध PR के रूप में भेजे जाने चाहिए।

    क्या किसी कस्टम फ़ोल्डर से Skills लोड किए जा सकते हैं?

    हाँ: ~/.openclaw/openclaw.json में skills.load.extraDirs के माध्यम से डायरेक्टरियाँ जोड़ें (ऊपर दिए क्रम में सबसे कम प्राथमिकता)। clawhub डिफ़ॉल्ट रूप से ./skills में इंस्टॉल करता है, जिसे OpenClaw अगले सत्र में <workspace>/skills मानता है। दृश्यता कुछ एजेंट तक सीमित करने के लिए इसे agents.defaults.skills या agents.entries.*.skills के साथ जोड़ें।

    अलग-अलग कार्यों के लिए अलग मॉडल या सेटिंग्स का उपयोग कैसे किया जा सकता है?

    समर्थित पैटर्न:

    • Cron जॉब: पृथक जॉब प्रत्येक जॉब के लिए model ओवरराइड सेट कर सकते हैं।
    • एजेंट: अलग डिफ़ॉल्ट मॉडल, विचार स्तर और स्ट्रीम पैरामीटर वाले अलग-अलग एजेंट तक कार्य रूट करें।
    • माँग पर बदलाव: /model किसी भी समय वर्तमान सत्र का मॉडल बदलता है।

    उदाहरण—समान मॉडल, अलग-अलग प्रति-एजेंट सेटिंग्स:

    json5
    {  agents: {    list: [      {        id: "coder",        model: "xiaomi/mimo-v2.5-pro",        thinkingDefault: "high",        params: { temperature: 0.1 },      },      {        id: "chat",        model: "xiaomi/mimo-v2.5-pro",        thinkingDefault: "off",        params: { temperature: 0.8 },      },    ],  },}

    साझा प्रति-मॉडल डिफ़ॉल्ट agents.defaults.models["provider/model"].params में रखें, फिर एजेंट-विशिष्ट ओवरराइड समतल agents.entries.*.params में रखें। समान मॉडल को नेस्टेड agents.entries.*.models["provider/model"].params के अंतर्गत दोहराएँ नहीं; वह पथ प्रति-एजेंट मॉडल कैटलॉग और रनटाइम ओवरराइड के लिए है।

    Cron जॉब, मल्टी-एजेंट रूटिंग, कॉन्फ़िगरेशन, स्लैश कमांड देखें।

    भारी कार्य करते समय बॉट रुक जाता है। उसका भार कैसे कम किया जा सकता है?

    लंबे या समानांतर कार्यों के लिए उप-एजेंट का उपयोग करें: वे अपने सत्र में चलते हैं, सारांश लौटाते हैं और आपकी मुख्य चैट को प्रतिक्रियाशील बनाए रखते हैं। बॉट से "इस कार्य के लिए एक उप-एजेंट बनाएँ" कहें या /subagents का उपयोग करें। Gateway अभी व्यस्त है या नहीं, यह देखने के लिए /status का उपयोग करें।

    लंबे कार्य और उप-एजेंट दोनों टोकन का उपभोग करते हैं; यदि लागत महत्वपूर्ण है, तो agents.defaults.subagents.model के माध्यम से उप-एजेंट के लिए सस्ता मॉडल सेट करें।

    दस्तावेज़: उप-एजेंट, पृष्ठभूमि कार्य

    Discord पर थ्रेड से बँधे उप-एजेंट सत्र कैसे काम करते हैं?

    किसी Discord थ्रेड को उप-एजेंट या सत्र लक्ष्य से बाँधें, ताकि वहाँ के फ़ॉलो-अप संदेश उसी बँधे हुए सत्र में रहें।

    • thread: true का उपयोग करके sessions_spawn के साथ बनाएँ (स्थायी फ़ॉलो-अप के लिए वैकल्पिक रूप से mode: "session")।
    • या /focus <target> से मैन्युअल रूप से बाँधें।
    • /agents बाइंडिंग स्थिति का निरीक्षण करता है।
    • /session idle <duration|off> और /session max-age <duration|off> स्वचालित अनफ़ोकस नियंत्रित करते हैं।
    • /unfocus थ्रेड को अलग करता है।

    कॉन्फ़िगरेशन: session.threadBindings.enabled (वैश्विक स्विच), session.threadBindings.idleHours (डिफ़ॉल्ट 24, 0 अक्षम करता है), session.threadBindings.maxAgeHours (डिफ़ॉल्ट 0 = कोई कठोर सीमा नहीं), और निर्माण पर स्वतः-बाइंड के लिए session.threadBindings.spawnSessions (डिफ़ॉल्ट true)।

    दस्तावेज़: उप-एजेंट, Discord, कॉन्फ़िगरेशन संदर्भ, स्लैश कमांड

    उप-एजेंट पूरा हो गया, लेकिन पूर्णता अपडेट गलत स्थान पर गया या कभी पोस्ट नहीं हुआ। क्या जाँचना चाहिए?

    समाधान किए गए अनुरोधकर्ता रूट की जाँच करें:

    • पूर्णता-मोड उप-एजेंट डिलीवरी उपलब्ध होने पर बँधे हुए थ्रेड या वार्तालाप रूट को प्राथमिकता देती है।
    • यदि पूर्णता के मूल में केवल चैनल है, तो OpenClaw अनुरोधकर्ता सत्र के संग्रहीत रूट (lastChannel / lastTo / lastAccountId) का उपयोग करता है, ताकि प्रत्यक्ष डिलीवरी फिर भी सफल हो सके।
    • कोई बँधा हुआ रूट और उपयोग योग्य संग्रहीत रूट न होने पर: प्रत्यक्ष डिलीवरी विफल हो सकती है और परिणाम तुरंत पोस्ट होने के बजाय कतारबद्ध सत्र डिलीवरी पर लौट जाता है।
    • अमान्य या पुराने लक्ष्य भी कतार फ़ॉलबैक या अंतिम डिलीवरी विफलता को बाध्य कर सकते हैं।
    • यदि चाइल्ड का अंतिम दृश्यमान सहायक उत्तर ठीक NO_REPLY / no_reply या ANNOUNCE_SKIP है, तो OpenClaw पुराने पूर्व प्रगति संदेश को पोस्ट करने के बजाय जानबूझकर घोषणा रोक देता है।

    डीबग: openclaw tasks show <lookup>, जहाँ <lookup> एक कार्य ID, रन ID या सत्र कुंजी है।

    दस्तावेज़: उप-एजेंट, पृष्ठभूमि कार्य, सत्र टूल

    Cron या अनुस्मारक सक्रिय नहीं होते। क्या जाँचना चाहिए?

    Cron Gateway प्रक्रिया के भीतर चलता है; यदि Gateway लगातार नहीं चल रहा हो, तो यह सक्रिय नहीं होता।

    • पुष्टि करें कि Cron सक्षम है (cron.enabled) और OPENCLAW_SKIP_CRON सेट नहीं है।
    • पुष्टि करें कि Gateway 24/7 चल रहा है (कोई स्लीप/पुनरारंभ नहीं)।
    • जॉब का समय क्षेत्र सत्यापित करें (--tz बनाम होस्ट का समय क्षेत्र)।

    डीबग:

    bash
    openclaw cron run <jobId>openclaw cron runs --id <jobId> --limit 50

    दस्तावेज़: Cron जॉब, स्वचालन

    Cron चला, लेकिन चैनल पर कुछ नहीं भेजा गया। क्यों?

    डिलीवरी मोड जाँचें:

    • --no-deliver / delivery.mode: "none": रनर से फ़ॉलबैक भेजने की अपेक्षा नहीं है।
    • घोषणा लक्ष्य अनुपलब्ध या अमान्य है (channel / to): रनर ने आउटबाउंड डिलीवरी छोड़ दी।
    • चैनल प्रमाणीकरण विफलताएँ (unauthorized, Forbidden): रनर ने डिलीवरी का प्रयास किया, लेकिन क्रेडेंशियल ने उसे रोक दिया।
    • मौन पृथक परिणाम (केवल NO_REPLY / no_reply) को जानबूझकर डिलीवरी योग्य नहीं माना जाता है, इसलिए कतारबद्ध फ़ॉलबैक डिलीवरी भी रोक दी जाती है।

    पृथक Cron जॉब के लिए, चैट रूट उपलब्ध होने पर एजेंट फिर भी message टूल से सीधे भेज सकता है। --announce केवल उस अंतिम टेक्स्ट की रनर फ़ॉलबैक डिलीवरी नियंत्रित करता है जिसे एजेंट ने पहले ही स्वयं नहीं भेजा है।

    डीबग:

    bash
    openclaw cron runs --id <jobId> --limit 50openclaw tasks show <lookup>

    दस्तावेज़: Cron जॉब, पृष्ठभूमि कार्य

    किसी पृथक Cron रन ने मॉडल क्यों बदला या एक बार पुनः प्रयास क्यों किया?

    यह लाइव मॉडल-स्विच पथ है, डुप्लिकेट शेड्यूलिंग नहीं। सक्रिय रन द्वारा LiveSessionModelSwitchError थ्रो किए जाने पर पृथक Cron रनटाइम मॉडल हैंडऑफ़ को बनाए रखता है और पुनः प्रयास करता है, तथा पुनः प्रयास से पहले बदले गए प्रदाता/मॉडल (और बदला गया कोई भी प्रमाणीकरण-प्रोफ़ाइल ओवरराइड) बनाए रखता है।

    मॉडल-चयन प्राथमिकता: पहले Gmail हुक मॉडल ओवरराइड (hooks.gmail.model), फिर प्रति-जॉब model, फिर संग्रहीत Cron-सत्र मॉडल ओवरराइड, और उसके बाद सामान्य एजेंट/डिफ़ॉल्ट मॉडल चयन।

    पुनः प्रयास लूप प्रारंभिक प्रयास और उसके बाद 2 स्विच पुनः प्रयासों तक सीमित है; इसके बाद Cron हमेशा लूप करते रहने के बजाय समाप्त हो जाता है।

    डीबग:

    bash
    openclaw cron runs --id <jobId> --limit 50

    दस्तावेज़: Cron जॉब, Cron CLI

    मैं Linux पर Skills कैसे इंस्टॉल करूँ?

    मूल openclaw skills कमांड का उपयोग करें या Skills को अपने कार्यक्षेत्र में रखें; macOS Skills UI Linux पर उपलब्ध नहीं है। https://clawhub.ai पर Skills ब्राउज़ करें।

    bash
    openclaw skills search "calendar"openclaw skills search --limit 20openclaw skills install @owner/<skill-slug>openclaw skills install @owner/<skill-slug> --version <version>openclaw skills install @owner/<skill-slug> --forceopenclaw skills install @owner/<skill-slug> --globalopenclaw skills update --allopenclaw skills update --all --globalopenclaw skills list --eligibleopenclaw skills check

    मूल openclaw skills install डिफ़ॉल्ट रूप से सक्रिय कार्यक्षेत्र की skills/ डायरेक्टरी में लिखता है। सभी स्थानीय एजेंटों के लिए साझा प्रबंधित Skills डायरेक्टरी में इंस्टॉल करने हेतु --global जोड़ें। अलग clawhub CLI केवल अपने Skills प्रकाशित या सिंक करने के लिए इंस्टॉल करें। यह सीमित करने के लिए कि कौन-से एजेंट साझा Skills देख सकते हैं, agents.defaults.skills या agents.entries.*.skills का उपयोग करें।

    क्या OpenClaw कार्यों को निर्धारित समय पर या पृष्ठभूमि में लगातार चला सकता है?

    हाँ, Gateway शेड्यूलर के माध्यम से:

    • निर्धारित या आवर्ती कार्यों के लिए Cron जॉब (पुनरारंभ के बाद भी बने रहते हैं)।
    • मुख्य सत्र की आवधिक जाँचों के लिए Heartbeat
    • सारांश पोस्ट करने या चैट में डिलीवर करने वाले स्वायत्त एजेंटों के लिए पृथक जॉब

    दस्तावेज़: Cron जॉब, स्वचालन, Heartbeat

    क्या मैं Linux से केवल Apple macOS पर चलने वाले Skills चला सकता हूँ?

    सीधे नहीं। macOS Skills पर metadata.openclaw.os और आवश्यक बाइनरी के आधार पर प्रतिबंध लगाया जाता है, और वे केवल Gateway होस्ट पर पात्र होने पर लोड होते हैं। Linux पर केवल darwin वाले Skills (apple-notes, apple-reminders, things-mac) तब तक लोड नहीं होंगे, जब तक आप पात्रता प्रतिबंध को ओवरराइड नहीं करते।

    तीन समर्थित तरीके:

    विकल्प A - Gateway को Mac पर चलाएँ (सबसे सरल)। Gateway को वहाँ चलाएँ जहाँ macOS बाइनरी मौजूद हों, फिर Linux से रिमोट मोड में या Tailscale के माध्यम से कनेक्ट करें। Skills सामान्य रूप से लोड होते हैं क्योंकि Gateway होस्ट macOS है।

    विकल्प B - macOS Node का उपयोग करें (SSH के बिना)। Gateway को Linux पर चलाएँ, किसी macOS Node (मेनू बार ऐप) को पेयर करें और Mac पर Node Run Commands को "Always Ask" या "Always Allow" पर सेट करें। आवश्यक बाइनरी Node पर मौजूद होने पर OpenClaw केवल macOS वाले Skills को पात्र मानता है; एजेंट उन्हें nodes टूल के माध्यम से चलाता है। "Always Ask" के साथ, प्रॉम्प्ट में "Always Allow" स्वीकृत करने पर वह कमांड अनुमति-सूची में जुड़ जाता है।

    विकल्प C - SSH के माध्यम से macOS बाइनरी को प्रॉक्सी करें (उन्नत)। Gateway को Linux पर रखें, लेकिन आवश्यक CLI बाइनरी को ऐसे SSH रैपर पर रिज़ॉल्व कराएँ जो Mac पर चलते हों, फिर Skill को Linux की अनुमति देने के लिए ओवरराइड करें ताकि वह पात्र बना रहे।

    1. बाइनरी के लिए SSH रैपर बनाएँ (उदाहरण: Apple Notes के लिए memo):
      bash
      #!/usr/bin/env bashset -euo pipefailexec ssh -T user@mac-host /opt/homebrew/bin/memo "$@"
    2. रैपर को Linux होस्ट के PATH में रखें (उदाहरण के लिए ~/bin/memo)।
    3. Linux की अनुमति देने के लिए Skill मेटाडेटा (कार्यक्षेत्र या ~/.openclaw/skills) को ओवरराइड करें:
      markdown
      ---name: apple-notesdescription: macOS पर memo CLI के माध्यम से Apple Notes प्रबंधित करें।metadata: { "openclaw": { "os": ["darwin", "linux"], "requires": { "bins": ["memo"] } } }---
    4. Skills स्नैपशॉट रीफ़्रेश करने के लिए नया सत्र शुरू करें।
    क्या Notion या HeyGen एकीकरण उपलब्ध है?

    फ़िलहाल अंतर्निर्मित नहीं है। विकल्प:

    • कस्टम Skill / Plugin: विश्वसनीय API पहुँच के लिए सर्वोत्तम (दोनों के API उपलब्ध हैं)।
    • ब्राउज़र स्वचालन: कोड के बिना काम करता है, लेकिन धीमा और अधिक नाज़ुक है।

    एजेंसी-शैली के प्रति-क्लाइंट संदर्भ के लिए: प्रत्येक क्लाइंट हेतु एक Notion पृष्ठ रखें (संदर्भ + प्राथमिकताएँ + सक्रिय कार्य) और एजेंट से सत्र की शुरुआत में वह पृष्ठ प्राप्त करने को कहें।

    मूल एकीकरण के लिए, फ़ीचर अनुरोध खोलें या उन API पर आधारित Skill बनाएँ।

    bash
    openclaw skills install @owner/<skill-slug>openclaw skills update --all

    मूल इंस्टॉलेशन सक्रिय कार्यक्षेत्र की skills/ डायरेक्टरी में होते हैं; सभी स्थानीय एजेंटों के लिए --global का उपयोग करें, या दृश्यता सीमित करने के लिए agents.defaults.skills / agents.entries.*.skills कॉन्फ़िगर करें। कुछ Skills को Homebrew से इंस्टॉल की गई बाइनरी अपेक्षित होती हैं; Linux पर इसका अर्थ Linuxbrew है।

    देखें: Skills, Skills कॉन्फ़िगरेशन, ClawHub

    मैं OpenClaw के साथ अपने मौजूदा साइन-इन किए हुए Chrome का उपयोग कैसे करूँ?

    अंतर्निर्मित user ब्राउज़र प्रोफ़ाइल का उपयोग करें, जो Chrome DevTools MCP के माध्यम से जुड़ती है:

    bash
    openclaw browser --browser-profile user tabsopenclaw browser --browser-profile user snapshot

    कस्टम नाम के लिए, स्पष्ट MCP प्रोफ़ाइल बनाएँ:

    bash
    openclaw browser create-profile --name chrome-live --driver existing-sessionopenclaw browser --browser-profile chrome-live tabs

    यह स्थानीय होस्ट ब्राउज़र या कनेक्ट किए गए ब्राउज़र Node का उपयोग कर सकता है। यदि Gateway कहीं और चलता है, तो ब्राउज़र मशीन पर Node होस्ट चलाएँ, या इसके बजाय रिमोट CDP का उपयोग करें।

    प्रबंधित openclaw प्रोफ़ाइल की तुलना में existing-session / user प्रोफ़ाइल की वर्तमान सीमाएँ:

    • click, type, hover, scrollIntoView, drag, और select को CSS चयनकर्ताओं के बजाय स्नैपशॉट संदर्भों की आवश्यकता होती है।
    • अपलोड हुक को एक बार में एक फ़ाइल के लिए ref या inputRef की आवश्यकता होती है; CSS element समर्थित नहीं है।
    • responsebody, PDF निर्यात, डाउनलोड इंटरसेप्शन और बैच कार्रवाइयों के लिए अभी भी प्रबंधित ब्राउज़र पथ आवश्यक है।

    पूरी तुलना के लिए ब्राउज़र देखें।

    सैंडबॉक्सिंग और मेमोरी

    क्या सैंडबॉक्सिंग के लिए समर्पित दस्तावेज़ उपलब्ध है?

    हाँ: सैंडबॉक्सिंग। Docker-विशिष्ट सेटअप (Docker में पूरा Gateway या सैंडबॉक्स इमेज) के लिए Docker देखें।

    Docker सीमित लगता है—मैं सभी सुविधाएँ कैसे सक्षम करूँ?

    डिफ़ॉल्ट इमेज सुरक्षा को प्राथमिकता देती है और node उपयोगकर्ता के रूप में चलती है, इसलिए इसमें सिस्टम पैकेज, Homebrew और बंडल किए गए ब्राउज़र शामिल नहीं होते। अधिक पूर्ण सेटअप के लिए:

    • कैश बनाए रखने के लिए /home/node को OPENCLAW_HOME_VOLUME के साथ स्थायी बनाएँ।
    • OPENCLAW_IMAGE_APT_PACKAGES के साथ सिस्टम निर्भरताएँ इमेज में बेक करें।
    • बंडल किए गए CLI के माध्यम से Playwright ब्राउज़र इंस्टॉल करें: node /app/node_modules/playwright-core/cli.js install chromium
    • PLAYWRIGHT_BROWSERS_PATH सेट करें और उस पथ को स्थायी बनाएँ।

    दस्तावेज़: Docker, ब्राउज़र

    क्या मैं एक एजेंट के साथ DM को निजी और समूहों को सार्वजनिक/सैंडबॉक्सयुक्त रख सकता हूँ?

    हाँ, यदि निजी ट्रैफ़िक DM है और सार्वजनिक ट्रैफ़िक समूह हैं। agents.defaults.sandbox.mode: "non-main" सेट करें ताकि समूह/चैनल सत्र (गैर-मुख्य कुंजियाँ) कॉन्फ़िगर किए गए सैंडबॉक्स बैकएंड में चलें, जबकि मुख्य DM सत्र होस्ट पर बना रहे। सैंडबॉक्सिंग सक्षम होने के बाद Docker डिफ़ॉल्ट बैकएंड होता है। tools.sandbox.tools के माध्यम से सैंडबॉक्सयुक्त सत्रों में उपलब्ध टूल सीमित करें।

    सेटअप मार्गदर्शिका: समूह: निजी DM + सार्वजनिक समूह। मुख्य संदर्भ: Gateway कॉन्फ़िगरेशन

    मैं किसी होस्ट फ़ोल्डर को सैंडबॉक्स में कैसे बाइंड करूँ?

    agents.defaults.sandbox.docker.binds को ["host:container:mode"] पर सेट करें (उदाहरण के लिए "/home/user/src:/src:ro")। वैश्विक और प्रति-एजेंट बाइंड मर्ज हो जाते हैं; scope: "shared" होने पर प्रति-एजेंट बाइंड अनदेखे किए जाते हैं। संवेदनशील सामग्री के लिए :ro का उपयोग करें; बाइंड सैंडबॉक्स फ़ाइल सिस्टम की सीमाओं को बायपास करते हैं।

    OpenClaw बाइंड स्रोतों को सामान्यीकृत पथ और सबसे गहरे मौजूदा पूर्वज के माध्यम से रिज़ॉल्व किए गए कैनोनिकल पथ—दोनों के विरुद्ध सत्यापित करता है, इसलिए अंतिम पथ खंड अभी मौजूद न होने पर भी सिमलिंक-पैरेंट एस्केप बंद अवस्था में विफल होते हैं।

    सैंडबॉक्सिंग और सैंडबॉक्स बनाम टूल नीति बनाम उन्नत देखें।

    मेमोरी कैसे काम करती है?

    OpenClaw मेमोरी एजेंट कार्यक्षेत्र की Markdown फ़ाइलें हैं: दैनिक नोट्स memory/YYYY-MM-DD.md में और सुव्यवस्थित दीर्घकालिक नोट्स MEMORY.md में (केवल मुख्य/निजी सत्र)।

    OpenClaw, Compaction द्वारा वार्तालाप का सारांश बनाए जाने से पहले मौन पूर्व-Compaction मेमोरी फ़्लश भी चलाता है, जो मॉडल को पहले स्थायी नोट्स लिखने की याद दिलाता है। यह केवल तभी चलता है जब कार्यक्षेत्र लिखने योग्य हो (केवल-पढ़ने योग्य सैंडबॉक्स इसे छोड़ देते हैं); agents.defaults.compaction.memoryFlush.enabled: false से इसे अक्षम करें। मेमोरी देखें।

    मेमोरी बार-बार बातें भूल जाती है। मैं उन्हें स्थायी कैसे बनाऊँ?

    बॉट से तथ्य को मेमोरी में लिखने के लिए कहें: दीर्घकालिक नोट्स MEMORY.md में और अल्पकालिक संदर्भ memory/YYYY-MM-DD.md में जाते हैं। मॉडल को यादें संग्रहीत करने की याद दिलाने से आमतौर पर समस्या हल हो जाती है। यदि वह फिर भी भूलता रहे, तो सत्यापित करें कि Gateway प्रत्येक रन में उसी कार्यक्षेत्र का उपयोग करता है।

    दस्तावेज़: मेमोरी, एजेंट कार्यक्षेत्र

    क्या मेमोरी हमेशा बनी रहती है? इसकी सीमाएँ क्या हैं?

    मेमोरी फ़ाइलें डिस्क पर रहती हैं और हटाए जाने तक बनी रहती हैं; सीमा आपके स्टोरेज की है, मॉडल की नहीं। सेशन कॉन्टेक्स्ट अब भी मॉडल की कॉन्टेक्स्ट विंडो से सीमित होता है, इसलिए लंबी बातचीत Compaction के कारण संक्षिप्त या काटी जा सकती है—इसीलिए मेमोरी खोज मौजूद है, जो केवल प्रासंगिक भागों को वापस कॉन्टेक्स्ट में लाती है।

    दस्तावेज़: मेमोरी, कॉन्टेक्स्ट

    क्या सिमैंटिक मेमोरी खोज के लिए OpenAI API कुंजी आवश्यक है?

    केवल तब, जब आप OpenAI एम्बेडिंग्स का उपयोग करते हैं, जो डिफ़ॉल्ट प्रदाता है। Codex OAuth चैट/कम्प्लीशन्स को कवर करता है और एम्बेडिंग्स की पहुँच नहीं देता, इसलिए Codex से साइन इन करने पर (OAuth या Codex CLI लॉगिन के माध्यम से) सिमैंटिक मेमोरी खोज सक्षम नहीं होती। OpenAI एम्बेडिंग्स के लिए अब भी वास्तविक API कुंजी (OPENAI_API_KEY या models.providers.openai.apiKey) आवश्यक है।

    स्थानीय बने रहने के लिए, memory.search.provider: "local" (GGUF/llama.cpp) सेट करें। अन्य समर्थित प्रदाता: Bedrock, DeepInfra, Gemini (GEMINI_API_KEY या memory.search.remote.apiKey), GitHub Copilot, LM Studio, Mistral, Ollama, OpenAI-संगत और Voyage। सेटअप विवरण के लिए मेमोरी और मेमोरी खोज देखें।

    डिस्क पर चीज़ें कहाँ रहती हैं

    क्या OpenClaw के साथ उपयोग किया गया सारा डेटा स्थानीय रूप से सहेजा जाता है?

    नहीं: OpenClaw की अपनी स्थिति स्थानीय रहती है, लेकिन बाहरी सेवाएँ अब भी आपके द्वारा भेजी गई सामग्री देखती हैं

    • डिफ़ॉल्ट रूप से स्थानीय: सेशन, मेमोरी फ़ाइलें, कॉन्फ़िगरेशन और वर्कस्पेस Gateway होस्ट पर रहते हैं (~/.openclaw और आपकी वर्कस्पेस डायरेक्टरी)।
    • आवश्यकतानुसार रिमोट: मॉडल प्रदाताओं (Anthropic/OpenAI/आदि) को भेजे गए संदेश उनके API पर जाते हैं, और चैट प्लेटफ़ॉर्म (Slack/Telegram/WhatsApp/आदि) संदेश डेटा अपने सर्वरों पर संग्रहीत करते हैं।
    • फ़ुटप्रिंट आपके नियंत्रण में है: स्थानीय मॉडल प्रॉम्प्ट को आपकी मशीन पर रखते हैं, लेकिन चैनल ट्रैफ़िक फिर भी चैनल के सर्वरों से होकर जाता है।

    संबंधित: एजेंट वर्कस्पेस, मेमोरी

    OpenClaw अपना डेटा कहाँ संग्रहीत करता है?

    सब कुछ $OPENCLAW_STATE_DIR के अंतर्गत रहता है (डिफ़ॉल्ट: ~/.openclaw):

    पथ उद्देश्य
    $OPENCLAW_STATE_DIR/openclaw.json मुख्य कॉन्फ़िगरेशन (JSON5)
    $OPENCLAW_STATE_DIR/credentials/oauth.json पुराना OAuth आयात (पहले उपयोग पर प्रमाणीकरण प्रोफ़ाइलों में कॉपी किया जाता है)
    $OPENCLAW_STATE_DIR/agents/<agentId>/agent/auth-profiles.json प्रमाणीकरण प्रोफ़ाइलें (OAuth, API कुंजियाँ, वैकल्पिक keyRef/tokenRef)
    $OPENCLAW_STATE_DIR/secrets.json file SecretRef प्रदाताओं के लिए वैकल्पिक फ़ाइल-समर्थित सीक्रेट पेलोड
    $OPENCLAW_STATE_DIR/agents/<agentId>/agent/auth.json पुरानी संगतता फ़ाइल (स्थिर api_key प्रविष्टियाँ हटाई गईं)
    $OPENCLAW_STATE_DIR/credentials/ प्रदाता स्थिति (उदाहरण के लिए whatsapp/<accountId>/creds.json)
    $OPENCLAW_STATE_DIR/agents/ प्रति-एजेंट स्थिति (agentDir + पुराने/संग्रहित सेशन आर्टिफ़ैक्ट)
    $OPENCLAW_STATE_DIR/agents/<agentId>/agent/openclaw-agent.sqlite प्रति-एजेंट SQLite स्थिति, जिसमें सेशन पंक्तियाँ और ट्रांसक्रिप्ट शामिल हैं
    $OPENCLAW_STATE_DIR/agents/<agentId>/sessions/ पुराने सेशन माइग्रेशन स्रोत और संग्रह/सहायता आर्टिफ़ैक्ट

    पुराना एकल-एजेंट पथ ~/.openclaw/agent/*, openclaw doctor द्वारा माइग्रेट किया जाता है।

    आपका वर्कस्पेस (AGENTS.md, मेमोरी फ़ाइलें, Skills आदि) अलग है और agents.defaults.workspace के माध्यम से कॉन्फ़िगर किया जाता है (डिफ़ॉल्ट: ~/.openclaw/workspace)।

    AGENTS.md / SOUL.md / USER.md / MEMORY.md कहाँ रहने चाहिए?

    ये एजेंट वर्कस्पेस में रहते हैं, ~/.openclaw में नहीं।

    • वर्कस्पेस (प्रति एजेंट): AGENTS.md, SOUL.md, IDENTITY.md, USER.md, MEMORY.md, memory/YYYY-MM-DD.md, वैकल्पिक HEARTBEAT.md। लोअरकेस रूट memory.md केवल पुराना मरम्मत इनपुट है; जब दोनों मौजूद हों, तो openclaw doctor --fix इसे MEMORY.md में मर्ज कर सकता है।
    • स्थिति डायरेक्टरी (~/.openclaw): कॉन्फ़िगरेशन, चैनल/प्रदाता स्थिति, प्रमाणीकरण प्रोफ़ाइलें, सेशन, लॉग, साझा Skills (~/.openclaw/skills)।

    डिफ़ॉल्ट वर्कस्पेस ~/.openclaw/workspace है, जिसे कॉन्फ़िगर किया जा सकता है:

    json5
    {  agents: { defaults: { workspace: "~/.openclaw/workspace" } },}

    यदि बॉट पुनः आरंभ होने के बाद "भूल जाता" है, तो पुष्टि करें कि Gateway हर बार लॉन्च होने पर उसी वर्कस्पेस का उपयोग करता है (रिमोट मोड में gateway होस्ट का वर्कस्पेस उपयोग होता है, आपके स्थानीय लैपटॉप का नहीं)।

    सुझाव: स्थायी व्यवहार या प्राथमिकता के लिए, चैट इतिहास पर निर्भर रहने के बजाय बॉट से इसे AGENTS.md या MEMORY.md में लिखने के लिए कहें।

    एजेंट वर्कस्पेस और मेमोरी देखें।

    क्या मैं SOUL.md को बड़ा कर सकता हूँ?

    हाँ। SOUL.md एजेंट कॉन्टेक्स्ट में इंजेक्ट की जाने वाली वर्कस्पेस बूटस्ट्रैप फ़ाइलों में से एक है। डिफ़ॉल्ट प्रति-फ़ाइल इंजेक्शन सीमा 20000 वर्ण है; सभी फ़ाइलों का कुल बूटस्ट्रैप बजट 60000 वर्ण है।

    साझा डिफ़ॉल्ट बदलें:

    json5
    {  agents: {    defaults: {      bootstrapMaxChars: 50000,      bootstrapTotalMaxChars: 300000,    },  },}

    या agents.entries.*.bootstrapMaxChars / bootstrapTotalMaxChars के अंतर्गत किसी एक एजेंट के लिए ओवरराइड करें।

    मूल और इंजेक्ट किए गए आकारों की जाँच करने तथा यह जानने के लिए कि सामग्री काटी गई या नहीं, /context का उपयोग करें। SOUL.md को शैली, दृष्टिकोण और व्यक्तित्व पर केंद्रित रखें; संचालन नियम AGENTS.md में और स्थायी तथ्य मेमोरी में रखें।

    कॉन्टेक्स्ट और एजेंट कॉन्फ़िगरेशन देखें।

    अनुशंसित बैकअप रणनीति

    अपने एजेंट वर्कस्पेस को किसी निजी git रिपॉज़िटरी में रखें और उसका बैकअप किसी निजी स्थान पर लें (उदाहरण के लिए GitHub private)। इससे मेमोरी के साथ AGENTS/SOUL/USER फ़ाइलें भी सुरक्षित होती हैं और आप बाद में सहायक के "मन" को पुनर्स्थापित कर सकते हैं।

    ~/.openclaw के अंतर्गत कुछ भी कमिट न करें (क्रेडेंशियल, सेशन, टोकन, एन्क्रिप्टेड सीक्रेट पेलोड)। पूर्ण पुनर्स्थापन के लिए वर्कस्पेस और स्थिति डायरेक्टरी का अलग-अलग बैकअप लें।

    दस्तावेज़: एजेंट वर्कस्पेस

    मैं OpenClaw को पूरी तरह अनइंस्टॉल कैसे करूँ?

    अनइंस्टॉल देखें।

    क्या एजेंट वर्कस्पेस के बाहर काम कर सकते हैं?

    हाँ। वर्कस्पेस डिफ़ॉल्ट cwd और मेमोरी एंकर है, कोई कठोर सैंडबॉक्स नहीं। सापेक्ष पथ वर्कस्पेस के अंदर रिज़ॉल्व होते हैं; सैंडबॉक्सिंग सक्षम न होने पर निरपेक्ष पथ अन्य होस्ट स्थानों तक पहुँच सकते हैं। अलगाव के लिए agents.defaults.sandbox या प्रति-एजेंट सैंडबॉक्स सेटिंग्स का उपयोग करें। किसी रिपॉज़िटरी को डिफ़ॉल्ट कार्यशील डायरेक्टरी बनाने के लिए, उस एजेंट के workspace को रिपॉज़िटरी रूट पर इंगित करें—OpenClaw रिपॉज़िटरी स्वयं केवल स्रोत कोड है, इसलिए जब तक आप जानबूझकर एजेंट से उसके अंदर काम नहीं कराना चाहते, वर्कस्पेस को अलग रखें।

    json5
    {  agents: {    defaults: {      workspace: "~/Projects/my-repo",    },  },}
    रिमोट मोड: सेशन स्टोर कहाँ है?

    सेशन स्थिति का स्वामित्व gateway होस्ट के पास होता है। रिमोट मोड में आपके लिए प्रासंगिक सेशन स्टोर रिमोट मशीन पर होता है, आपके स्थानीय लैपटॉप पर नहीं। सेशन प्रबंधन देखें।

    कॉन्फ़िगरेशन की मूल बातें

    कॉन्फ़िगरेशन का प्रारूप क्या है? यह कहाँ है?

    OpenClaw $OPENCLAW_CONFIG_PATH से एक वैकल्पिक JSON5 कॉन्फ़िगरेशन पढ़ता है (डिफ़ॉल्ट: ~/.openclaw/openclaw.json)। यदि फ़ाइल मौजूद नहीं है, तो यह अपेक्षाकृत सुरक्षित डिफ़ॉल्ट का उपयोग करता है, जिसमें ~/.openclaw/workspace का डिफ़ॉल्ट वर्कस्पेस शामिल है।

    मैंने gateway.bind: "lan" (या "tailnet") सेट किया और अब कुछ भी लिसन नहीं कर रहा / UI "unauthorized" दिखाता है

    नॉन-लूपबैक बाइंड के लिए एक मान्य gateway प्रमाणीकरण पथ आवश्यक है: साझा-सीक्रेट प्रमाणीकरण (टोकन या पासवर्ड), या सही ढंग से कॉन्फ़िगर किए गए पहचान-जागरूक रिवर्स प्रॉक्सी के पीछे gateway.auth.mode: "trusted-proxy"

    json5
    {  gateway: {    bind: "lan",    auth: {      mode: "token",      token: "replace-me",    },  },}
    • gateway.remote.token / .password अपने आप स्थानीय gateway प्रमाणीकरण सक्षम नहीं करते; स्थानीय कॉल पथ केवल तभी gateway.remote.* को फ़ॉलबैक के रूप में उपयोग कर सकते हैं, जब gateway.auth.* सेट न हो।
    • पासवर्ड प्रमाणीकरण के लिए, gateway.auth.mode: "password" के साथ gateway.auth.password (या OPENCLAW_GATEWAY_PASSWORD) सेट करें।
    • यदि gateway.auth.token / .password को SecretRef के माध्यम से स्पष्ट रूप से कॉन्फ़िगर किया गया है और वह रिज़ॉल्व नहीं होता, तो रिज़ॉल्यूशन बंद अवस्था में विफल होता है (कोई रिमोट फ़ॉलबैक इसे छिपाता नहीं है)।
    • साझा-सीक्रेट Control UI सेटअप connect.params.auth.token या connect.params.auth.password के माध्यम से प्रमाणित होते हैं (ऐप/UI सेटिंग्स में संग्रहीत)। Tailscale Serve या trusted-proxy जैसे पहचान-युक्त मोड इसके बजाय अनुरोध हेडर का उपयोग करते हैं—URL में साझा सीक्रेट डालने से बचें।
    • gateway.auth.mode: "trusted-proxy" के साथ, समान-होस्ट लूपबैक रिवर्स प्रॉक्सी के लिए स्पष्ट gateway.auth.trustedProxy.allowLoopback = true और gateway.trustedProxies में एक लूपबैक प्रविष्टि आवश्यक है।
    अब मुझे localhost पर टोकन की आवश्यकता क्यों है?

    OpenClaw डिफ़ॉल्ट रूप से gateway प्रमाणीकरण लागू करता है, जिसमें लूपबैक भी शामिल है। यदि कोई स्पष्ट प्रमाणीकरण पथ कॉन्फ़िगर नहीं किया गया है, तो स्टार्टअप टोकन मोड चुनता है और उस स्टार्टअप के लिए केवल रनटाइम वाला टोकन उत्पन्न करता है, इसलिए स्थानीय WS क्लाइंट को प्रमाणित करना होगा। इससे अन्य स्थानीय प्रक्रियाएँ Gateway को कॉल नहीं कर पातीं।

    जब क्लाइंट को पुनः आरंभों के बीच स्थिर सीक्रेट चाहिए, तो gateway.auth.token, gateway.auth.password, OPENCLAW_GATEWAY_TOKEN या OPENCLAW_GATEWAY_PASSWORD को स्पष्ट रूप से कॉन्फ़िगर करें। आप पासवर्ड मोड या पहचान-जागरूक रिवर्स प्रॉक्सी के लिए trusted-proxy भी चुन सकते हैं। खुले लूपबैक के लिए gateway.auth.mode: "none" को स्पष्ट रूप से सेट करें। openclaw doctor --generate-gateway-token किसी भी समय टोकन उत्पन्न करता है।

    क्या कॉन्फ़िगरेशन बदलने के बाद मुझे पुनः आरंभ करना होगा?

    Gateway कॉन्फ़िगरेशन पर नज़र रखता है और हॉट-रीलोड का समर्थन करता है: gateway.reload.mode: "hybrid" (डिफ़ॉल्ट) सुरक्षित बदलावों को तुरंत लागू करता है और महत्वपूर्ण बदलावों के लिए पुनः आरंभ करता है। hot, restart और off भी समर्थित हैं। अधिकांश tools.*, agents.* नीति, session.* और messages.* बदलाव बिना किसी रीलोड कार्रवाई के तुरंत लागू हो जाते हैं; gateway.* बाइंडिंग/पोर्ट बदलावों के लिए पुनः आरंभ आवश्यक है।

    मैं वेब खोज (और वेब फ़ेच) कैसे सक्षम करूँ?

    web_fetch API कुंजी के बिना काम करता है। web_search आपके चुने हुए प्रदाता पर निर्भर करता है:

    प्रदाता कुंजी-मुक्त एन्वायरनमेंट वेरिएबल
    Brave नहीं BRAVE_API_KEY
    DuckDuckGo हाँ (अनौपचारिक HTML-आधारित) -
    Exa नहीं EXA_API_KEY
    Firecrawl नहीं FIRECRAWL_API_KEY
    Gemini नहीं GEMINI_API_KEY
    Grok नहीं (xAI OAuth या कुंजी) XAI_API_KEY
    Kimi नहीं KIMI_API_KEY या MOONSHOT_API_KEY
    MiniMax Search नहीं MINIMAX_CODE_PLAN_KEY, MINIMAX_CODING_API_KEY या MINIMAX_API_KEY
    Ollama Web Search हाँ (ollama signin आवश्यक है) -
    Perplexity नहीं PERPLEXITY_API_KEY या OPENROUTER_API_KEY
    SearXNG हाँ (स्वयं होस्ट किया गया) SEARXNG_BASE_URL
    Tavily नहीं TAVILY_API_KEY

    Grok मॉडल प्रमाणीकरण (openclaw onboard --auth-choice xai-oauth) से xAI OAuth का पुनः उपयोग भी कर सकता है।

    अनुशंसित: openclaw configure --section web और कोई प्रदाता चुनें।

    json5
    {  plugins: {    entries: {      brave: {        config: {          webSearch: {            apiKey: "BRAVE_API_KEY_HERE",          },        },      },    },  },  tools: {    web: {      search: {        enabled: true,        provider: "brave",        maxResults: 5,      },      fetch: {        enabled: true,        provider: "firecrawl", // वैकल्पिक; स्वतः पहचान के लिए छोड़ दें      },    },  },}

    प्रदाता-विशिष्ट वेब-खोज कॉन्फ़िगरेशन plugins.entries.<plugin>.config.webSearch.* के अंतर्गत होता है। पुराने tools.web.search.* प्रदाता पथ संगतता के लिए अभी भी लोड होते हैं, लेकिन नए कॉन्फ़िगरेशन में उनका उपयोग नहीं किया जाना चाहिए। Firecrawl वेब-फ़ेच फ़ॉलबैक कॉन्फ़िगरेशन plugins.entries.firecrawl.config.webFetch.* के अंतर्गत होता है।

    • अनुमति-सूचियाँ: web_search/web_fetch/x_search, या तीनों के लिए group:web जोड़ें।
    • web_fetch डिफ़ॉल्ट रूप से सक्षम है।
    • यदि tools.web.fetch.provider छोड़ा गया है, तो OpenClaw उपलब्ध क्रेडेंशियल से पहले तैयार फ़ेच फ़ॉलबैक प्रदाता की स्वतः पहचान करता है; आधिकारिक Firecrawl Plugin वह फ़ॉलबैक प्रदान करता है।
    • डेमन ~/.openclaw/.env (या सेवा परिवेश) से परिवेश चर पढ़ते हैं।

    दस्तावेज़: वेब टूल

    config.apply ने मेरा कॉन्फ़िगरेशन मिटा दिया। मैं इसे कैसे पुनर्प्राप्त करूँ और इससे कैसे बचूँ?

    config.apply पूरे कॉन्फ़िगरेशन को बदल देता है; आंशिक ऑब्जेक्ट बाकी सब कुछ हटा देता है।

    वर्तमान OpenClaw अधिकांश आकस्मिक अधिलेखन से सुरक्षा करता है:

    • OpenClaw के स्वामित्व वाले कॉन्फ़िगरेशन लेखन, लिखने से पहले बदलाव के बाद पूरे कॉन्फ़िगरेशन को सत्यापित करते हैं।
    • अमान्य या विनाशकारी OpenClaw-स्वामित्व वाले लेखन अस्वीकार कर दिए जाते हैं और openclaw.json.rejected.* के रूप में सहेजे जाते हैं।
    • स्टार्टअप या हॉट रीलोड को बाधित करने वाला प्रत्यक्ष संपादन Gateway को सुरक्षित रूप से विफल होने या रीलोड छोड़ने के लिए बाध्य करता है; यह openclaw.json को दोबारा नहीं लिखता।
    • openclaw doctor --fix मरम्मत का स्वामी है, अंतिम ज्ञात सही स्थिति को पुनर्स्थापित कर सकता है, और अस्वीकृत फ़ाइल को openclaw.json.clobbered.* के रूप में सहेजता है।

    पुनर्प्राप्ति:

    • openclaw logs --follow में Invalid config at, Config write rejected:, या config reload skipped (invalid config) की जाँच करें।
    • सक्रिय कॉन्फ़िगरेशन के पास नवीनतम openclaw.json.clobbered.* या openclaw.json.rejected.* का निरीक्षण करें।
    • openclaw config validate और openclaw doctor --fix चलाएँ।
    • openclaw config set या config.patch से केवल इच्छित कुंजियाँ वापस कॉपी करें।
    • कोई अंतिम ज्ञात सही या अस्वीकृत पेलोड नहीं है: बैकअप से पुनर्स्थापित करें, या openclaw doctor दोबारा चलाकर चैनल/मॉडल फिर से कॉन्फ़िगर करें।
    • अप्रत्याशित क्षति: अपने अंतिम ज्ञात कॉन्फ़िगरेशन या बैकअप के साथ बग दर्ज करें। कोई स्थानीय कोडिंग एजेंट अक्सर लॉग या इतिहास से कार्यशील कॉन्फ़िगरेशन पुनर्निर्मित कर सकता है।

    इससे बचने के लिए: छोटे बदलावों के लिए openclaw config set, इंटरैक्टिव संपादन के लिए openclaw configure, किसी अपरिचित पथ का निरीक्षण करने के लिए config.schema.lookup (यह एक उथला स्कीमा नोड और उसके तत्काल चाइल्ड का सारांश लौटाता है), और आंशिक RPC संपादन के लिए config.patch का उपयोग करें—config.apply को पूरे कॉन्फ़िगरेशन के प्रतिस्थापन के लिए सुरक्षित रखें। एजेंट-सामना करने वाला gateway रनटाइम टूल पुराने tools.bash.* उपनामों के माध्यम से भी tools.exec.ask / tools.exec.security को दोबारा लिखने से मना करता है।

    दस्तावेज़: कॉन्फ़िगरेशन, कॉन्फ़िगर करें, Gateway समस्या निवारण, Doctor

    मैं विभिन्न डिवाइसों पर विशिष्ट वर्कर के साथ केंद्रीय Gateway कैसे चलाऊँ?

    सामान्य पैटर्न: एक Gateway (उदाहरण के लिए Raspberry Pi) के साथ नोड और एजेंट

    • Gateway (केंद्रीय): चैनलों (Signal/WhatsApp), रूटिंग और सत्रों का स्वामी होता है।
    • नोड (डिवाइस): Mac/iOS/Android सहायक उपकरणों के रूप में जुड़ते हैं और स्थानीय टूल (system.run, canvas, camera) उपलब्ध कराते हैं।
    • एजेंट (वर्कर): विशेष भूमिकाओं (उदाहरण के लिए संचालन बनाम व्यक्तिगत डेटा) के लिए अलग मस्तिष्क/वर्कस्पेस।
    • उप-एजेंट: समानांतर कार्य के लिए मुख्य एजेंट से पृष्ठभूमि कार्य शुरू करते हैं।
    • TUI: Gateway से कनेक्ट करें और एजेंट/सत्र बदलें।

    दस्तावेज़: नोड, दूरस्थ पहुँच, बहु-एजेंट रूटिंग, उप-एजेंट, TUI

    क्या OpenClaw ब्राउज़र हेडलेस चल सकता है?

    हाँ:

    json5
    {  browser: { headless: true },  agents: {    defaults: {      sandbox: { browser: { headless: true } },    },  },}

    डिफ़ॉल्ट false (हेडफुल) है। हेडलेस कुछ साइटों पर एंटी-बॉट जाँच को ट्रिगर करने की अधिक संभावना रखता है (X/Twitter अक्सर हेडलेस सत्रों को ब्लॉक करता है)। यह उसी Chromium इंजन का उपयोग करता है और अधिकांश स्वचालन के लिए काम करता है; मुख्य अंतर यह है कि ब्राउज़र विंडो दिखाई नहीं देती (दृश्यों के लिए स्क्रीनशॉट का उपयोग करें)। ब्राउज़र देखें।

    मैं ब्राउज़र नियंत्रण के लिए Brave का उपयोग कैसे करूँ?

    browser.executablePath को अपनी Brave बाइनरी (या किसी भी Chromium-आधारित ब्राउज़र) पर सेट करें और Gateway को पुनः आरंभ करें। ब्राउज़र देखें।

    दूरस्थ Gateway और नोड

    Telegram, Gateway और नोड के बीच कमांड कैसे प्रसारित होते हैं?

    Telegram संदेशों को Gateway संभालता है, जो एजेंट चलाता है और नोड टूल की आवश्यकता होने पर ही Gateway WebSocket पर नोड को कॉल करता है:

    Telegram -> Gateway -> एजेंट -> node.* -> नोड -> Gateway -> Telegram

    नोड को आने वाला प्रदाता ट्रैफ़िक दिखाई नहीं देता; उन्हें केवल नोड RPC कॉल प्राप्त होते हैं।

    यदि Gateway दूरस्थ रूप से होस्ट किया गया है, तो मेरा एजेंट मेरे कंप्यूटर तक कैसे पहुँच सकता है?

    अपने कंप्यूटर को नोड के रूप में युग्मित करें। Gateway कहीं और चलता है, लेकिन Gateway WebSocket पर आपकी स्थानीय मशीन के node.* टूल (स्क्रीन, कैमरा, सिस्टम) को कॉल कर सकता है।

    1. Gateway को हमेशा चालू रहने वाले होस्ट (VPS/होम सर्वर) पर चलाएँ।
    2. Gateway होस्ट और अपने कंप्यूटर को एक ही टेलनेट पर रखें।
    3. सुनिश्चित करें कि Gateway WS पहुँच योग्य है (टेलनेट बाइंड या SSH टनल)।
    4. macOS ऐप को स्थानीय रूप से खोलें और Remote over SSH मोड (या प्रत्यक्ष टेलनेट) में कनेक्ट करें, ताकि यह नोड के रूप में पंजीकृत हो।
    5. नोड को स्वीकृत करें:
      bash
      openclaw devices listopenclaw devices approve <requestId>

    अलग TCP ब्रिज की आवश्यकता नहीं है; नोड Gateway WebSocket पर कनेक्ट होते हैं।

    सुरक्षा स्मरण: macOS नोड को युग्मित करने से उस मशीन पर system.run की अनुमति मिलती है। केवल विश्वसनीय डिवाइस युग्मित करें; सुरक्षा की समीक्षा करें।

    दस्तावेज़: नोड, Gateway प्रोटोकॉल, macOS दूरस्थ मोड, सुरक्षा

    Tailscale कनेक्ट है लेकिन मुझे कोई उत्तर नहीं मिल रहा। अब क्या करूँ?

    बुनियादी चीज़ों की जाँच करें:

    bash
    openclaw gateway statusopenclaw statusopenclaw channels status

    फिर प्रमाणीकरण और रूटिंग सत्यापित करें: यदि आप Tailscale Serve का उपयोग करते हैं, तो पुष्टि करें कि gateway.auth.allowTailscale सही ढंग से सेट है; यदि आप SSH टनल के माध्यम से कनेक्ट करते हैं, तो पुष्टि करें कि टनल चालू है और सही पोर्ट की ओर इंगित करती है; पुष्टि करें कि आपकी DM/समूह अनुमति-सूचियों में आपका खाता शामिल है।

    दस्तावेज़: Tailscale, दूरस्थ पहुँच, चैनल

    क्या दो OpenClaw इंस्टेंस एक-दूसरे से संवाद कर सकते हैं (स्थानीय + VPS)?

    हाँ, हालाँकि कोई अंतर्निहित बॉट-से-बॉट ब्रिज नहीं है।

    सबसे सरल: ऐसे सामान्य चैट चैनल (Slack/Telegram/WhatsApp) का उपयोग करें जिस तक दोनों बॉट पहुँच सकते हों। बॉट A से बॉट B को संदेश भिजवाएँ, फिर बॉट B को सामान्य रूप से उत्तर देने दें।

    CLI ब्रिज (सामान्य): ऐसी स्क्रिप्ट चलाएँ जो openclaw agent --message ... --deliver से दूसरे Gateway को कॉल करे और ऐसे चैट को लक्षित करे जहाँ दूसरा बॉट सुनता हो। यदि एक बॉट दूरस्थ VPS पर है, तो SSH/Tailscale के माध्यम से अपने CLI को उस दूरस्थ Gateway की ओर इंगित करें (दूरस्थ पहुँच देखें):

    bash
    openclaw agent --message "स्थानीय बॉट की ओर से नमस्ते" --deliver --channel telegram --reply-to <chat-id>

    एक सुरक्षा-नियम जोड़ें ताकि दोनों बॉट अनंत चक्र में न फँसें (केवल उल्लेख, चैनल अनुमति-सूचियाँ, या "बॉट संदेशों का उत्तर न दें" नियम)।

    दस्तावेज़: दूरस्थ पहुँच, एजेंट CLI, एजेंट प्रेषण

    क्या मुझे कई एजेंटों के लिए अलग-अलग VPS चाहिए?

    नहीं। एक Gateway कई एजेंट होस्ट करता है, जिनमें से प्रत्येक का अपना वर्कस्पेस, मॉडल डिफ़ॉल्ट और रूटिंग होती है—यह सामान्य सेटअप है और प्रति एजेंट एक VPS की तुलना में बहुत सस्ता/सरल है। अलग VPS का उपयोग केवल सख्त पृथक्करण (सुरक्षा सीमाओं) या ऐसे बहुत अलग कॉन्फ़िगरेशन के लिए करें जिन्हें आप साझा नहीं करना चाहते।

    VPS से SSH का उपयोग करने के बजाय अपने निजी लैपटॉप पर नोड का उपयोग करने का कोई लाभ है?

    हाँ: दूरस्थ Gateway से आपके लैपटॉप तक पहुँचने और शेल पहुँच से अधिक सुविधाएँ खोलने का प्रथम-श्रेणी तरीका नोड हैं। Gateway macOS/Linux (WSL2 के माध्यम से Windows) पर चलता है और हल्का है (छोटा VPS या Raspberry Pi-श्रेणी का बॉक्स पर्याप्त है; 4 GB RAM पर्याप्त है), इसलिए सामान्य सेटअप हमेशा चालू रहने वाला होस्ट और नोड के रूप में आपका लैपटॉप है।

    • आने वाले SSH की आवश्यकता नहीं—नोड डिवाइस युग्मन के माध्यम से बाहर की ओर Gateway WebSocket से कनेक्ट होते हैं।
    • अधिक सुरक्षित निष्पादन नियंत्रणsystem.run उस लैपटॉप पर नोड अनुमति-सूचियों/स्वीकृतियों द्वारा नियंत्रित होता है।
    • अधिक डिवाइस टूल—नोड system.run के अतिरिक्त canvas, camera, और screen उपलब्ध कराते हैं।
    • स्थानीय ब्राउज़र स्वचालन—Gateway को VPS पर रखें, लेकिन नोड होस्ट के माध्यम से Chrome स्थानीय रूप से चलाएँ, या Chrome MCP के माध्यम से स्थानीय Chrome से जुड़ें।

    आकस्मिक शेल पहुँच के लिए SSH उपयुक्त है; निरंतर एजेंट वर्कफ़्लो और डिवाइस स्वचालन के लिए नोड अधिक सरल हैं।

    दस्तावेज़: नोड, नोड CLI, ब्राउज़र

    क्या नोड Gateway सेवा चलाते हैं?

    नहीं। प्रत्येक होस्ट पर केवल एक Gateway चलना चाहिए, जब तक कि आप जानबूझकर पृथक प्रोफ़ाइल न चला रहे हों (एकाधिक Gateway देखें)। नोड वे सहायक उपकरण हैं जो Gateway से कनेक्ट होते हैं (iOS/Android नोड, या मेन्यू बार ऐप में macOS "node mode")। हेडलेस नोड होस्ट और CLI नियंत्रण के लिए नोड होस्ट CLI देखें।

    gateway, discovery, और होस्ट किए गए Plugin सतह के बदलावों के लिए पूर्ण पुनः आरंभ आवश्यक है।

    क्या कॉन्फ़िगरेशन लागू करने का कोई API / RPC तरीका है?

    हाँ:

    • config.schema.lookup: लिखने से पहले किसी एक कॉन्फ़िगरेशन उपवृक्ष का उसके उथले स्कीमा नोड, मेल खाते UI संकेत और तत्काल चाइल्ड सारांशों के साथ निरीक्षण करें।
    • config.get: वर्तमान स्नैपशॉट और हैश प्राप्त करें।
    • config.patch: सुरक्षित आंशिक अपडेट (अधिकांश RPC संपादनों के लिए पसंदीदा); संभव होने पर हॉट-रीलोड करता है और आवश्यक होने पर पुनः आरंभ करता है।
    • config.apply: पूरे कॉन्फ़िगरेशन को सत्यापित करके बदलें; संभव होने पर हॉट-रीलोड करता है और आवश्यक होने पर पुनः आरंभ करता है।
    • एजेंट-सामना करने वाला gateway रनटाइम टूल अभी भी tools.exec.ask / tools.exec.security को दोबारा लिखने से मना करता है; पुराने tools.bash.* उपनाम समान संरक्षित पथों में सामान्यीकृत होते हैं।
    पहले इंस्टॉल के लिए न्यूनतम उपयुक्त कॉन्फ़िगरेशन
    json5
    {  agents: { defaults: { workspace: "~/.openclaw/workspace" } },  channels: { whatsapp: { allowFrom: ["+15555550123"] } },}

    आपका वर्कस्पेस सेट करता है और यह सीमित करता है कि बॉट को कौन ट्रिगर कर सकता है।

    मैं VPS पर Tailscale कैसे सेट अप करूँ और अपने Mac से कैसे कनेक्ट करूँ?
    1. VPS पर इंस्टॉल + लॉग इन करें:
      bash
      curl -fsSL https://tailscale.com/install.sh | shsudo tailscale up
    2. Tailscale ऐप का उपयोग करके अपने Mac पर इंस्टॉल + लॉग इन करें, उसी tailnet में।
    3. Tailscale एडमिन कंसोल में MagicDNS सक्षम करें, ताकि VPS का नाम स्थिर रहे।
    4. tailnet होस्टनेम का उपयोग करें: SSH ssh user@your-vps.tailnet-xxxx.ts.net; Gateway WS ws://your-vps.tailnet-xxxx.ts.net:18789

    SSH के बिना Control UI के लिए, VPS पर Tailscale Serve का उपयोग करें:

    bash
    openclaw gateway --tailscale serve

    इससे gateway लूपबैक से बँधा रहता है और HTTPS को Tailscale के माध्यम से उपलब्ध कराया जाता है। Tailscale देखें।

    मैं Mac Node को दूरस्थ Gateway (Tailscale Serve) से कैसे कनेक्ट करूँ?

    Serve Gateway Control UI + WS को उपलब्ध कराता है; Node उसी Gateway WS एंडपॉइंट के माध्यम से कनेक्ट होते हैं।

    1. सुनिश्चित करें कि VPS और Mac एक ही tailnet में हैं।
    2. macOS ऐप को Remote मोड में उपयोग करें (SSH लक्ष्य tailnet होस्टनेम हो सकता है) - यह Gateway पोर्ट को टनल करता है और Node के रूप में कनेक्ट होता है।
    3. Node को स्वीकृत करें:
      bash
      openclaw devices listopenclaw devices approve <requestId>

    दस्तावेज़: Gateway प्रोटोकॉल, खोज, macOS रिमोट मोड

    क्या मुझे दूसरे लैपटॉप पर इंस्टॉल करना चाहिए या केवल एक Node जोड़ना चाहिए?

    दूसरे लैपटॉप पर केवल स्थानीय टूल (स्क्रीन/कैमरा/exec) के लिए, उसे Node के रूप में जोड़ें - एक Gateway, कोई डुप्लिकेट कॉन्फ़िगरेशन नहीं। स्थानीय Node टूल अभी केवल macOS पर उपलब्ध हैं। दूसरा Gateway केवल सख्त पृथक्करण या दो पूरी तरह अलग बॉट के लिए इंस्टॉल करें।

    दस्तावेज़: Node, Node CLI, एकाधिक Gateway

    एनवायरनमेंट वेरिएबल और .env लोडिंग

    OpenClaw एनवायरनमेंट वेरिएबल कैसे लोड करता है?

    OpenClaw पैरेंट प्रोसेस (shell, launchd/systemd, CI आदि) से एनवायरनमेंट वेरिएबल पढ़ता है और इसके अतिरिक्त इन्हें लोड करता है:

    • वर्तमान कार्यशील डायरेक्टरी से .env
    • ~/.openclaw/.env ($OPENCLAW_STATE_DIR/.env) से एक वैश्विक फ़ॉलबैक .env

    कोई भी .env फ़ाइल मौजूदा एनवायरनमेंट वेरिएबल को ओवरराइड नहीं करती। वर्कस्पेस .env के लिए प्रोवाइडर क्रेडेंशियल और एंडपॉइंट-रूटिंग कुंजियाँ अपवाद हैं: GEMINI_API_KEY, XAI_API_KEY, MISTRAL_API_KEY जैसी कुंजियाँ, या _ENDPOINT पर समाप्त होने वाली कोई भी कुंजी (और अन्य बंडल किए गए प्रोवाइडर के प्रमाणीकरण या एंडपॉइंट एनवायरनमेंट वेरिएबल), वर्कस्पेस .env से अनदेखी की जाती हैं और उन्हें प्रोसेस एनवायरनमेंट, ~/.openclaw/.env, या कॉन्फ़िगरेशन env में रखना चाहिए।

    कॉन्फ़िगरेशन में इनलाइन एनवायरनमेंट वेरिएबल केवल तभी लागू होते हैं, जब वे प्रोसेस एनवायरनमेंट में मौजूद न हों:

    json5
    {  env: {    OPENROUTER_API_KEY: "sk-or-...",    vars: { GROQ_API_KEY: "gsk-..." },  },}

    पूर्ण प्राथमिकता क्रम और स्रोतों के लिए /environment देखें।

    मैंने सेवा के माध्यम से Gateway शुरू किया और मेरे एनवायरनमेंट वेरिएबल गायब हो गए। अब क्या करूँ?

    दो समाधान:

    1. गुम कुंजियाँ ~/.openclaw/.env में रखें, ताकि सेवा द्वारा आपके shell एनवायरनमेंट को इनहेरिट न करने पर भी वे लोड हो जाएँ।
    2. shell इंपोर्ट सक्षम करें (वैकल्पिक सुविधा):
      json5
      {  env: {    shellEnv: {      enabled: true,      timeoutMs: 15000,    },  },}
      यह आपका लॉगिन shell चलाता है और केवल गुम अपेक्षित कुंजियाँ इंपोर्ट करता है (कभी ओवरराइड नहीं करता)। समकक्ष एनवायरनमेंट वेरिएबल: OPENCLAW_LOAD_SHELL_ENV=1, OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000
    मैंने COPILOT_GITHUB_TOKEN सेट किया, लेकिन models status में "Shell env: off." दिखता है। क्यों?

    openclaw models status बताता है कि shell एनवायरनमेंट इंपोर्ट सक्षम है या नहीं। "Shell env: off" का अर्थ यह नहीं है कि आपके एनवायरनमेंट वेरिएबल गुम हैं - इसका केवल यह अर्थ है कि OpenClaw आपका लॉगिन shell स्वचालित रूप से लोड नहीं करेगा।

    यदि Gateway एक सेवा (launchd/systemd) के रूप में चलता है, तो वह आपका shell एनवायरनमेंट इनहेरिट नहीं करेगा। इसे ठीक करने के लिए टोकन को ~/.openclaw/.env में रखें, env.shellEnv.enabled: true सक्षम करें, या उसे कॉन्फ़िगरेशन env में जोड़ें (केवल गुम होने पर लागू होता है), फिर gateway को पुनः शुरू करके दोबारा जाँचें:

    bash
    openclaw models status

    Copilot टोकन इस क्रम में रिज़ॉल्व होते हैं: OPENCLAW_GITHUB_TOKEN, फिर COPILOT_GITHUB_TOKEN, फिर GH_TOKEN, फिर GITHUB_TOKEN

    /concepts/model-providers और /environment देखें।

    सत्र और एकाधिक चैट

    मैं नई बातचीत कैसे शुरू करूँ?

    /new या /reset को एक स्वतंत्र संदेश के रूप में भेजें। सत्र प्रबंधन देखें।

    यदि मैं कभी /new न भेजूँ, तो क्या सत्र अपने आप रीसेट होते हैं?

    नहीं, डिफ़ॉल्ट रूप से नहीं। सत्र वही sessionId बनाए रखते हैं, और बातचीत बढ़ने के साथ Compaction सक्रिय मॉडल संदर्भ को सीमित रखता है। /new और /reset उपलब्ध रहते हैं, या आप mode: "daily" अथवा mode: "idle" के साथ स्वचालित रीसेट का विकल्प चुन सकते हैं। दैनिक मोड gateway होस्ट पर session.reset.atHour (डिफ़ॉल्ट 4, 0-23) पर अगले चक्र में जाता है; निष्क्रिय मोड अंतिम वास्तविक इंटरैक्शन के बाद से session.reset.idleMinutes का उपयोग करता है, Heartbeat/Cron/exec सिस्टम ईवेंट का नहीं।

    json5
    {  session: {    reset: { mode: "daily", atHour: 4 },    resetByType: {      group: { mode: "idle", idleMinutes: 120 },      thread: { mode: "daily", atHour: 6 },    },    resetByChannel: {      discord: { mode: "idle", idleMinutes: 10080 },    },  },}

    resetByType, direct, group, और thread का समर्थन करता है। Doctor पुराने dm प्रविष्टियों को direct में माइग्रेट करता है; स्कीमा dm को अस्वीकार करता है। यदि कोई session.reset/resetByType ब्लॉक सेट नहीं है, तो पुराना शीर्ष-स्तरीय session.idleMinutes अब भी निष्क्रिय-मोड डिफ़ॉल्ट के संगतता उपनाम के रूप में काम करता है। पूर्ण जीवनचक्र के लिए सत्र प्रबंधन देखें।

    क्या OpenClaw इंस्टेंस की एक टीम (एक CEO और कई एजेंट) बनाई जा सकती है?

    हाँ, मल्टी-एजेंट रूटिंग और उप-एजेंट के माध्यम से: एक समन्वयक एजेंट और अपने-अपने वर्कस्पेस एवं मॉडल वाले कई कार्यकर्ता एजेंट।

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

    दस्तावेज़: मल्टी-एजेंट रूटिंग, उप-एजेंट, एजेंट CLI

    कार्य के बीच में संदर्भ क्यों काट दिया गया? मैं इसे कैसे रोकूँ?

    सत्र संदर्भ मॉडल विंडो द्वारा सीमित होता है। लंबी चैट, बड़े टूल आउटपुट, या कई फ़ाइलें Compaction या काट-छाँट को ट्रिगर कर सकती हैं।

    • बॉट से वर्तमान स्थिति का सारांश बनाने और उसे एक फ़ाइल में लिखने को कहें।
    • लंबे कार्यों से पहले /compact और विषय बदलते समय /new का उपयोग करें।
    • महत्वपूर्ण संदर्भ को वर्कस्पेस में रखें और बॉट से उसे दोबारा पढ़ने को कहें।
    • लंबे या समानांतर कार्य के लिए उप-एजेंट का उपयोग करें, ताकि मुख्य चैट छोटी रहे।
    • यदि ऐसा अक्सर होता है, तो बड़ी संदर्भ विंडो वाला मॉडल चुनें।
    OpenClaw को इंस्टॉल रखते हुए मैं उसे पूरी तरह कैसे रीसेट करूँ?
    bash
    openclaw reset

    गैर-इंटरैक्टिव पूर्ण रीसेट:

    bash
    openclaw reset --scope full --yes --non-interactive

    फिर सेटअप दोबारा चलाएँ:

    bash
    openclaw onboard --install-daemon

    मौजूदा कॉन्फ़िगरेशन का पता चलने पर ऑनबोर्डिंग रीसेट का विकल्प भी देता है; ऑनबोर्डिंग (CLI) देखें। यदि आपने प्रोफ़ाइल (--profile / OPENCLAW_PROFILE) का उपयोग किया है, तो प्रत्येक स्टेट डायरेक्टरी (डिफ़ॉल्ट ~/.openclaw-<profile>) को रीसेट करें। केवल डेवलपमेंट के लिए रीसेट: openclaw gateway --dev --reset डेवलपमेंट कॉन्फ़िगरेशन, क्रेडेंशियल, सत्र और वर्कस्पेस मिटा देता है।

    मुझे "context too large" त्रुटियाँ मिल रही हैं - मैं रीसेट या कॉम्पैक्ट कैसे करूँ?
    • कॉम्पैक्ट करें (बातचीत बनाए रखता है, पुराने संवादों का सारांश बनाता है): सारांश का मार्गदर्शन करने के लिए /compact या /compact <instructions>
    • रीसेट करें (उसी चैट कुंजी के लिए नया सत्र ID): /new या /reset

    यदि यह बार-बार होता है, तो पुराने टूल आउटपुट को ट्रिम करने के लिए सत्र प्रूनिंग (agents.defaults.contextPruning) समायोजित करें, या बड़ी संदर्भ विंडो वाला मॉडल उपयोग करें।

    दस्तावेज़: Compaction, सत्र प्रूनिंग, सत्र प्रबंधन

    मुझे "LLM request rejected: messages.content.tool_use.input field required" क्यों दिखाई दे रहा है?

    प्रोवाइडर सत्यापन त्रुटि: मॉडल ने आवश्यक input के बिना एक tool_use ब्लॉक उत्सर्जित किया। सामान्यतः इसका अर्थ है कि सत्र इतिहास पुराना या दूषित है (अक्सर लंबे थ्रेड या टूल/स्कीमा परिवर्तन के बाद)।

    समाधान: /new (स्वतंत्र संदेश) से नया सत्र शुरू करें।

    मुझे हर 30 मिनट में Heartbeat संदेश क्यों मिल रहे हैं?

    डिफ़ॉल्ट रूप से Heartbeat हर 30m पर चलता है, या जब रिज़ॉल्व किया गया प्रमाणीकरण मोड Anthropic OAuth/token प्रमाणीकरण (Claude CLI के पुनः उपयोग सहित) हो और heartbeat.every सेट न हो, तब हर 1h पर। इसे समायोजित या अक्षम करें:

    json5
    {  agents: {    defaults: {      heartbeat: {        every: "2h", // or "0m" to disable      },    },  },}

    यदि HEARTBEAT.md मौजूद है, लेकिन प्रभावी रूप से खाली है (केवल खाली पंक्तियाँ, Markdown/HTML टिप्पणियाँ, ATX शीर्षक, फ़ेंस मार्कर या खाली सूची-आइटम स्टब), तो OpenClaw API कॉल बचाने के लिए Heartbeat रन छोड़ देता है। यदि फ़ाइल मौजूद नहीं है, तो Heartbeat फिर भी चलता है और मॉडल तय करता है कि क्या करना है।

    प्रति-एजेंट ओवरराइड agents.entries.*.heartbeat का उपयोग करते हैं। दस्तावेज़: Heartbeat

    क्या मुझे WhatsApp समूह में एक "bot account" जोड़ने की आवश्यकता है?

    नहीं। OpenClaw आपके अपने अकाउंट पर चलता है - यदि आप समूह में हैं, तो OpenClaw उसे देख सकता है। डिफ़ॉल्ट रूप से, जब तक आप प्रेषकों को अनुमति नहीं देते (groupPolicy: "allowlist"), समूह के उत्तर अवरुद्ध रहते हैं।

    समूह के उत्तरों को केवल अपने तक सीमित रखने के लिए:

    json5
    {  channels: {    whatsapp: {      groupPolicy: "allowlist",      groupAllowFrom: ["+15551234567"],    },  },}
    मैं WhatsApp समूह का JID कैसे प्राप्त करूँ?

    सबसे तेज़ तरीका: लॉग को लगातार देखें और समूह में एक परीक्षण संदेश भेजें।

    bash
    openclaw logs --follow --json

    @g.us पर समाप्त होने वाला chatId (या from) खोजें, जैसे 1234567890-1234567890@g.us

    यदि पहले से कॉन्फ़िगर/अनुमति-सूचीबद्ध है, तो कॉन्फ़िगरेशन से समूह सूचीबद्ध करें:

    bash
    openclaw directory groups list --channel whatsapp

    दस्तावेज़: WhatsApp, डायरेक्टरी, लॉग

    OpenClaw समूह में उत्तर क्यों नहीं देता?

    दो सामान्य कारण: उल्लेख गेटिंग डिफ़ॉल्ट रूप से चालू है (आपको बॉट को @mention करना होगा, या mentionPatterns से मिलान करना होगा), या आपने "*" के बिना channels.whatsapp.groups कॉन्फ़िगर किया है और समूह अनुमति-सूची में नहीं है।

    समूह और समूह संदेश देखें।

    क्या समूह/थ्रेड, DM के साथ संदर्भ साझा करते हैं?

    डिफ़ॉल्ट रूप से सीधे चैट मुख्य सत्र में समाहित हो जाते हैं। समूह/चैनलों की अपनी सत्र कुंजियाँ होती हैं, और Telegram विषय / Discord थ्रेड अलग सत्र होते हैं। समूह और समूह संदेश देखें।

    मैं कितने वर्कस्पेस और एजेंट बना सकता हूँ?

    कोई सख्त सीमा नहीं है - दर्जनों या सैकड़ों भी ठीक हैं, लेकिन इन पर नज़र रखें:

    • डिस्क वृद्धि: सक्रिय सत्र और ट्रांसक्रिप्ट प्रति-एजेंट SQLite डेटाबेस में रहते हैं; पुराने/संग्रहित आर्टिफ़ैक्ट अब भी ~/.openclaw/agents/<agentId>/sessions/ के अंतर्गत जमा हो सकते हैं।
    • टोकन लागत: अधिक एजेंट का अर्थ है मॉडल का अधिक समवर्ती उपयोग।
    • संचालन ओवरहेड: प्रति-एजेंट प्रमाणीकरण प्रोफ़ाइल, वर्कस्पेस और चैनल रूटिंग।

    प्रत्येक एजेंट के लिए एक सक्रिय वर्कस्पेस (agents.defaults.workspace) रखें, डिस्क बढ़ने पर पुराने सत्रों को openclaw sessions cleanup से हटाएँ (सक्रिय SQLite स्थिति को हाथ से संपादित न करें), और छूटे हुए वर्कस्पेस तथा प्रोफ़ाइल विसंगतियाँ खोजने के लिए openclaw doctor का उपयोग करें।

    क्या मैं एक ही समय में कई बॉट या चैट (Slack) चला सकता हूँ, और मुझे इसे कैसे सेट अप करना चाहिए?

    हाँ, मल्टी-एजेंट रूटिंग के माध्यम से: कई पृथक एजेंट चलाएँ और आने वाले संदेशों को चैनल/अकाउंट/पीयर के अनुसार रूट करें। Slack एक चैनल के रूप में समर्थित है और इसे विशिष्ट एजेंटों से बाँधा जा सकता है।

    ब्राउज़र एक्सेस शक्तिशाली है, लेकिन यह "वह सब कुछ करना जो कोई इंसान कर सकता है" नहीं है—एंटी-बॉट, CAPTCHA और MFA अब भी ऑटोमेशन को रोक सकते हैं। सबसे विश्वसनीय नियंत्रण के लिए, होस्ट पर स्थानीय Chrome MCP या वास्तव में ब्राउज़र चलाने वाली मशीन पर CDP का उपयोग करें।

    सर्वोत्तम अभ्यास वाला सेटअप: हमेशा चालू रहने वाला Gateway होस्ट (VPS/Mac mini), प्रत्येक भूमिका के लिए एक एजेंट (बाइंडिंग), उन एजेंटों से बँधे Slack चैनल, और आवश्यकता पड़ने पर Chrome MCP या किसी Node के माध्यम से स्थानीय ब्राउज़र।

    दस्तावेज़: मल्टी-एजेंट रूटिंग, Slack, ब्राउज़र, Nodes

    मॉडल, फ़ेलओवर और प्रमाणीकरण प्रोफ़ाइल

    मॉडल संबंधी प्रश्नोत्तर—डिफ़ॉल्ट, चयन, उपनाम, स्विचिंग, फ़ेलओवर, प्रमाणीकरण प्रोफ़ाइल—मॉडल FAQ में उपलब्ध हैं।

    Gateway: पोर्ट, "पहले से चल रहा है" और रिमोट मोड

    Gateway किस पोर्ट का उपयोग करता है?

    gateway.port WebSocket + HTTP (Control UI, हुक आदि) के लिए एकल मल्टीप्लेक्स पोर्ट को नियंत्रित करता है। प्राथमिकता:

    text
    --port > OPENCLAW_GATEWAY_PORT > gateway.port > डिफ़ॉल्ट 18789
    openclaw gateway status में "Runtime: running" लेकिन "Connectivity probe: failed" क्यों दिखाई देता है?

    "Running" सुपरवाइज़र का दृष्टिकोण है (launchd/systemd/schtasks); कनेक्टिविटी जाँच में CLI वास्तव में Gateway WebSocket से कनेक्ट होता है। openclaw gateway status की इन पंक्तियों पर भरोसा करें: Probe target: (जाँच द्वारा उपयोग किया गया URL), Listening: (पोर्ट पर वास्तव में क्या बाउंड है), Last gateway error: (जब प्रक्रिया चालू हो लेकिन पोर्ट सुन न रहा हो, तब सामान्य मूल कारण)।

    openclaw gateway status में "Config (cli)" और "Config (service)" अलग-अलग क्यों दिखाई देते हैं?

    सेवा जिस कॉन्फ़िगरेशन फ़ाइल से चल रही है, आप उससे अलग फ़ाइल संपादित कर रहे हैं (अक्सर --profile / OPENCLAW_STATE_DIR विसंगति)।

    समाधान के लिए, उसी --profile / परिवेश से चलाएँ जिसका उपयोग सेवा से करवाना है:

    bash
    openclaw gateway install --force
    "another gateway instance is already listening" का क्या अर्थ है?

    OpenClaw स्टार्टअप पर तुरंत WebSocket लिसनर (डिफ़ॉल्ट ws://127.0.0.1:18789) बाइंड करके रनटाइम लॉक लागू करता है। यदि बाइंड EADDRINUSE के साथ विफल होता है, तो यह GatewayLockError ("another gateway instance is already listening") त्रुटि देता है।

    समाधान: दूसरा इंस्टेंस रोकें, पोर्ट खाली करें या openclaw gateway --port <port> के साथ चलाएँ।

    मैं OpenClaw को रिमोट मोड में कैसे चलाऊँ (क्लाइंट किसी अन्य स्थान के Gateway से कनेक्ट होता है)?

    gateway.mode: "remote" सेट करें और किसी रिमोट WebSocket URL की ओर इंगित करें, वैकल्पिक रूप से साझा-गोपनीय रिमोट क्रेडेंशियल के साथ:

    json5
    {  gateway: {    mode: "remote",    remote: {      url: "ws://gateway.tailnet:18789",      token: "your-token",      password: "your-password",    },  },}
    • openclaw gateway केवल तभी शुरू होता है जब gateway.mode, local हो (या आप कोई ओवरराइड फ़्लैग दें)।
    • इन मानों के बदलने पर macOS ऐप कॉन्फ़िगरेशन फ़ाइल पर नज़र रखता है और तुरंत मोड बदल देता है।
    • gateway.remote.token / .password केवल क्लाइंट-साइड रिमोट क्रेडेंशियल हैं; वे स्वयं स्थानीय Gateway प्रमाणीकरण सक्षम नहीं करते।
    Control UI में "unauthorized" दिखाई देता है (या वह बार-बार पुनः कनेक्ट होता है)। अब क्या करें?

    आपके Gateway का प्रमाणीकरण पथ और UI की प्रमाणीकरण विधि मेल नहीं खाते।

    तथ्य (कोड से):

    • Control UI टोकन को sessionStorage में रखता है, जिसका दायरा वर्तमान ब्राउज़र टैब और चयनित Gateway URL तक सीमित है, इसलिए उसी टैब में रीफ़्रेश लंबे समय तक localStorage में टोकन बनाए रखे बिना काम करते रहते हैं।
    • AUTH_TOKEN_MISMATCH पर, Gateway द्वारा पुनः प्रयास संकेत (canRetryWithDeviceToken=true, recommendedNextStep=retry_with_device_token) लौटाए जाने पर विश्वसनीय क्लाइंट कैश किए गए डिवाइस टोकन के साथ एक सीमित पुनः प्रयास कर सकते हैं।
    • वह कैश-टोकन पुनः प्रयास डिवाइस टोकन के साथ संग्रहीत, कैश किए गए स्वीकृत स्कोप का पुनः उपयोग करता है; स्पष्ट deviceToken / स्पष्ट scopes कॉलर कैश किए गए स्कोप प्राप्त करने के बजाय अपने अनुरोधित स्कोप सेट को बनाए रखते हैं।
    • उस पुनः प्रयास पथ के बाहर, कनेक्शन प्रमाणीकरण की प्राथमिकता पहले स्पष्ट साझा टोकन/पासवर्ड, फिर स्पष्ट deviceToken, फिर संग्रहीत डिवाइस टोकन और अंत में बूटस्ट्रैप टोकन है।
    • अंतर्निहित सेटअप-कोड बूटस्ट्रैप scopes: [] वाला एक Node डिवाइस टोकन और विश्वसनीय मोबाइल ऑनबोर्डिंग के लिए एक सीमित ऑपरेटर हैंडऑफ़ टोकन लौटाता है। ऑपरेटर हैंडऑफ़ सेटअप-समय का नेटिव कॉन्फ़िगरेशन पढ़ सकता है, लेकिन पेयरिंग परिवर्तन स्कोप या operator.admin प्रदान नहीं करता।

    समाधान:

    • सबसे तेज़: openclaw dashboard (डैशबोर्ड URL प्रिंट और कॉपी करता है तथा खोलने का प्रयास करता है; हेडलेस होने पर SSH संकेत दिखाता है)।
    • अभी टोकन नहीं है: openclaw doctor --generate-gateway-token
    • रिमोट: पहले ssh -N -L 18789:127.0.0.1:18789 user@host से टनल बनाएँ, फिर http://127.0.0.1:18789/ खोलें।
    • साझा-गोपनीय मोड: gateway.auth.token / OPENCLAW_GATEWAY_TOKEN या gateway.auth.password / OPENCLAW_GATEWAY_PASSWORD सेट करें, फिर मेल खाने वाला गोपनीय मान Control UI सेटिंग में पेस्ट करें।
    • Tailscale Serve मोड: पुष्टि करें कि gateway.auth.allowTailscale सक्षम है और आप Serve URL खोल रहे हैं, कोई ऐसा कच्चा लूपबैक/टेलनेट URL नहीं जो Tailscale पहचान हेडर को बायपास करता हो।
    • विश्वसनीय-प्रॉक्सी मोड: पुष्टि करें कि आप कॉन्फ़िगर किए गए पहचान-जागरूक प्रॉक्सी के माध्यम से आ रहे हैं। समान-होस्ट लूपबैक प्रॉक्सी को भी gateway.auth.trustedProxy.allowLoopback = true चाहिए।
    • एक पुनः प्रयास के बाद भी विसंगति बनी रहती है: पेयर किए गए डिवाइस टोकन को बदलें/पुनः स्वीकृत करें:
      bash
      openclaw devices listopenclaw devices rotate --device <id> --role operator
    • टोकन बदलना अस्वीकृत: पेयर किए गए डिवाइस सत्र केवल अपने स्वयं के डिवाइस का टोकन बदल सकते हैं, जब तक उनके पास operator.admin भी न हो; और स्पष्ट --scope मान कॉलर के वर्तमान ऑपरेटर स्कोप से अधिक नहीं हो सकते।
    • अब भी अटके हैं: openclaw status --all और समस्या निवारण देखें। प्रमाणीकरण विवरण के लिए डैशबोर्ड देखें।
    मैंने gateway.bind को tailnet पर सेट किया, लेकिन यह केवल लूपबैक पर सुनता है

    tailnet बाइंड आपके नेटवर्क इंटरफ़ेस (100.64.0.0/10) से एक Tailscale IP चुनता है। यदि मशीन Tailscale पर नहीं है (या इंटरफ़ेस बंद है), तो Gateway किसी अन्य नेटवर्क इंटरफ़ेस को उजागर करने के बजाय लूपबैक पर वापस चला जाता है।

    समाधान: उस होस्ट पर Tailscale शुरू करें और Gateway पुनः आरंभ करें, या स्पष्ट रूप से gateway.bind: "loopback" / "lan" पर स्विच करें।

    tailnet स्पष्ट है; auto लूपबैक को प्राथमिकता देता है। आवश्यक समान-होस्ट 127.0.0.1 लिसनर बनाए रखते हुए गैर-लूपबैक एक्सपोज़र को Tailnet तक सीमित करने के लिए gateway.bind: "tailnet" का उपयोग करें।

    क्या मैं एक ही होस्ट पर कई Gateway चला सकता हूँ?

    सामान्यतः नहीं—एक Gateway कई मैसेजिंग चैनल और एजेंट चला सकता है। कई Gateway का उपयोग केवल रिडंडेंसी (उदाहरण के लिए, रेस्क्यू बॉट) या सख़्त पृथक्करण के लिए करें, और प्रत्येक को उसके अपने OPENCLAW_CONFIG_PATH, OPENCLAW_STATE_DIR, agents.defaults.workspace और अद्वितीय gateway.port से पृथक करें।

    अनुशंसित: प्रत्येक इंस्टेंस के लिए openclaw --profile <name> ... (स्वतः ~/.openclaw-<name> बनाता है), प्रत्येक प्रोफ़ाइल कॉन्फ़िगरेशन के लिए एक अद्वितीय gateway.port (या मैन्युअल रन के लिए --port), और openclaw --profile <name> gateway install वाली प्रति-प्रोफ़ाइल सेवा।

    प्रोफ़ाइल सेवा नामों में भी प्रत्यय जोड़ती हैं: launchd ai.openclaw.<profile>, systemd openclaw-gateway-<profile>.service, Windows OpenClaw Gateway (<profile>)। बिना क्वालिफ़ायर वाली openclaw-gateway systemd यूनिट केवल डिफ़ॉल्ट प्रोफ़ाइल के लिए मौजूद होती है; नाम बदलने से पहले का पुराना systemd यूनिट नाम clawdbot-gateway स्वचालित रूप से माइग्रेट हो जाता है।

    पूरी मार्गदर्शिका: कई Gateway

    "invalid handshake" / कोड 1008 का क्या अर्थ है?

    Gateway एक WebSocket सर्वर है और पहली संदेश इकाई के रूप में connect फ़्रेम की अपेक्षा करता है। अन्य कुछ भी होने पर कनेक्शन कोड 1008 (नीति उल्लंघन) के साथ बंद हो जाता है।

    सामान्य कारण: आपने WS क्लाइंट के बजाय ब्राउज़र में HTTP URL खोला, गलत पोर्ट/पथ का उपयोग किया, या किसी प्रॉक्सी/टनल ने प्रमाणीकरण हेडर हटा दिए अथवा गैर-Gateway अनुरोध भेजा।

    समाधान: WS URL (ws://<host>:18789, या HTTPS पर wss://...) का उपयोग करें, WS पोर्ट को सामान्य ब्राउज़र टैब में न खोलें, और प्रमाणीकरण चालू होने पर connect फ़्रेम में टोकन/पासवर्ड शामिल करें। CLI/TUI उदाहरण:

    bash
    openclaw tui --url ws://<host>:18789 --token <token>

    प्रोटोकॉल विवरण: Gateway प्रोटोकॉल

    लॉगिंग और डीबगिंग

    लॉग कहाँ हैं?

    फ़ाइल लॉग (संरचित): डिफ़ॉल्ट प्रोफ़ाइल के लिए /tmp/openclaw/openclaw-YYYY-MM-DD.log, या नामित प्रोफ़ाइल के लिए /tmp/openclaw/openclaw-<profile>-YYYY-MM-DD.loglogging.file के माध्यम से स्थिर पथ सेट करें; फ़ाइल लॉग स्तर के लिए logging.level; कंसोल विवरण स्तर के लिए --verbose और logging.consoleLevel

    सबसे तेज़ टेल:

    bash
    openclaw logs --follow

    सेवा/सुपरवाइज़र लॉग (जब Gateway launchd/systemd के माध्यम से चलता है):

    • macOS launchd stdout: ~/Library/Logs/openclaw/gateway.log (प्रोफ़ाइल gateway-<profile>.log का उपयोग करती हैं; stderr दबा दिया जाता है)।
    • Linux: journalctl --user -u openclaw-gateway[-<profile>].service -n 200 --no-pager
    • Windows: schtasks /Query /TN "OpenClaw Gateway (<profile>)" /V /FO LIST

    अधिक जानकारी के लिए समस्या निवारण देखें।

    मैं Gateway सेवा को कैसे शुरू/बंद/पुनः आरंभ करूँ?
    bash
    openclaw gateway statusopenclaw gateway restart

    यदि आप Gateway मैन्युअल रूप से चलाते हैं, तो openclaw gateway --force पोर्ट पुनः प्राप्त कर सकता है। Gateway देखें।

    मैंने Windows पर अपना टर्मिनल बंद कर दिया—OpenClaw को पुनः कैसे आरंभ करूँ?

    Windows के तीन इंस्टॉलेशन मोड:

    1) Windows Hub स्थानीय सेटअप: नेटिव ऐप स्थानीय, ऐप-स्वामित्व वाला WSL Gateway प्रबंधित करता है। Start मेन्यू या ट्रे से OpenClaw Companion खोलें, फिर Gateway Setup या Connections टैब का उपयोग करें।

    2) मैन्युअल WSL2 Gateway: Gateway Linux के भीतर चलता है।

    powershell
    wslopenclaw gateway statusopenclaw gateway restart

    यदि आपने सेवा कभी इंस्टॉल नहीं की, तो इसे फ़ोरग्राउंड में शुरू करें: openclaw gateway run

    3) नेटिव Windows CLI/Gateway: सीधे Windows में चलता है।

    powershell
    openclaw gateway statusopenclaw gateway restart

    यदि आप इसे मैन्युअल रूप से चलाते हैं (कोई सेवा नहीं): openclaw gateway run

    दस्तावेज़: Windows, Gateway सेवा रनबुक

    Gateway चालू है, लेकिन उत्तर कभी नहीं आते। मुझे क्या जाँचना चाहिए?

    त्वरित स्वास्थ्य जाँच:

    bash
    openclaw statusopenclaw models statusopenclaw channels statusopenclaw logs --follow

    सामान्य कारण: Gateway होस्ट पर मॉडल प्रमाणीकरण लोड नहीं हुआ है (models status जाँचें), चैनल पेयरिंग/अनुमति-सूची उत्तरों को रोक रही है (चैनल कॉन्फ़िगरेशन और लॉग जाँचें), या WebChat/डैशबोर्ड सही टोकन के बिना खुला है। रिमोट होने पर पुष्टि करें कि टनल/Tailscale कनेक्शन चालू है और Gateway WebSocket तक पहुँचा जा सकता है।

    दस्तावेज़: चैनल, समस्या निवारण, दूरस्थ पहुँच.

    "Gateway से कनेक्शन टूट गया: कोई कारण नहीं" - अब क्या करें?

    आम तौर पर इसका अर्थ है कि UI का WebSocket कनेक्शन टूट गया है। जाँचें: क्या Gateway चल रहा है (openclaw gateway status)? क्या वह ठीक से काम कर रहा है (openclaw status)? क्या UI के पास सही टोकन है (openclaw dashboard)? यदि वह दूरस्थ है, तो क्या टनल/Tailscale लिंक चालू है?

    फिर लॉग लगातार देखें:

    bash
    openclaw logs --follow

    दस्तावेज़: डैशबोर्ड, दूरस्थ पहुँच, समस्या निवारण.

    Telegram setMyCommands विफल होता है। मुझे क्या जाँचना चाहिए?
    bash
    openclaw channels statusopenclaw channels logs --channel telegram

    फिर त्रुटि का मिलान करें:

    • BOT_COMMANDS_TOO_MUCH: Telegram मेनू में बहुत अधिक प्रविष्टियाँ हैं। OpenClaw पहले ही Telegram की सीमा के अनुसार प्रविष्टियाँ घटाता है और कम कमांड के साथ फिर से प्रयास करता है, लेकिन कुछ मेनू प्रविष्टियाँ फिर भी हटाई जा सकती हैं। Plugin/skill/कस्टम कमांड की संख्या घटाएँ, या यदि आपको मेनू की आवश्यकता नहीं है तो channels.telegram.commands.native अक्षम करें।
    • TypeError: fetch failed, Network request for 'setMyCommands' failed!, या इसी तरह की नेटवर्क त्रुटियाँ: VPS पर या प्रॉक्सी के पीछे होने पर पुष्टि करें कि आउटबाउंड HTTPS की अनुमति है और api.telegram.org के लिए DNS काम करता है।

    यदि Gateway दूरस्थ है, तो Gateway होस्ट पर लॉग जाँचें।

    दस्तावेज़: Telegram, चैनल समस्या निवारण.

    TUI कोई आउटपुट नहीं दिखाता। मुझे क्या जाँचना चाहिए?
    bash
    openclaw statusopenclaw models statusopenclaw logs --follow

    वर्तमान स्थिति देखने के लिए TUI में /status का उपयोग करें। यदि आपको किसी चैट चैनल में उत्तर मिलने की अपेक्षा है, तो पुष्टि करें कि डिलीवरी सक्षम है (/deliver on)।

    दस्तावेज़: TUI, स्लैश कमांड.

    मैं Gateway को पूरी तरह रोककर फिर कैसे शुरू करूँ?

    यदि आपने सेवा इंस्टॉल की है (macOS पर launchd, Linux पर systemd):

    bash
    openclaw gateway stopopenclaw gateway start

    फ़ोरग्राउंड में Ctrl-C से रोकें, फिर openclaw gateway run

    दस्तावेज़: Gateway सेवा रनबुक.

    सरल व्याख्या: openclaw gateway restart बनाम openclaw gateway

    openclaw gateway restart बैकग्राउंड सेवा (launchd/systemd) को फिर से शुरू करता है। openclaw gateway इस टर्मिनल सत्र के लिए Gateway को फ़ोरग्राउंड में चलाता है। यदि आपने सेवा इंस्टॉल की है तो Gateway उपकमांड का उपयोग करें; एक बार चलाने के लिए सीधे फ़ोरग्राउंड रन का उपयोग करें।

    कुछ विफल होने पर अधिक विवरण पाने का सबसे तेज़ तरीका

    कंसोल पर अधिक विवरण के लिए Gateway को --verbose के साथ शुरू करें, फिर चैनल प्रमाणीकरण, मॉडल रूटिंग और RPC त्रुटियों के लिए लॉग फ़ाइल देखें।

    मीडिया और अटैचमेंट

    मेरे skill ने एक इमेज/PDF बनाया, लेकिन कुछ भी नहीं भेजा गया

    एजेंट के आउटबाउंड अटैचमेंट में media, mediaUrl, path, या filePath जैसे संरचित मीडिया फ़ील्ड का उपयोग करना आवश्यक है। OpenClaw सहायक सेटअप और एजेंट द्वारा भेजना देखें।

    bash
    openclaw message send --target +15555550123 --message "यह रहा" --media /path/to/file.png

    यह भी जाँचें: लक्षित चैनल आउटबाउंड मीडिया का समर्थन करता हो और अनुमति-सूची द्वारा अवरुद्ध न हो; फ़ाइल प्रदाता की आकार सीमाओं के भीतर हो (इमेज का आकार अधिकतम 2048px भुजा तक बदला जाता है); tools.fs.workspaceOnly=true स्थानीय-पथ से भेजने को कार्यस्थान, अस्थायी/मीडिया-स्टोर और सैंडबॉक्स द्वारा सत्यापित फ़ाइलों तक सीमित करता है; tools.fs.workspaceOnly=false (डिफ़ॉल्ट) संरचित स्थानीय मीडिया प्रेषण को ऐसी होस्ट-स्थानीय फ़ाइलों का उपयोग करने देता है जिन्हें एजेंट पहले से पढ़ सकता है—मीडिया के साथ सुरक्षित दस्तावेज़ प्रकारों के लिए भी (इमेज, ऑडियो, वीडियो, PDF, Office दस्तावेज़ और Markdown/MD, TXT, JSON, YAML/YML जैसे सत्यापित टेक्स्ट दस्तावेज़)। यह कोई सीक्रेट स्कैनर नहीं है—यदि एक्सटेंशन और सामग्री का सत्यापन मेल खाता है, तो एजेंट द्वारा पठनीय secret.txt या config.json को अटैच किया जा सकता है। संवेदनशील फ़ाइलों को एजेंट द्वारा पठनीय पथों से बाहर रखें, या अधिक कड़े स्थानीय-पथ प्रेषण के लिए tools.fs.workspaceOnly=true बनाए रखें।

    इमेज देखें।

    सुरक्षा और पहुँच नियंत्रण

    क्या OpenClaw को इनबाउंड DM के लिए उजागर करना सुरक्षित है?

    इनबाउंड DM को अविश्वसनीय इनपुट मानें। डिफ़ॉल्ट सेटिंग जोखिम कम करती हैं:

    • DM-सक्षम चैनलों पर डिफ़ॉल्ट व्यवहार पेयरिंग है: अज्ञात प्रेषकों को एक पेयरिंग कोड मिलता है और उनका संदेश संसाधित नहीं किया जाता। openclaw pairing approve --channel <channel> [--account <id>] <code> से स्वीकृति दें। लंबित अनुरोधों की सीमा प्रति चैनल 3 है; यदि कोड नहीं आया तो openclaw pairing list --channel <channel> [--account <id>] जाँचें।
    • DM को सार्वजनिक रूप से खोलने के लिए स्पष्ट रूप से सहमति देना आवश्यक है (dmPolicy: "open" और अनुमति-सूची "*")।

    जोखिमपूर्ण DM नीतियाँ सामने लाने के लिए openclaw doctor चलाएँ।

    क्या प्रॉम्प्ट इंजेक्शन केवल सार्वजनिक बॉट के लिए चिंता का विषय है?

    नहीं। प्रॉम्प्ट इंजेक्शन का संबंध अविश्वसनीय सामग्री से है, केवल इससे नहीं कि बॉट को कौन DM कर सकता है। यदि आपका सहायक बाहरी सामग्री (वेब खोज/फ़ेच, ब्राउज़र पेज, ईमेल, दस्तावेज़, अटैचमेंट, चिपकाए गए लॉग) पढ़ता है, तो उस सामग्री में मॉडल को नियंत्रित करने का प्रयास करने वाले निर्देश हो सकते हैं—भले ही आप अकेले प्रेषक हों।

    टूल सक्षम होने पर जोखिम सबसे अधिक होता है: मॉडल को संदर्भ बाहर भेजने या आपकी ओर से टूल कॉल करने के लिए बहकाया जा सकता है। प्रभाव-क्षेत्र कम करें:

    • अविश्वसनीय सामग्री का सारांश बनाने के लिए केवल-पढ़ने योग्य या टूल-अक्षम "रीडर" एजेंट का उपयोग करें
    • टूल-सक्षम एजेंटों के लिए web_search / web_fetch / browser बंद रखें
    • डिकोड की गई फ़ाइल/दस्तावेज़ सामग्री को भी अविश्वसनीय मानें: OpenResponses input_file और मीडिया-अटैचमेंट निष्कर्षण, दोनों निकाले गए टेक्स्ट को अपरिष्कृत फ़ाइल टेक्स्ट के रूप में भेजने के बजाय स्पष्ट बाहरी-सामग्री सीमा चिह्नों में लपेटते हैं
    • सैंडबॉक्स का उपयोग करें और टूल के लिए कड़ी अनुमति-सूचियाँ लागू करें

    विवरण: सुरक्षा.

    क्या Rust/WASM के बजाय TypeScript/Node का उपयोग करने के कारण OpenClaw कम सुरक्षित है?

    भाषा और रनटाइम मायने रखते हैं, लेकिन व्यक्तिगत एजेंट के लिए वे मुख्य जोखिम नहीं हैं। व्यावहारिक जोखिम हैं Gateway का उजागर होना, बॉट को कौन संदेश भेज सकता है, प्रॉम्प्ट इंजेक्शन, टूल का दायरा, क्रेडेंशियल प्रबंधन, ब्राउज़र पहुँच, exec पहुँच और तृतीय-पक्ष skill/Plugin पर भरोसा।

    Rust और WASM कुछ कोड वर्गों के लिए अधिक मजबूत पृथक्करण प्रदान कर सकते हैं, लेकिन वे प्रॉम्प्ट इंजेक्शन, खराब अनुमति-सूचियाँ, सार्वजनिक Gateway एक्सपोज़र, अत्यधिक व्यापक टूल या संवेदनशील खातों में पहले से लॉग-इन ब्राउज़र प्रोफ़ाइल की समस्याएँ हल नहीं करते। इन्हें प्राथमिक नियंत्रण मानें: Gateway को निजी या प्रमाणीकृत रखें, DM/समूहों के लिए पेयरिंग और अनुमति-सूचियों का उपयोग करें, अविश्वसनीय इनपुट के लिए जोखिमपूर्ण टूल अस्वीकार करें या उन्हें सैंडबॉक्स में चलाएँ, केवल विश्वसनीय Plugin और skill इंस्टॉल करें और कॉन्फ़िगरेशन बदलने के बाद openclaw security audit --deep चलाएँ।

    विवरण: सुरक्षा, सैंडबॉक्सिंग.

    मैंने उजागर OpenClaw इंस्टेंस की रिपोर्ट देखी हैं। मुझे क्या जाँचना चाहिए?
    bash
    openclaw security audit --deepopenclaw gateway status

    अधिक सुरक्षित आधारभूत स्थिति: Gateway loopback से बँधा हो, या केवल प्रमाणीकृत निजी पहुँच (tailnet, SSH टनल, टोकन/पासवर्ड प्रमाणीकरण या सही ढंग से कॉन्फ़िगर किए गए विश्वसनीय प्रॉक्सी) के माध्यम से उजागर हो; DM pairing या allowlist मोड में हों; समूह अनुमति-सूची में हों और उल्लेख-आधारित प्रतिबंध लागू हो, जब तक कि प्रत्येक सदस्य विश्वसनीय न हो; अविश्वसनीय सामग्री पढ़ने वाले एजेंटों के लिए उच्च-जोखिम वाले टूल (exec, browser, gateway, cron) अस्वीकार किए गए हों या उनका दायरा कड़ाई से सीमित हो; जहाँ टूल निष्पादन के लिए छोटा प्रभाव-क्षेत्र आवश्यक हो वहाँ सैंडबॉक्सिंग सक्षम हो।

    प्रमाणीकरण के बिना सार्वजनिक बाइंड, टूल के साथ खुले DM/समूह और उजागर ब्राउज़र नियंत्रण वे निष्कर्ष हैं जिन्हें पहले ठीक करना चाहिए। विवरण: openclaw सुरक्षा ऑडिट.

    क्या ClawHub skill और तृतीय-पक्ष Plugin इंस्टॉल करना सुरक्षित है?

    तृतीय-पक्ष skill और Plugin को ऐसा कोड मानें जिस पर आप भरोसा करना चुन रहे हैं। ClawHub के skill पेज इंस्टॉल करने से पहले स्कैन की स्थिति दिखाते हैं, लेकिन स्कैन पूर्ण सुरक्षा सीमा नहीं हैं। OpenClaw Plugin/skill को इंस्टॉल या अपडेट करते समय अंतर्निहित स्थानीय खतरनाक-कोड अवरोधन नहीं चलाता; स्थानीय अनुमति/अवरोध निर्णयों के लिए ऑपरेटर-स्वामित्व वाले security.installPolicy का उपयोग करें।

    अधिक सुरक्षित तरीका: विश्वसनीय लेखकों और पिन किए गए संस्करणों को प्राथमिकता दें, skill/Plugin को सक्षम करने से पहले पढ़ें, Plugin/skill अनुमति-सूचियों को सीमित रखें, अविश्वसनीय-इनपुट कार्यप्रवाहों को न्यूनतम टूल के साथ सैंडबॉक्स में चलाएँ और तृतीय-पक्ष कोड को व्यापक फ़ाइल सिस्टम, exec, ब्राउज़र या सीक्रेट पहुँच देने से बचें।

    विवरण: Skills, Plugin, सुरक्षा.

    क्या मेरे बॉट का अपना ईमेल, GitHub खाता या फ़ोन नंबर होना चाहिए?

    हाँ, अधिकांश सेटअप के लिए। अलग खातों और फ़ोन नंबरों के माध्यम से बॉट को पृथक करने से कुछ गलत होने पर प्रभाव-क्षेत्र कम होता है और आपके व्यक्तिगत खातों को प्रभावित किए बिना क्रेडेंशियल बदलना या पहुँच रद्द करना आसान होता है।

    छोटे स्तर से शुरू करें: केवल उन्हीं टूल और खातों की पहुँच दें जिनकी आपको वास्तव में आवश्यकता है और आवश्यकता पड़ने पर बाद में विस्तार करें।

    दस्तावेज़: सुरक्षा, पेयरिंग.

    क्या मैं इसे अपने टेक्स्ट संदेशों पर स्वायत्तता दे सकता हूँ और क्या यह सुरक्षित है?

    हम आपके व्यक्तिगत संदेशों पर पूर्ण स्वायत्तता देने की अनुशंसा नहीं करते। सबसे सुरक्षित तरीका: DM को पेयरिंग मोड या कड़ी अनुमति-सूची में रखें, यदि इसे आपकी ओर से संदेश भेजना है तो अलग नंबर या खाते का उपयोग करें और इसे मसौदा तैयार करने दें जबकि आप भेजने से पहले स्वीकृति दें

    प्रयोग के लिए इसे किसी समर्पित, पृथक खाते पर करें। सुरक्षा देखें।

    क्या मैं व्यक्तिगत सहायक कार्यों के लिए सस्ते मॉडल का उपयोग कर सकता हूँ?

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

    मैंने Telegram में /start चलाया लेकिन पेयरिंग कोड नहीं मिला

    पेयरिंग कोड केवल तब भेजे जाते हैं जब कोई अज्ञात प्रेषक बॉट को संदेश भेजता है और dmPolicy: "pairing" सक्षम होता है; केवल /start अपने आप कोड उत्पन्न नहीं करता।

    लंबित अनुरोध जाँचें:

    bash
    openclaw pairing list telegram

    तुरंत पहुँच के लिए अपने प्रेषक ID को अनुमति-सूची में जोड़ें या उस खाते के लिए dmPolicy: "open" सेट करें।

    WhatsApp: क्या यह मेरे संपर्कों को संदेश भेजेगा? पेयरिंग कैसे काम करती है?

    नहीं। WhatsApp की डिफ़ॉल्ट DM नीति पेयरिंग है। अज्ञात प्रेषकों को केवल पेयरिंग कोड मिलता है; उनका संदेश संसाधित नहीं किया जाता। OpenClaw केवल प्राप्त चैट का उत्तर देता है या आपके द्वारा स्पष्ट रूप से शुरू किए गए प्रेषण करता है।

    bash
    openclaw pairing approve whatsapp <code>openclaw pairing list whatsapp

    विज़ार्ड में फ़ोन नंबर का संकेत आपकी अनुमति-सूची/स्वामी सेट करता है, ताकि आपके अपने DM की अनुमति हो—इसका उपयोग स्वचालित रूप से संदेश भेजने के लिए नहीं किया जाता। अपने व्यक्तिगत WhatsApp नंबर पर उसी नंबर का उपयोग करें और channels.whatsapp.selfChatMode सक्षम करें।

    चैट कमांड, कार्य निरस्त करना और "यह रुकता नहीं है"

    मैं आंतरिक सिस्टम संदेशों को चैट में दिखने से कैसे रोकूँ?

    अधिकांश आंतरिक/टूल संदेश केवल तभी दिखाई देते हैं जब उस सत्र के लिए वर्बोज़, ट्रेस या रीज़निंग सक्षम हो।

    जिस चैट में वे दिखाई देते हैं, वहीं इसे ठीक करें:

    text
    /verbose off/trace off/reasoning off

    यदि फिर भी बहुत संदेश आते हैं: Control UI में सत्र सेटिंग जाँचें और वर्बोज़ को इनहेरिट पर सेट करें; पुष्टि करें कि आप कॉन्फ़िगरेशन में verboseDefault: "on" वाली बॉट प्रोफ़ाइल का उपयोग नहीं कर रहे हैं।

    दस्तावेज़: सोच और विस्तृत आउटपुट, सुरक्षा.

    मैं चल रहे कार्य को कैसे रोकूँ/रद्द करूँ?

    निरस्त करना ट्रिगर करने के लिए इनमें से कोई भी संदेश एक स्वतंत्र संदेश के रूप में (स्लैश के बिना) भेजें: stop, stop action, stop current action, stop run, stop current run, stop agent, stop the agent, stop openclaw, openclaw stop, stop don't do anything, stop do not do anything, stop doing anything, do not do that, please stop, stop please, abort, esc, exit, interrupt, halt। सामान्य गैर-अंग्रेज़ी ट्रिगर (फ़्रेंच, जर्मन, स्पैनिश, चीनी, जापानी, हिंदी, अरबी, रूसी) भी काम करते हैं।

    exec टूल द्वारा शुरू की गई बैकग्राउंड प्रक्रियाओं के लिए, एजेंट से यह चलाने को कहें:

    text
    process action:kill sessionId:XXX

    अधिकतर स्लैश कमांड को / से शुरू होने वाले स्वतंत्र संदेश के रूप में भेजना आवश्यक है, लेकिन कुछ शॉर्टकट (जैसे /status) अनुमति-सूची में शामिल प्रेषकों के लिए इनलाइन भी काम करते हैं। स्लैश कमांड देखें।

    मैं Telegram से Discord संदेश कैसे भेजूँ? ("संदर्भों के बीच संदेश भेजने से इनकार किया गया")

    OpenClaw डिफ़ॉल्ट रूप से प्रदाताओं के बीच संदेश भेजना अवरुद्ध करता है। यदि कोई टूल कॉल Telegram से संबद्ध है, तो वह Discord पर संदेश नहीं भेजेगा, जब तक कि आप इसकी स्पष्ट रूप से अनुमति न दें—और यह तुरंत प्रभावी होता है, Gateway को पुनः शुरू करने की आवश्यकता नहीं है:

    json5
    {  tools: {    message: {      crossContext: {        allowAcrossProviders: true,        marker: { enabled: true, prefix: "[from {channel}] " },      },    },  },}
    ऐसा क्यों लगता है कि बॉट लगातार तेज़ी से भेजे गए संदेशों को "अनदेखा" करता है?

    डिफ़ॉल्ट रूप से, रन के बीच में दिए गए प्रॉम्प्ट सक्रिय रन में निर्देश के रूप में शामिल किए जाते हैं। सक्रिय रन का व्यवहार चुनने के लिए /queue का उपयोग करें:

    • steer (डिफ़ॉल्ट) - अगले मॉडल सीमा-बिंदु पर सक्रिय रन का मार्गदर्शन करें।
    • followup - संदेशों को कतार में रखें और मौजूदा रन समाप्त होने के बाद उन्हें एक-एक करके चलाएँ।
    • collect - संगत संदेशों को कतार में रखें और मौजूदा रन समाप्त होने के बाद एक बार उत्तर दें।
    • interrupt - मौजूदा रन निरस्त करें और नए सिरे से शुरू करें।

    कतारबद्ध मोड में debounce:0.5s cap:25 drop:summarize जैसे विकल्प जोड़ें। कमांड कतार और स्टीयरिंग कतार देखें।

    विविध

    API कुंजी के साथ Anthropic के लिए डिफ़ॉल्ट मॉडल क्या है?

    क्रेडेंशियल और मॉडल चयन अलग-अलग हैं। ANTHROPIC_API_KEY सेट करने (या प्रमाणीकरण प्रोफ़ाइल में Anthropic API कुंजी संग्रहीत करने) से प्रमाणीकरण सक्षम होता है, लेकिन वास्तविक डिफ़ॉल्ट मॉडल वही होता है जिसे आप agents.defaults.model.primary में कॉन्फ़िगर करते हैं (उदाहरण के लिए anthropic/claude-sonnet-4-6 या anthropic/claude-opus-4-6)। No credentials found for profile "anthropic:default" का अर्थ है कि Gateway को चल रहे एजेंट के अपेक्षित auth-profiles.json में Anthropic क्रेडेंशियल नहीं मिले।


    अभी भी समस्या हल नहीं हुई? Discord में पूछें या GitHub चर्चा शुरू करें।

    संबंधित

    Was this useful?
    On this page

    On this page