Plugins

Plugins

Plugins OpenClaw को चैनल, मॉडल प्रदाताओं, एजेंट हार्नेस, टूल, Skills, स्पीच, रियलटाइम ट्रांसक्रिप्शन, वॉइस, मीडिया समझ, जनरेशन, वेब फ़ेच, वेब खोज और अन्य रनटाइम क्षमताओं के साथ विस्तारित करते हैं।

Plugin इंस्टॉल करने, Gateway पुनरारंभ करने, यह सत्यापित करने कि रनटाइम ने उसे लोड किया है, और सामान्य सेटअप विफलताओं का उचित समाधान खोजने के लिए इस पृष्ठ का उपयोग करें। केवल कमांड वाले उदाहरणों के लिए, Plugins प्रबंधित करें देखें। बंडल किए गए, आधिकारिक बाहरी और केवल-स्रोत Plugins की जनरेट की गई सूची के लिए, Plugin सूची देखें।

आवश्यकताएँ

  • एक OpenClaw चेकआउट या इंस्टॉलेशन जिसमें openclaw CLI उपलब्ध हो
  • चुने गए स्रोत (ClawHub, npm या git होस्ट) तक नेटवर्क पहुँच
  • उस Plugin के सेटअप दस्तावेज़ों में बताए गए Plugin-विशिष्ट क्रेडेंशियल, कॉन्फ़िगरेशन कुंजियाँ या OS टूल
  • आपके चैनल उपलब्ध कराने वाले Gateway को रीलोड या पुनरारंभ करने की अनुमति

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

  • Plugin खोजें

    सार्वजनिक Plugin पैकेज के लिए ClawHub खोजें:

    bash
    openclaw plugins search "calendar"

    सामुदायिक Plugins खोजने के लिए ClawHub प्राथमिक इंटरफ़ेस है। लॉन्च ट्रांज़िशन के दौरान, सामान्य बिना-प्रीफ़िक्स वाले पैकेज स्पेक अब भी npm से इंस्टॉल होते हैं, जब तक कि वे किसी आधिकारिक Plugin id से मेल न खाते हों। किसी बंडल किए गए Plugin से मेल खाने वाले कच्चे @openclaw/* स्पेक उस बंडल की गई प्रति पर रिज़ॉल्व होते हैं। जब आपको विशेष रूप से कोई एक स्रोत चाहिए, तो स्पष्ट स्रोत प्रीफ़िक्स का उपयोग करें।

  • Plugin इंस्टॉल करें

    bash
    # ClawHub से।openclaw plugins install clawhub:<package> # npm से।openclaw plugins install npm:<package> # git से।openclaw plugins install git:github.com/<owner>/<repo>@<ref> # स्थानीय डेवलपमेंट चेकआउट से।openclaw plugins install ./my-pluginopenclaw plugins install --link ./my-plugin

    Plugin इंस्टॉल को कोड चलाने की तरह समझें। पुनरुत्पाद्य प्रोडक्शन इंस्टॉल के लिए पिन किए गए संस्करणों को प्राथमिकता दें। ClawHub पैकेज और OpenClaw की बंडल/आधिकारिक कैटलॉग विश्वसनीय स्रोत हैं। नए मनमाने npm, git, स्थानीय पाथ/आर्काइव, npm-pack: या मार्केटप्लेस स्रोतों के लिए, स्रोत की समीक्षा करके उस पर भरोसा करने के बाद गैर-इंटरैक्टिव इंस्टॉल में --force आवश्यक है।

  • इसे कॉन्फ़िगर और सक्षम करें

    Plugin-विशिष्ट सेटिंग्स को plugins.entries.<id>.config के अंतर्गत कॉन्फ़िगर करें। यदि Plugin पहले से सक्षम नहीं है, तो उसे सक्षम करें:

    bash
    openclaw plugins enable <plugin-id>

    यदि plugins.allow सेट है, तो Plugin के लोड होने से पहले इंस्टॉल किए गए Plugin की id उस सूची में होनी चाहिए। openclaw plugins install इंस्टॉल की गई id को मौजूदा plugins.allow सूची में जोड़ता है और उसी id को plugins.deny से हटाता है, ताकि स्पष्ट इंस्टॉल पुनरारंभ के बाद लोड हो सके।

  • Gateway को रीलोड होने दें

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

    bash
    openclaw gateway restart

    सक्षम/अक्षम करना कॉन्फ़िगरेशन और कोल्ड रजिस्ट्री को अपडेट करता है। लाइव रनटाइम सतहों का सबसे स्पष्ट प्रमाण अब भी रनटाइम निरीक्षण है।

  • रनटाइम पंजीकरण सत्यापित करें

    bash
    openclaw plugins inspect <plugin-id> --runtime --json

    पंजीकृत टूल, हुक, सेवाएँ, Gateway विधियाँ या Plugin-स्वामित्व वाली CLI कमांड प्रमाणित करने के लिए --runtime का उपयोग करें। साधारण inspect केवल कोल्ड मैनिफ़ेस्ट और रजिस्ट्री जाँच है।

  • कॉन्फ़िगरेशन

    इंस्टॉल स्रोत चुनें

    स्रोत कब उपयोग करें उदाहरण
    ClawHub जब आपको OpenClaw-मूल खोज, स्कैन, संस्करण मेटाडेटा और इंस्टॉल संकेत चाहिए हों openclaw plugins install clawhub:<package>
    npm जब आपको प्रत्यक्ष npm रजिस्ट्री या dist-tag वर्कफ़्लो चाहिए हों openclaw plugins install npm:<package>
    git जब आपको किसी रिपॉज़िटरी से ब्रांच, टैग या कमिट चाहिए हो openclaw plugins install git:github.com/<owner>/<repo>@<ref>
    स्थानीय पाथ जब आप उसी मशीन पर किसी Plugin को विकसित या परीक्षण कर रहे हों openclaw plugins install --link ./my-plugin
    मार्केटप्लेस जब आप Claude-संगत मार्केटप्लेस Plugin इंस्टॉल कर रहे हों openclaw plugins install <plugin> --marketplace <source>

    बिना-प्रीफ़िक्स वाले पैकेज स्पेक का विशेष संगतता व्यवहार होता है: किसी बंडल किए गए Plugin id से मेल खाने वाला बिना-प्रीफ़िक्स नाम उस बंडल स्रोत का उपयोग करता है; किसी आधिकारिक बाहरी Plugin id से मेल खाने वाला बिना-प्रीफ़िक्स नाम आधिकारिक पैकेज कैटलॉग का उपयोग करता है; लॉन्च ट्रांज़िशन के दौरान कोई भी अन्य बिना-प्रीफ़िक्स स्पेक npm के माध्यम से इंस्टॉल होता है। बंडल किए गए Plugins से मेल खाने वाले कच्चे @openclaw/* स्पेक भी npm फ़ॉलबैक से पहले बंडल की गई प्रति पर रिज़ॉल्व होते हैं। बंडल की गई प्रति के बजाय बाहरी npm पैकेज को जानबूझकर इंस्टॉल करने के लिए npm:@openclaw/<plugin>@<version> का उपयोग करें। निर्धारित स्रोत चयन के लिए clawhub:, npm:, git: या npm-pack: का उपयोग करें। संपूर्ण कमांड अनुबंध के लिए openclaw plugins देखें।

    npm इंस्टॉल के लिए, बिना पिन किए गए स्पेक और @latest इस OpenClaw बिल्ड के साथ संगतता घोषित करने वाला नवीनतम स्थिर पैकेज चुनते हैं। यदि npm की वर्तमान नवीनतम रिलीज़ इस बिल्ड द्वारा समर्थित संस्करण से नया openclaw.compat.pluginApi या openclaw.install.minHostVersion घोषित करती है, तो OpenClaw पुराने स्थिर संस्करणों को स्कैन करके संगत नवीनतम संस्करण इंस्टॉल करता है। सटीक संस्करण और @beta जैसे स्पष्ट चैनल टैग चुने गए पैकेज पर पिन रहते हैं और असंगत होने पर विफल होते हैं।

    ऑपरेटर इंस्टॉल नीति

    Plugin इंस्टॉल या अपडेट आगे बढ़ने से पहले कोई विश्वसनीय स्थानीय नीति कमांड चलाने के लिए security.installPolicy कॉन्फ़िगर करें। नीति को मेटाडेटा और स्टेज किया गया स्रोत पाथ मिलता है और वह इंस्टॉल की अनुमति दे सकती है या उसे रोक सकती है। यह CLI और Gateway-समर्थित इंस्टॉल/अपडेट पाथ, दोनों को कवर करती है। Plugin before_install हुक बाद में चलते हैं और केवल उन OpenClaw प्रक्रियाओं में चलते हैं जहाँ Plugin हुक लोड किए गए हैं, इसलिए इसके बजाय ऑपरेटर-स्वामित्व वाले इंस्टॉल निर्णयों के लिए security.installPolicy का उपयोग करें। बहिष्कृत --dangerously-force-unsafe-install फ़्लैग संगतता के लिए स्वीकार किया जाता है, लेकिन इसका कोई प्रभाव नहीं है: यह इंस्टॉल नीति या OpenClaw की अंतर्निहित Plugin निर्भरता अस्वीकृति-सूची को बायपास नहीं करता।

    Skills और Plugins, दोनों द्वारा उपयोग किए जाने वाले साझा security.installPolicy exec स्कीमा के लिए Skills कॉन्फ़िगरेशन देखें।

    Plugin नीति कॉन्फ़िगर करें

    सामान्य Plugin कॉन्फ़िगरेशन संरचना यह है:

    json5
    {  plugins: {    enabled: true,    allow: ["voice-call"],    deny: ["untrusted-plugin"],    load: { paths: ["~/Projects/oss/voice-call-plugin"] },    slots: { memory: "memory-core" },    entries: {      "voice-call": { enabled: true, config: { provider: "twilio" } },    },  },}

    मुख्य नीति नियम:

    • plugins.enabled: false सभी Plugins को अक्षम करता है और खोज/लोड कार्य छोड़ देता है। इसके सक्रिय रहते पुराने Plugin संदर्भ निष्क्रिय रहते हैं; यदि आप पुरानी ids हटाना चाहते हैं, तो doctor क्लीनअप चलाने से पहले Plugins को फिर से सक्षम करें।
    • plugins.deny अनुमति-सूची और प्रति-Plugin सक्षमता पर प्राथमिकता रखता है।
    • plugins.allow एक विशिष्ट अनुमति-सूची है। अनुमति-सूची से बाहर के Plugin-स्वामित्व वाले टूल तब भी अनुपलब्ध रहते हैं, जब tools.allow में "*" शामिल हो।
    • plugins.entries.<id>.enabled: false किसी एक Plugin को उसका कॉन्फ़िगरेशन बनाए रखते हुए अक्षम करता है।
    • plugins.load.paths स्पष्ट स्थानीय Plugin फ़ाइलें या डायरेक्टरियाँ जोड़ता है। प्रबंधित plugins install स्थानीय पाथ Plugin डायरेक्टरियाँ या आर्काइव होने चाहिए; स्वतंत्र Plugin फ़ाइलों के लिए plugins.load.paths का उपयोग करें।
    • वर्कस्पेस-मूल Plugins डिफ़ॉल्ट रूप से अक्षम होते हैं; स्थानीय वर्कस्पेस कोड का उपयोग करने से पहले उन्हें स्पष्ट रूप से सक्षम करें या अनुमति-सूची में जोड़ें।
    • बंडल किए गए Plugins अपने अंतर्निहित डिफ़ॉल्ट-चालू/डिफ़ॉल्ट-बंद मेटाडेटा का पालन करते हैं, जब तक कॉन्फ़िगरेशन उसे स्पष्ट रूप से ओवरराइड न करे।
    • plugins.slots.<slot> (memory या contextEngine) किसी विशिष्ट श्रेणी के लिए एक Plugin चुनता है। स्लॉट चयन स्पष्ट सक्रियण माना जाता है और चुने गए Plugin को उस स्लॉट के लिए बलपूर्वक सक्षम करता है, भले ही अन्यथा वह वैकल्पिक हो। plugins.deny और plugins.entries.<id>.enabled: false अब भी उसे रोकते हैं।
    • जब कॉन्फ़िगरेशन उनकी स्वामित्व वाली सतहों में से किसी एक का नाम देता है, जैसे प्रदाता/मॉडल संदर्भ, चैनल कॉन्फ़िगरेशन, CLI बैकएंड या एजेंट हार्नेस रनटाइम, तब बंडल किए गए वैकल्पिक Plugins स्वचालित रूप से सक्रिय हो सकते हैं।
    • OpenAI-परिवार Codex रूटिंग प्रदाता और रनटाइम Plugin सीमाओं को अलग रखती है: पुराने Codex मॉडल संदर्भ पुराने कॉन्फ़िगरेशन हैं जिन्हें doctor सुधारता है, जबकि बंडल किया गया codex Plugin कैनोनिकल openai/* एजेंट संदर्भों, स्पष्ट agentRuntime.id: "codex" और पुराने codex/* संदर्भों के लिए Codex ऐप-सर्वर रनटाइम का स्वामी है।

    जब plugins.allow सेट नहीं होता और गैर-बंडल Plugins वर्कस्पेस या वैश्विक Plugin रूट से स्वतः खोजे जाते हैं, तो स्टार्टअप खोजे गए Plugin ids और छोटी सूचियों के लिए न्यूनतम plugins.allow स्निपेट के साथ plugins.allow is empty; discovered non-bundled plugins may auto-load: ... लॉग करता है। विश्वसनीय Plugins को openclaw.json में कॉपी करने से पहले सूचीबद्ध Plugin id पर openclaw plugins list --enabled --verbose या openclaw plugins inspect <id> चलाएँ। यही विश्वास-पिनिंग तब भी लागू होती है जब निदान बताते हैं कि कोई Plugin without install/load-path provenance लोड हुआ: उस Plugin id का निरीक्षण करें, फिर उसे plugins.allow में पिन करें या किसी विश्वसनीय स्रोत से दोबारा इंस्टॉल करें, ताकि OpenClaw इंस्टॉल उद्गम रिकॉर्ड कर सके।

    जब कॉन्फ़िगरेशन सत्यापन पुरानी Plugin ids, अनुमति-सूची/टूल बेमेल या पुराने बंडल किए गए Plugin पाथ की रिपोर्ट करे, तो openclaw doctor या openclaw doctor --fix चलाएँ।

    Plugin प्रारूप समझें

    OpenClaw दो Plugin प्रारूप पहचानता है:

    प्रारूप यह कैसे लोड होता है कब उपयोग करें
    मूल OpenClaw Plugin openclaw.plugin.json और प्रक्रिया में लोड किया गया रनटाइम मॉड्यूल जब आप OpenClaw-विशिष्ट रनटाइम क्षमताएँ इंस्टॉल या निर्मित कर रहे हों
    संगत बंडल OpenClaw Plugin सूची में मैप किया गया Codex, Claude या Cursor Plugin लेआउट जब आप संगत Skills, कमांड, हुक या बंडल मेटाडेटा का पुनः उपयोग कर रहे हों

    दोनों प्रारूप openclaw plugins list, openclaw plugins inspect, openclaw plugins enable और openclaw plugins disable में दिखाई देते हैं। बंडल संगतता सीमा के लिए Plugin बंडल और मूल Plugin निर्माण के लिए Plugins बनाना देखें।

    Plugin हुक

    Plugins दो अलग-अलग APIs के माध्यम से रनटाइम पर हुक पंजीकृत कर सकते हैं:

    • api.on(...) रनटाइम जीवनचक्र घटनाओं के लिए टाइप किए गए हुक। मिडलवेयर, नीति, संदेश पुनर्लेखन, प्रॉम्प्ट आकार निर्धारण और टूल नियंत्रण के लिए यह पसंदीदा सतह है।
    • हुक में वर्णित आंतरिक हुक सिस्टम के लिए api.registerHook(...)। यह मुख्यतः व्यापक कमांड/जीवनचक्र सहायक प्रभावों और मौजूदा HOOK-शैली ऑटोमेशन के साथ संगतता के लिए है।

    त्वरित नियम: यदि हैंडलर को प्राथमिकता, मर्ज अर्थविज्ञान या ब्लॉक/रद्द व्यवहार चाहिए, तो टाइप किए गए हुक का उपयोग करें। यदि वह केवल command:new, command:reset, message:sent या ऐसी ही व्यापक घटनाओं पर प्रतिक्रिया करता है, तो api.registerHook उपयुक्त है।

    Plugin-प्रबंधित आंतरिक हुक openclaw hooks list में plugin:<id> के साथ दिखाई देते हैं। आप उन्हें openclaw hooks के माध्यम से सक्षम या अक्षम नहीं कर सकते; इसके बजाय Plugin को सक्षम या अक्षम करें।

    सक्रिय Gateway सत्यापित करें

    openclaw plugins list और सामान्य openclaw plugins inspect कोल्ड कॉन्फ़िगरेशन, मैनिफ़ेस्ट और रजिस्ट्री स्थिति पढ़ते हैं। वे यह सिद्ध नहीं करते कि पहले से चल रहे Gateway ने वही Plugin कोड आयात किया है।

    जब कोई Plugin इंस्टॉल हुआ दिखाई देता है, लेकिन लाइव चैट ट्रैफ़िक उसका उपयोग नहीं करता:

    bash
    openclaw gateway status --deep --require-rpcopenclaw plugins inspect <plugin-id> --runtime --jsonopenclaw gateway restart

    प्रबंधित Gateways, Plugin इंस्टॉल, अपडेट और अनइंस्टॉल परिवर्तनों के बाद अपने-आप रीस्टार्ट होते हैं, यदि वे Plugin स्रोत को बदलते हैं। VPS या कंटेनर इंस्टॉल पर, सुनिश्चित करें कि कोई भी मैन्युअल रीस्टार्ट उस वास्तविक openclaw gateway run चाइल्ड को लक्षित करे जो आपके चैनलों को सेवा देता है, न कि केवल किसी रैपर या सुपरवाइज़र को।

    समस्या निवारण

    लक्षण जाँच समाधान
    Plugin plugins list में दिखाई देता है, लेकिन रनटाइम हुक नहीं चलते openclaw plugins inspect <id> --runtime --json का उपयोग करें और gateway status --deep --require-rpc से सक्रिय Gateway की पुष्टि करें इंस्टॉल, अपडेट, कॉन्फ़िगरेशन या स्रोत परिवर्तन के बाद लाइव Gateway को रीस्टार्ट करें
    डुप्लिकेट चैनल या टूल स्वामित्व डायग्नोस्टिक्स दिखाई देते हैं openclaw plugins list --enabled --verbose चलाएँ, प्रत्येक संदिग्ध Plugin की --runtime --json से जाँच करें और चैनल/टूल स्वामित्व की तुलना करें एक स्वामी को अक्षम करें, पुराने इंस्टॉल हटाएँ या जानबूझकर प्रतिस्थापन के लिए मैनिफ़ेस्ट preferOver का उपयोग करें
    कॉन्फ़िगरेशन कहता है कि कोई Plugin अनुपलब्ध है यह जानने के लिए Plugin इन्वेंट्री देखें कि वह बंडल किया हुआ, आधिकारिक बाहरी या केवल-स्रोत है बाहरी पैकेज इंस्टॉल करें, बंडल किए गए Plugin को सक्षम करें या पुराना कॉन्फ़िगरेशन हटाएँ
    इंस्टॉल के दौरान कॉन्फ़िगरेशन अमान्य है सत्यापन संदेश पढ़ें और यदि वह पुराने Plugin स्टेट की ओर संकेत करता है, तो openclaw doctor --fix चलाएँ Doctor, प्रविष्टि को अक्षम करके और अमान्य पेलोड हटाकर अमान्य Plugin कॉन्फ़िगरेशन को क्वारंटीन कर सकता है
    संदिग्ध स्वामित्व या अनुमतियों के कारण Plugin पथ अवरुद्ध है कॉन्फ़िगरेशन त्रुटि से पहले वाला डायग्नोस्टिक देखें फ़ाइल सिस्टम स्वामित्व/अनुमतियाँ ठीक करें, फिर openclaw plugins registry --refresh चलाएँ
    OPENCLAW_NIX_MODE=1 लाइफ़साइकल कमांड को अवरुद्ध करता है पुष्टि करें कि इंस्टॉल Nix द्वारा प्रबंधित है Plugin म्यूटेटर कमांड का उपयोग करने के बजाय Nix स्रोत में Plugin चयन बदलें
    रनटाइम पर डिपेंडेंसी आयात विफल होता है जाँचें कि Plugin npm/git/ClawHub के माध्यम से इंस्टॉल किया गया था या किसी स्थानीय पथ से लोड किया गया था openclaw plugins update <id> चलाएँ, स्रोत को फिर से इंस्टॉल करें या स्थानीय Plugin डिपेंडेंसी स्वयं इंस्टॉल करें

    जब कोई सक्षम प्रबंधित Plugin, Gateway स्टार्टअप के दौरान पेलोड सत्यापन में विफल होता है, OpenClaw उस बूट के लिए ठीक उसी इंस्टॉल किए गए Plugin रूट को क्वारंटीन करता है और अन्य Plugins को सेवा देना जारी रखता है। openclaw status --all, openclaw health, और openclaw doctor उसे configured-unavailable के रूप में रिपोर्ट करते हैं। Plugin को ठीक करें या फिर से इंस्टॉल करें, फिर Gateway को रीस्टार्ट करें। उसी Plugin आईडी वाला एक स्वस्थ स्पष्ट plugins.load.paths ओवरराइड किसी पुराने खराब इंस्टॉल के कारण क्वारंटीन नहीं किया जाता।

    जब पुराना Plugin कॉन्फ़िगरेशन अब खोजे न जा सकने वाले चैनल Plugin का नाम अभी भी रखता है, तो कॉन्फ़िगरेशन सत्यापन उस चैनल कुंजी को गंभीर विफलता के बजाय चेतावनी में डाउनग्रेड कर देता है, जिससे Gateway स्टार्टअप अन्य सभी चैनलों को सेवा देना जारी रख सकता है। पुराने Plugin और चैनल प्रविष्टियाँ हटाने के लिए openclaw doctor --fix चलाएँ। पुराने Plugin के प्रमाण के बिना अज्ञात चैनल कुंजियाँ अब भी सत्यापन में विफल होती हैं, ताकि टाइपो दिखाई देते रहें।

    जानबूझकर चैनल प्रतिस्थापन के लिए, पसंदीदा Plugin को विरासती या कम-प्राथमिकता वाले Plugin आईडी के साथ channelConfigs.<channel-id>.preferOver घोषित करना चाहिए। यदि दोनों Plugins स्पष्ट रूप से सक्षम हैं, तो OpenClaw उस अनुरोध को बनाए रखता है और चुपचाप एक स्वामी चुनने के बजाय डुप्लिकेट चैनल/टूल डायग्नोस्टिक्स रिपोर्ट करता है।

    यदि कोई इंस्टॉल किया गया पैकेज रिपोर्ट करता है कि वह requires compiled runtime output for TypeScript entry ..., तो पैकेज उन JavaScript फ़ाइलों के बिना प्रकाशित किया गया था जिनकी OpenClaw को रनटाइम पर आवश्यकता है। प्रकाशक द्वारा कंपाइल किया हुआ JavaScript जारी करने के बाद अपडेट करें या फिर से इंस्टॉल करें, या तब तक Plugin को अक्षम/अनइंस्टॉल करें।

    अवरुद्ध Plugin पथ स्वामित्व

    यदि डायग्नोस्टिक्स कहते हैं blocked plugin candidate: suspicious ownership (... uid=1000, expected uid=0 or root) और उसके बाद सत्यापन में plugin present but blocked आता है, तो OpenClaw को ऐसी Plugin फ़ाइलें मिली हैं जिनका स्वामी उन्हें लोड करने वाली प्रक्रिया से अलग Unix उपयोगकर्ता है। Plugin कॉन्फ़िगरेशन को यथास्थान रखें; फ़ाइल सिस्टम स्वामित्व ठीक करें या OpenClaw को उसी उपयोगकर्ता के रूप में चलाएँ जिसके स्वामित्व में स्टेट डायरेक्टरी है।

    Docker इंस्टॉल के लिए, आधिकारिक इमेज node (uid 1000) के रूप में चलती है, इसलिए होस्ट पर बाइंड-माउंट की गई OpenClaw कॉन्फ़िगरेशन और वर्कस्पेस डायरेक्टरियों का स्वामित्व सामान्यतः uid 1000 के पास होना चाहिए:

    bash
    sudo chown -R 1000:1000 /path/to/openclaw-config /path/to/openclaw-workspace

    यदि आप जानबूझकर OpenClaw को root के रूप में चलाते हैं, तो इसके बजाय प्रबंधित Plugin रूट का स्वामित्व root के लिए ठीक करें:

    bash
    sudo chown -R root:root /path/to/openclaw-config/npm

    स्वामित्व ठीक करने के बाद, openclaw doctor --fix या openclaw plugins registry --refresh फिर से चलाएँ, ताकि सहेजी गई Plugin रजिस्ट्री ठीक की गई फ़ाइलों से मेल खाए।

    धीमा Plugin टूल सेटअप

    यदि टूल तैयार करते समय एजेंट टर्न रुके हुए दिखाई देते हैं, तो ट्रेस लॉगिंग सक्षम करें और Plugin टूल फ़ैक्टरी टाइमिंग पंक्तियाँ जाँचें:

    bash
    openclaw config set logging.level traceopenclaw logs --follow

    इसे खोजें:

    text
    [trace:plugin-tools] factory timings ...

    सारांश कुल फ़ैक्टरी समय और सबसे धीमी Plugin टूल फ़ैक्टरियाँ सूचीबद्ध करता है, जिसमें Plugin आईडी, घोषित टूल नाम, परिणाम संरचना और यह शामिल है कि टूल वैकल्पिक है या नहीं। जब किसी एक फ़ैक्टरी को कम-से-कम 1s लगता है या Plugin टूल फ़ैक्टरी की कुल तैयारी में कम-से-कम 5s लगते हैं, तो धीमी पंक्तियों को चेतावनियों में पदोन्नत किया जाता है।

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

    यदि कोई एक Plugin टाइमिंग पर हावी है, तो उसके रनटाइम पंजीकरणों की जाँच करें:

    bash
    openclaw plugins inspect <plugin-id> --runtime --json

    फिर उस Plugin को अपडेट करें, फिर से इंस्टॉल करें या अक्षम करें। Plugin लेखकों को महँगी डिपेंडेंसी लोडिंग को टूल फ़ैक्टरी के भीतर करने के बजाय टूल निष्पादन पथ के पीछे ले जाना चाहिए।

    डिपेंडेंसी रूट, पैकेज मेटाडेटा सत्यापन, रजिस्ट्री रिकॉर्ड, स्टार्टअप रीलोड व्यवहार और विरासती क्लीनअप के लिए, Plugin डिपेंडेंसी रिज़ॉल्यूशन देखें।

    संबंधित

    Was this useful?
    On this page

    On this page