Skip to main content
Gateway plugins, हुक पैक और संगत बंडल प्रबंधित करें।

Plugin प्रणाली

plugins को इंस्टॉल, सक्षम करने और उनकी समस्याओं का निवारण करने के लिए अंतिम-उपयोगकर्ता मार्गदर्शिका।

plugins प्रबंधित करें

इंस्टॉल करने, सूची देखने, अपडेट करने, अनइंस्टॉल करने और प्रकाशित करने के त्वरित उदाहरण।

Plugin बंडल

बंडल संगतता मॉडल।

Plugin मैनिफ़ेस्ट

मैनिफ़ेस्ट फ़ील्ड और कॉन्फ़िग स्कीमा।

सुरक्षा

Plugin इंस्टॉलेशन के लिए सुरक्षा सुदृढ़ीकरण।

कमांड

धीमे इंस्टॉलेशन, निरीक्षण, अनइंस्टॉलेशन या रजिस्ट्री-रीफ़्रेश की जाँच के लिए, कमांड को OPENCLAW_PLUGIN_LIFECYCLE_TRACE=1 के साथ चलाएँ। ट्रेस चरणों का समय stderr में लिखता है और JSON आउटपुट को पार्स करने योग्य रखता है। डीबगिंग देखें।
Nix मोड (OPENCLAW_NIX_MODE=1) में, openclaw.json अपरिवर्तनीय है। install, update, uninstall, enable और disable सभी चलने से इनकार करते हैं। इसके बजाय इस इंस्टॉलेशन के लिए Nix स्रोत संपादित करें (nix-openclaw के लिए programs.openclaw.config या instances.<name>.config), फिर पुनः बिल्ड करें। एजेंट-प्रथम त्वरित शुरुआत देखें।
बंडल किए गए plugins OpenClaw के साथ वितरित होते हैं। कुछ डिफ़ॉल्ट रूप से सक्षम होते हैं (उदाहरण के लिए बंडल किए गए मॉडल प्रदाता, बंडल किए गए वाक् प्रदाता और बंडल किया गया ब्राउज़र Plugin); अन्य के लिए plugins enable आवश्यक है।मूल OpenClaw plugins इनलाइन JSON Schema (configSchema, खाली होने पर भी) के साथ openclaw.plugin.json वितरित करते हैं। संगत बंडल इसके बजाय अपने स्वयं के बंडल मैनिफ़ेस्ट का उपयोग करते हैं।plugins list, Format: openclaw या Format: bundle दिखाता है। विस्तृत सूची/जानकारी आउटपुट में पहचानी गई बंडल क्षमताओं के साथ बंडल उपप्रकार (codex, claude या cursor) भी दिखता है।

निर्माण

plugins init डिफ़ॉल्ट रूप से एक न्यूनतम TypeScript टूल Plugin बनाता है। पहला तर्क Plugin आईडी है; --name प्रदर्शन नाम निर्धारित करता है। OpenClaw डिफ़ॉल्ट आउटपुट डायरेक्टरी और पैकेज नामकरण के लिए आईडी का उपयोग करता है। टूल स्कैफ़ोल्ड defineToolPlugin का उपयोग करते हैं और package.json स्क्रिप्ट plugin:build तथा plugin:validate उत्पन्न करते हैं, जो बिल्ड करने के बाद openclaw plugins build/validate को कॉल करती हैं। plugins build बिल्ड की गई एंट्री आयात करता है, उसका स्थिर टूल मेटाडेटा पढ़ता है, openclaw.plugin.json लिखता है और package.json के openclaw.extensions को समक्रमित रखता है। plugins validate जाँचता है कि उत्पन्न मैनिफ़ेस्ट, पैकेज मेटाडेटा और वर्तमान एंट्री एक्सपोर्ट अब भी एक-दूसरे से मेल खाते हैं। पूर्ण निर्माण कार्यप्रवाह के लिए टूल plugins देखें। स्कैफ़ोल्ड TypeScript स्रोत लिखता है, लेकिन बिल्ड की गई ./dist/index.js एंट्री से मेटाडेटा उत्पन्न करता है, इसलिए कार्यप्रवाह प्रकाशित CLI के साथ भी काम करता है। जब एंट्री डिफ़ॉल्ट पैकेज एंट्री न हो, तब --entry <path> का उपयोग करें। फ़ाइलों को दोबारा लिखे बिना उत्पन्न मेटाडेटा पुराना होने पर विफल होने के लिए CI में plugins build --check का उपयोग करें।

प्रदाता स्कैफ़ोल्ड

प्रदाता स्कैफ़ोल्ड API-कुंजी प्रमाणीकरण व्यवस्था के साथ एक सामान्य OpenAI-संगत मॉडल प्रदाता Plugin, clawhub package validate चलाने वाली npm run validate स्क्रिप्ट, ClawHub पैकेज मेटाडेटा और GitHub OIDC के माध्यम से भविष्य में विश्वसनीय प्रकाशन के लिए मैन्युअल रूप से प्रेषित GitHub Actions कार्यप्रवाह बनाते हैं। प्रदाता स्कैफ़ोल्ड Skills उत्पन्न नहीं करते और openclaw plugins build/validate का उपयोग नहीं करते; वे कमांड टूल स्कैफ़ोल्ड के उत्पन्न-मेटाडेटा पथ के लिए हैं। प्रकाशित करने से पहले, प्लेसहोल्डर API बेस URL, मॉडल कैटलॉग, दस्तावेज़ रूट, क्रेडेंशियल पाठ और README सामग्री को वास्तविक प्रदाता विवरणों से बदलें। पहली बार ClawHub पर प्रकाशित करने और विश्वसनीय-प्रकाशक सेटअप के लिए उत्पन्न README का उपयोग करें।

इंस्टॉल करें

सेटअप-समय इंस्टॉलेशन का परीक्षण करने वाले अनुरक्षक सुरक्षित पर्यावरण चरों से स्वचालित Plugin इंस्टॉल स्रोतों को ओवरराइड कर सकते हैं। Plugin इंस्टॉल ओवरराइड देखें।
लॉन्च बदलाव के दौरान सामान्य पैकेज नाम डिफ़ॉल्ट रूप से npm से इंस्टॉल होते हैं, जब तक कि वे किसी बंडल किए गए या आधिकारिक Plugin आईडी से मेल न खाते हों; उस स्थिति में OpenClaw npm रजिस्ट्री पर जाने के बजाय उस स्थानीय/आधिकारिक प्रति का उपयोग करता है। जब आप जानबूझकर कोई बाहरी npm पैकेज चाहते हों, तब npm:<package> का उपयोग करें। ClawHub के लिए clawhub:<package> का उपयोग करें। Plugin इंस्टॉलेशन को कोड चलाने जैसा मानें; पिन किए गए संस्करणों को प्राथमिकता दें।
ClawHub पैकेज और OpenClaw का बंडल किया गया/आधिकारिक कैटलॉग विश्वसनीय इंस्टॉल स्रोत हैं। कोई नया मनमाना npm, npm-pack:, git, स्थानीय पथ/आर्काइव या मार्केटप्लेस स्रोत चेतावनी देता है और आगे बढ़ने से पहले पूछता है। गैर-संवादात्मक मनमाने इंस्टॉलेशन में स्रोत की समीक्षा और उस पर भरोसा करने के बाद --force देना आवश्यक है। आवश्यकता होने पर यही फ़्लैग मौजूदा इंस्टॉल लक्ष्य को अधिलेखित करता है। पहले से ट्रैक किए गए इंस्टॉलेशन के सामान्य अपडेट के लिए इसकी आवश्यकता नहीं है। यह पुष्टि --acknowledge-clawhub-risk से अलग है, जो केवल जोखिमपूर्ण ClawHub रिलीज़ भरोसा चेतावनियों पर लागू होती है। --force, security.installPolicy या शेष इंस्टॉल सुरक्षा जाँचों को बायपास नहीं करता।
plugins search इंस्टॉल किए जा सकने वाले code-plugin और bundle-plugin पैकेजों के लिए ClawHub से क्वेरी करता है (Skills के लिए नहीं; उनके लिए openclaw skills search का उपयोग करें)। डिफ़ॉल्ट --limit 20 है, जिसकी अधिकतम सीमा 100 है। यह केवल दूरस्थ कैटलॉग पढ़ता है: कोई स्थानीय स्थिति निरीक्षण, कॉन्फ़िग परिवर्तन, पैकेज इंस्टॉलेशन या Plugin रनटाइम लोड नहीं। परिणामों में ClawHub पैकेज नाम, परिवार, चैनल, संस्करण, सारांश और openclaw plugins install clawhub:<package> जैसा इंस्टॉल संकेत शामिल होता है।
अधिकांश plugins के लिए ClawHub प्राथमिक वितरण और खोज माध्यम है। Npm समर्थित वैकल्पिक और प्रत्यक्ष-इंस्टॉल पथ बना हुआ है। OpenClaw के स्वामित्व वाले @openclaw/* Plugin पैकेज फिर से npm पर प्रकाशित किए जाते हैं; वर्तमान सूची npmjs.com/org/openclaw या Plugin सूची पर देखें। स्थिर इंस्टॉलेशन latest का उपयोग करते हैं। बीटा-चैनल इंस्टॉलेशन और अपडेट उपलब्ध होने पर npm के beta dist-tag को प्राथमिकता देते हैं, और उपलब्ध न होने पर latest का उपयोग करते हैं। विस्तारित-स्थिर चैनल पर, सामान्य/डिफ़ॉल्ट या latest अभिप्राय वाले आधिकारिक npm plugins ठीक इंस्टॉल किए गए कोर संस्करण पर रिज़ॉल्व होते हैं। सटीक पिन और स्पष्ट गैर-latest टैग, तृतीय-पक्ष पैकेज और गैर-npm स्रोत दोबारा नहीं लिखे जाते।
यदि आपका plugins अनुभाग एकल-फ़ाइल $include द्वारा समर्थित है, तो plugins install/update/enable/disable/uninstall उसी सम्मिलित फ़ाइल में लिखता है और openclaw.json को अछूता छोड़ता है। रूट इन्क्लूड, इन्क्लूड सरणियाँ और सहोदर ओवरराइड वाले इन्क्लूड समतल करने के बजाय सुरक्षित रूप से विफल होते हैं। समर्थित संरचनाओं के लिए कॉन्फ़िग इन्क्लूड देखें।यदि इंस्टॉलेशन से पहले कॉन्फ़िग अमान्य है, तो plugins install सामान्यतः सुरक्षित रूप से विफल होता है और पहले openclaw doctor --fix चलाने को कहता है। Gateway स्टार्टअप और हॉट रीलोड के दौरान अमान्य Plugin कॉन्फ़िग किसी अन्य अमान्य कॉन्फ़िग की तरह सुरक्षित रूप से विफल होता है; openclaw doctor --fix अमान्य Plugin एंट्री को क्वारंटीन कर सकता है। पहले से मौजूद कॉन्फ़िग का एकमात्र अपवाद उन plugins के लिए एक सीमित बंडल-Plugin पुनर्प्राप्ति पथ है, जो स्पष्ट रूप से openclaw.install.allowInvalidConfigRecovery चुनते हैं।जब मौजूदा होस्ट कॉन्फ़िग मान्य हो, लेकिन नए इंस्टॉल किए गए Plugin का अपना कॉन्फ़िग अनुपस्थित हो, तो OpenClaw अमान्य सक्षम एंट्री लिखने के बजाय इंस्टॉलेशन को अक्षम के रूप में दर्ज करता है। plugins.entries.<id>.config कॉन्फ़िगर करें, फिर openclaw plugins enable <id> चलाएँ। यदि कोई मौजूदा Plugin कॉन्फ़िग एंट्री मौजूद है, लेकिन अमान्य है, तो इंस्टॉलेशन उसे दोबारा लिखे बिना विफल हो जाता है।
--force बिना संकेत दिए गैर-ClawHub स्रोत की पुष्टि करता है। यह security.installPolicy या शेष इंस्टॉल सुरक्षा जाँचों को बायपास नहीं करता। जब Plugin या हुक पैक पहले से इंस्टॉल हो, तो यह मौजूदा लक्ष्य का पुनः उपयोग करके उसे उसी स्थान पर अधिलेखित भी करता है। किसी मनमाने npm, स्थानीय, आर्काइव, git या मार्केटप्लेस स्रोत की समीक्षा करने के बाद, या उसी आईडी को जानबूझकर पुनः इंस्टॉल करते समय इसका उपयोग करें। पहले से ट्रैक किए गए npm Plugin के नियमित अपग्रेड के लिए openclaw plugins update <id-or-npm-spec> को प्राथमिकता दें।यदि आप पहले से इंस्टॉल Plugin आईडी के लिए plugins install चलाते हैं, तो OpenClaw रुक जाता है और सामान्य अपग्रेड के लिए आपको plugins update <id-or-npm-spec> की ओर, या किसी भिन्न स्रोत से वर्तमान इंस्टॉलेशन को वास्तव में अधिलेखित करने के लिए plugins install <package> --force की ओर निर्देशित करता है। मनमाने स्रोत अब भी संवादात्मक उद्गम चेतावनी दिखाते हैं; गैर-संवादात्मक इंस्टॉलेशन में समीक्षा के बाद --force देना आवश्यक है। विश्वसनीय ClawHub और OpenClaw-कैटलॉग स्रोतों को इसकी आवश्यकता नहीं होती। --link के साथ, --force स्रोत की पुष्टि करता है, लेकिन लिंक-पथ इंस्टॉल मोड नहीं बदलता।
--pin केवल npm इंस्टॉल पर लागू होता है और हल किए गए सटीक <name>@<version> को दर्ज करता है। यह git: इंस्टॉल के साथ समर्थित नहीं है (इसके बजाय स्पेक में रेफ़ पिन करें, जैसे git:github.com/acme/plugin@v1.2.3) या --marketplace के साथ भी नहीं (मार्केटप्लेस इंस्टॉल npm स्पेक के बजाय मार्केटप्लेस स्रोत मेटाडेटा बनाए रखते हैं)।
--dangerously-force-unsafe-install बहिष्कृत है और अब कोई कार्रवाई नहीं करता। OpenClaw अब Plugin इंस्टॉल के लिए अंतर्निहित इंस्टॉल-समय खतरनाक-कोड अवरोधन नहीं चलाता।होस्ट-विशिष्ट इंस्टॉल नीति आवश्यक होने पर ऑपरेटर-स्वामित्व वाली security.installPolicy सतह का उपयोग करें। Plugin before_install हुक Plugin-रनटाइम जीवनचक्र हुक हैं, CLI इंस्टॉल के लिए प्राथमिक नीति सीमा नहीं।यदि ClawHub पर आपके द्वारा प्रकाशित कोई Plugin रजिस्ट्री स्कैन द्वारा छिपाया या अवरुद्ध किया गया है, तो ClawHub प्रकाशन में दिए प्रकाशक चरणों का उपयोग करें। --dangerously-force-unsafe-install ClawHub से Plugin को दोबारा स्कैन करने या अवरुद्ध रिलीज़ को सार्वजनिक करने के लिए नहीं कहता।
समुदाय के ClawHub इंस्टॉल डाउनलोड करने से पहले चयनित रिलीज़ का विश्वास रिकॉर्ड जाँचते हैं। यदि ClawHub उस रिलीज़ के लिए डाउनलोड अक्षम करता है, दुर्भावनापूर्ण स्कैन निष्कर्षों की रिपोर्ट करता है, या रिलीज़ को अवरोधक मॉडरेशन स्थिति (क्वारंटीन, निरस्त) में रखता है, तो OpenClaw इस फ़्लैग की परवाह किए बिना उसे पूरी तरह अस्वीकार कर देता है। गैर-अवरोधक जोखिमपूर्ण स्कैन स्थितियों या मॉडरेशन स्थितियों के लिए, OpenClaw विश्वास विवरण दिखाता है और आगे बढ़ने से पहले पुष्टि माँगता है।ClawHub चेतावनी की समीक्षा करने और इंटरैक्टिव प्रॉम्प्ट के बिना आगे बढ़ने का निर्णय लेने के बाद ही --acknowledge-clawhub-risk का उपयोग करें। लंबित या पुराने (अभी तक स्वच्छ नहीं) स्कैन परिणाम चेतावनी देते हैं, लेकिन अभिस्वीकृति आवश्यक नहीं करते। आधिकारिक ClawHub पैकेज और बंडल किए गए OpenClaw Plugin स्रोत इस रिलीज़-विश्वास जाँच को पूरी तरह छोड़ देते हैं।
plugins install, package.json में openclaw.hooks उजागर करने वाले हुक पैक के लिए भी इंस्टॉल सतह है। फ़िल्टर की गई हुक दृश्यता और प्रति-हुक सक्षमता के लिए openclaw hooks का उपयोग करें, पैकेज इंस्टॉलेशन के लिए नहीं।Npm स्पेक केवल रजिस्ट्री हैं (पैकेज नाम तथा वैकल्पिक सटीक संस्करण या dist-tag)। Git/URL/फ़ाइल स्पेक और semver श्रेणियाँ अस्वीकार कर दी जाती हैं। निर्भरता इंस्टॉल सुरक्षा के लिए प्रति Plugin एक प्रबंधित npm प्रोजेक्ट में --ignore-scripts के साथ चलते हैं, भले ही आपके शेल में वैश्विक npm इंस्टॉल सेटिंग्स हों। प्रबंधित Plugin npm प्रोजेक्ट OpenClaw के पैकेज-स्तरीय npm overrides को इनहेरिट करते हैं, इसलिए होस्ट सुरक्षा पिन ऊपर उठाई गई Plugin निर्भरताओं पर भी लागू होते हैं।npm रिज़ॉल्यूशन स्पष्ट करने के लिए npm:<package> का उपयोग करें। साधारण पैकेज स्पेक भी लॉन्च संक्रमण के दौरान सीधे npm से इंस्टॉल होते हैं, जब तक वे किसी आधिकारिक Plugin आईडी से मेल न खाएँ।बंडल किए गए Plugin से मेल खाने वाले अपरिष्कृत @openclaw/* स्पेक npm फ़ॉलबैक से पहले इमेज-स्वामित्व वाली बंडल प्रति में हल होते हैं। उदाहरण के लिए, openclaw plugins install @openclaw/discord@2026.5.20 --pin प्रबंधित npm ओवरराइड बनाने के बजाय वर्तमान OpenClaw बिल्ड से बंडल किए गए Discord Plugin का उपयोग करता है। बाहरी npm पैकेज को बाध्य करने के लिए openclaw plugins install npm:@openclaw/discord@2026.5.20 --pin का उपयोग करें।साधारण स्पेक और @latest स्थिर ट्रैक पर रहते हैं। 2026.5.3-1 जैसे OpenClaw के दिनांक-मुद्रित सुधार संस्करण इस जाँच के लिए स्थिर माने जाते हैं। यदि npm किसी भी रूप को प्रीरिलीज़ में हल करता है, तो OpenClaw रुक जाता है और आपसे प्रीरिलीज़ टैग (@beta/@rc) या सटीक प्रीरिलीज़ संस्करण (@1.2.3-beta.4) के साथ स्पष्ट रूप से सहमति देने को कहता है।सटीक संस्करण के बिना npm इंस्टॉल (npm:<package> या npm:<package>@latest) के लिए, OpenClaw इंस्टॉल से पहले हल किए गए पैकेज मेटाडेटा की जाँच करता है। यदि नवीनतम स्थिर पैकेज को अधिक नए OpenClaw Plugin API या न्यूनतम होस्ट संस्करण की आवश्यकता है, तो OpenClaw पुराने स्थिर संस्करणों का निरीक्षण करता है और इसके बजाय नवीनतम संगत रिलीज़ इंस्टॉल करता है। सटीक संस्करण और स्पष्ट dist-tag सख्त रहते हैं: असंगत चयन विफल होता है और आपसे OpenClaw अपग्रेड करने या संगत संस्करण चुनने को कहता है।यदि कोई साधारण इंस्टॉल स्पेक किसी आधिकारिक Plugin आईडी से मेल खाता है (उदाहरण के लिए diffs), तो OpenClaw कैटलॉग प्रविष्टि को सीधे इंस्टॉल करता है। समान नाम वाला npm पैकेज इंस्टॉल करने के लिए स्पष्ट स्कोप वाला स्पेक उपयोग करें (उदाहरण के लिए @scope/diffs)।
किसी git रिपॉज़िटरी से सीधे इंस्टॉल करने के लिए git:<repo> का उपयोग करें। समर्थित रूप: git:github.com/owner/repo, git:owner/repo, पूर्ण https://, ssh://, git://, file://, और git@host:owner/repo.git क्लोन URL। इंस्टॉल से पहले किसी शाखा, टैग या कमिट को चेक आउट करने के लिए @<ref> या #<ref> जोड़ें।Git इंस्टॉल एक अस्थायी डायरेक्टरी में क्लोन करते हैं, अनुरोधित रेफ़ मौजूद होने पर उसे चेक आउट करते हैं, फिर सामान्य Plugin डायरेक्टरी इंस्टॉलर का उपयोग करते हैं, इसलिए मैनिफ़ेस्ट सत्यापन, ऑपरेटर इंस्टॉल नीति, पैकेज-मैनेजर इंस्टॉल कार्य और इंस्टॉल रिकॉर्ड npm इंस्टॉल की तरह व्यवहार करते हैं। दर्ज किए गए git इंस्टॉल में स्रोत URL/रेफ़ तथा हल किया गया कमिट शामिल होता है, ताकि openclaw plugins update बाद में स्रोत को फिर से हल कर सके।git से इंस्टॉल करने के बाद, Gateway विधियों और CLI कमांड जैसे रनटाइम पंजीकरण सत्यापित करने के लिए openclaw plugins inspect <id> --runtime --json का उपयोग करें। यदि Plugin ने api.registerCli के साथ CLI रूट पंजीकृत किया है, तो उस कमांड को सीधे OpenClaw रूट CLI से चलाएँ, उदाहरण के लिए openclaw demo-plugin ping
समर्थित अभिलेखागार: .zip, .tgz, .tar.gz, .tar। मूल OpenClaw Plugin अभिलेखागार में निकाले गए Plugin रूट पर मान्य openclaw.plugin.json होना आवश्यक है; केवल package.json वाले अभिलेखागार OpenClaw द्वारा इंस्टॉल रिकॉर्ड लिखने से पहले अस्वीकार कर दिए जाते हैं।जब फ़ाइल npm-pack टारबॉल हो और आप रजिस्ट्री इंस्टॉल द्वारा प्रयुक्त वही प्रति-Plugin प्रबंधित npm प्रोजेक्ट पथ चाहते हों, तब npm-pack:<path.tgz> का उपयोग करें, जिसमें package-lock.json सत्यापन, ऊपर उठाई गई निर्भरता स्कैनिंग, और npm इंस्टॉल रिकॉर्ड शामिल हैं। साधारण अभिलेखागार पथ फिर भी Plugin एक्सटेंशन रूट के अंतर्गत स्थानीय अभिलेखागार के रूप में इंस्टॉल होते हैं।Claude मार्केटप्लेस इंस्टॉल भी समर्थित हैं।
ClawHub इंस्टॉल स्पष्ट clawhub:<package> लोकेटर का उपयोग करते हैं:
लॉन्च संक्रमण के दौरान साधारण npm-सुरक्षित Plugin स्पेक डिफ़ॉल्ट रूप से npm से इंस्टॉल होते हैं, जब तक वे किसी आधिकारिक Plugin आईडी से मेल न खाएँ:
केवल npm रिज़ॉल्यूशन स्पष्ट करने के लिए npm: का उपयोग करें:
OpenClaw इंस्टॉल से पहले विज्ञापित Plugin API / न्यूनतम Gateway संगतता की जाँच करता है। जब चयनित ClawHub संस्करण ClawPack आर्टिफ़ैक्ट प्रकाशित करता है, तो OpenClaw संस्करणयुक्त npm-pack .tgz डाउनलोड करता है, ClawHub डाइजेस्ट हेडर और आर्टिफ़ैक्ट डाइजेस्ट सत्यापित करता है, फिर उसे सामान्य अभिलेखागार पथ से इंस्टॉल करता है। ClawPack मेटाडेटा के बिना पुराने ClawHub संस्करण अब भी विरासत पैकेज अभिलेखागार सत्यापन पथ से इंस्टॉल होते हैं। दर्ज किए गए इंस्टॉल बाद के अपडेट के लिए अपना ClawHub स्रोत मेटाडेटा, आर्टिफ़ैक्ट प्रकार, npm अखंडता, npm shasum, टारबॉल नाम और ClawPack डाइजेस्ट तथ्य बनाए रखते हैं। बिना संस्करण वाले ClawHub इंस्टॉल बिना संस्करण वाला दर्ज स्पेक बनाए रखते हैं, ताकि openclaw plugins update नए ClawHub रिलीज़ का अनुसरण कर सके; clawhub:pkg@1.2.3 और clawhub:pkg@beta जैसे स्पष्ट संस्करण या टैग चयनकर्ता उसी चयनकर्ता पर पिन रहते हैं।

मार्केटप्लेस संक्षिप्त रूप

जब मार्केटप्लेस नाम ~/.claude/plugins/known_marketplaces.json में Claude के स्थानीय रजिस्ट्री कैश में मौजूद हो, तब plugin@marketplace संक्षिप्त रूप का उपयोग करें:
मार्केटप्लेस स्रोत स्पष्ट रूप से देने के लिए --marketplace का उपयोग करें:
  • Claude का ज्ञात मार्केटप्लेस नाम, जो ~/.claude/plugins/known_marketplaces.json से हो
  • स्थानीय मार्केटप्लेस रूट या marketplace.json पथ
  • GitHub रिपॉज़िटरी संक्षिप्त रूप, जैसे owner/repo
  • GitHub रिपॉज़िटरी URL, जैसे https://github.com/owner/repo
  • git URL
स्थानीय पथों और अभिलेखागार के लिए, OpenClaw स्वतः पता लगाता है:
  • मूल OpenClaw Plugin (openclaw.plugin.json)
  • Codex-संगत बंडल (.codex-plugin/plugin.json)
  • Claude-संगत बंडल (.claude-plugin/plugin.json, या उस मैनिफ़ेस्ट फ़ाइल के अनुपस्थित होने पर डिफ़ॉल्ट Claude घटक लेआउट)
  • Cursor-संगत बंडल (.cursor-plugin/plugin.json)
प्रबंधित स्थानीय इंस्टॉल Plugin डायरेक्टरी या अभिलेखागार होने चाहिए। स्वतंत्र .js, .mjs, .cjs, और .ts Plugin फ़ाइलें plugins install द्वारा प्रबंधित Plugin रूट में कॉपी नहीं की जातीं, न ही उन्हें सीधे ~/.openclaw/extensions या <workspace>/.openclaw/extensions में रखने से लोड किया जाता है; वे स्वतः खोजे गए रूट Plugin पैकेज या बंडल डायरेक्टरी लोड करते हैं और शीर्ष-स्तरीय स्क्रिप्ट फ़ाइलों को स्थानीय सहायक मानकर छोड़ देते हैं। इसके बजाय स्वतंत्र फ़ाइलों को plugins.load.paths में स्पष्ट रूप से सूचीबद्ध करें।
संगत बंडल सामान्य Plugin रूट में इंस्टॉल होते हैं और समान सूची/जानकारी/सक्षम/अक्षम प्रवाह में भाग लेते हैं। वर्तमान में बंडल Skills, Claude कमांड-Skills, Claude settings.json डिफ़ॉल्ट, Claude .lsp.json / मैनिफ़ेस्ट-घोषित lspServers डिफ़ॉल्ट, Cursor कमांड-Skills और संगत Codex हुक डायरेक्टरी समर्थित हैं; अन्य खोजी गई बंडल क्षमताएँ निदान/जानकारी में दिखाई जाती हैं, लेकिन अभी रनटाइम निष्पादन से जुड़ी नहीं हैं।
किसी स्थानीय Plugin डायरेक्टरी को कॉपी किए बिना इंगित करने के लिए -l/--link का उपयोग करें (plugins.load.paths में जोड़ता है):
--link, --marketplace या git: इंस्टॉल के साथ समर्थित नहीं है, और इसके लिए पहले से मौजूद स्थानीय पथ आवश्यक है। गैर-इंटरैक्टिव स्थानीय लिंक के लिए, स्रोत की समीक्षा करने के बाद --force दें; यह उद्गम की पुष्टि करता है, लेकिन लिंक की गई डायरेक्टरी को कॉपी या अधिलेखित नहीं करता।
वर्कस्पेस एक्सटेंशन रूट से खोजे गए वर्कस्पेस-मूल Plugin तब तक आयात या निष्पादित नहीं होते, जब तक उन्हें स्पष्ट रूप से सक्षम न किया जाए। स्थानीय विकास के लिए, openclaw plugins enable <plugin-id> चलाएँ या plugins.entries.<plugin-id>.enabled: true सेट करें; यदि आपका कॉन्फ़िगरेशन plugins.allow उपयोग करता है, तो उसमें भी वही Plugin आईडी शामिल करें। यह विफलता-बंद नियम तब भी लागू होता है जब चैनल सेटअप केवल-सेटअप लोडिंग के लिए किसी वर्कस्पेस-मूल Plugin को स्पष्ट रूप से लक्षित करता है, इसलिए जब तक वह वर्कस्पेस Plugin अक्षम या अनुमति-सूची से बाहर रहता है, तब तक स्थानीय चैनल Plugin सेटअप कोड नहीं चलेगा। लिंक किए गए इंस्टॉल और स्पष्ट plugins.load.paths प्रविष्टियाँ अपने हल किए गए Plugin उद्गम के लिए सामान्य नीति का पालन करती हैं। देखें Plugin नीति कॉन्फ़िगर करें और कॉन्फ़िगरेशन संदर्भडिफ़ॉल्ट व्यवहार को अनपिन रखते हुए प्रबंधित Plugin इंडेक्स में हल किए गए सटीक स्पेक (name@version) को सहेजने के लिए npm इंस्टॉल पर --pin का उपयोग करें।

सूची

boolean
केवल सक्षम plugins दिखाएँ।
boolean
तालिका दृश्य से प्रति-plugin विवरण पंक्तियों पर जाएँ, जिनमें प्रारूप/स्रोत/उद्गम/संस्करण/सक्रियण मेटाडेटा हो।
boolean
मशीन-पठनीय इन्वेंटरी के साथ रजिस्ट्री निदान और पैकेज निर्भरता स्थापना स्थिति।
plugins list पहले स्थायी स्थानीय plugin रजिस्ट्री को पढ़ता है और रजिस्ट्री अनुपलब्ध या अमान्य होने पर केवल-मैनिफ़ेस्ट से व्युत्पन्न फ़ॉलबैक का उपयोग करता है। यह जाँचने के लिए उपयोगी है कि कोई plugin स्थापित, सक्षम और कोल्ड स्टार्टअप योजना को दिखाई देता है या नहीं, लेकिन यह पहले से चल रही Gateway प्रक्रिया की लाइव रनटाइम जाँच नहीं है। plugin कोड, सक्षमता, हुक नीति या plugins.load.paths बदलने के बाद, नए register(api) कोड या हुक के चलने की अपेक्षा करने से पहले चैनल को सेवा देने वाली Gateway को पुनः आरंभ करें। रिमोट/कंटेनर परिनियोजनों के लिए सत्यापित करें कि आप केवल किसी रैपर प्रक्रिया को नहीं, बल्कि वास्तविक openclaw gateway run चाइल्ड को पुनः आरंभ कर रहे हैं।plugins list --json में package.json dependencies और optionalDependencies से प्रत्येक plugin का dependencyStatus शामिल होता है। OpenClaw जाँचता है कि वे पैकेज नाम plugin के सामान्य Node node_modules लुकअप पथ पर मौजूद हैं या नहीं; यह plugin रनटाइम कोड आयात नहीं करता, पैकेज प्रबंधक नहीं चलाता और अनुपलब्ध निर्भरताओं की मरम्मत नहीं करता।
यदि स्टार्टअप लॉग में plugins.allow is empty; discovered non-bundled plugins may auto-load: ... आए, तो plugin आईडी की पुष्टि करने के लिए सूचीबद्ध plugin आईडी के साथ openclaw plugins list --enabled --verbose या openclaw plugins inspect <id> चलाएँ और विश्वसनीय आईडी को openclaw.json में plugins.allow में कॉपी करें। जब चेतावनी प्रत्येक खोजे गए plugin को सूचीबद्ध कर सकती है, तो यह सीधे चिपकाने योग्य plugins.allow स्निपेट प्रिंट करती है जिसमें वे आईडी पहले से शामिल होती हैं। यदि कोई plugin स्थापना/लोड-पथ उद्गम के बिना लोड होता है, तो उस plugin आईडी का निरीक्षण करें, फिर या तो विश्वसनीय आईडी को plugins.allow में पिन करें या plugin को किसी विश्वसनीय स्रोत से पुनः स्थापित करें, ताकि OpenClaw स्थापना उद्गम रिकॉर्ड कर सके। पैकेज किए गए Docker इमेज के भीतर बंडल plugin पर काम करने के लिए, plugin स्रोत डायरेक्टरी को मिलते-जुलते पैकेज स्रोत पथ पर बाइंड-माउंट करें, जैसे /app/extensions/synology-chat। OpenClaw इस माउंट किए गए स्रोत ओवरले को /app/dist/extensions/synology-chat से पहले खोजता है; केवल कॉपी की गई स्रोत डायरेक्टरी निष्क्रिय रहती है, इसलिए सामान्य पैकेज्ड स्थापनाएँ अब भी संकलित dist का उपयोग करती हैं। रनटाइम हुक डीबगिंग के लिए:
  • openclaw plugins inspect <id> --runtime --json मॉड्यूल-लोडेड निरीक्षण पास से पंजीकृत हुक और निदान दिखाता है। रनटाइम निरीक्षण कभी निर्भरताएँ स्थापित नहीं करता; पुरानी निर्भरता स्थिति साफ़ करने या कॉन्फ़िगरेशन द्वारा संदर्भित अनुपलब्ध डाउनलोड-योग्य plugins पुनर्प्राप्त करने के लिए openclaw doctor --fix का उपयोग करें।
  • openclaw gateway status --deep --require-rpc पहुँच योग्य Gateway URL/प्रोफ़ाइल, सेवा/प्रक्रिया संकेत, कॉन्फ़िगरेशन पथ और RPC स्वास्थ्य की पुष्टि करता है।
  • गैर-बंडल वार्तालाप हुक (llm_input, llm_output, before_model_resolve, before_agent_reply, before_agent_run, before_agent_finalize, agent_end) के लिए plugins.entries.<id>.hooks.allowConversationAccess=true आवश्यक है।

Plugin अनुक्रमणिका

Plugin स्थापना मेटाडेटा मशीन-प्रबंधित स्थिति है, उपयोगकर्ता कॉन्फ़िगरेशन नहीं। स्थापनाएँ और अपडेट इसे सक्रिय OpenClaw स्थिति डायरेक्टरी के अंतर्गत साझा SQLite स्थिति डेटाबेस में लिखते हैं। installed_plugin_index पंक्ति स्थायी installRecords मेटाडेटा संग्रहित करती है, जिसमें टूटे हुए या अनुपलब्ध plugin मैनिफ़ेस्ट के रिकॉर्ड शामिल हैं, साथ ही openclaw plugins update, अनइंस्टॉल, निदान और कोल्ड plugin रजिस्ट्री द्वारा उपयोग किया जाने वाला मैनिफ़ेस्ट-व्युत्पन्न कोल्ड रजिस्ट्री कैश भी शामिल है। plugins.installs एक सेवानिवृत्त लेखित-कॉन्फ़िगरेशन सतह है। रनटाइम और अपडेट कमांड केवल SQLite स्थापित-plugin अनुक्रमणिका पढ़ते हैं। सामान्य रनटाइम उपयोग से पहले पुराने कॉन्फ़िगरेशन रिकॉर्ड को अनुक्रमणिका में आयात करने और सेवानिवृत्त कुंजी हटाने के लिए openclaw doctor --fix चलाएँ।

अनइंस्टॉल

uninstall, plugins.entries से plugin रिकॉर्ड, स्थायी plugin अनुक्रमणिका, plugin अनुमति/अस्वीकृति सूची प्रविष्टियाँ और लागू होने पर लिंक की गई plugins.load.paths प्रविष्टियाँ हटाता है। जब तक --keep-files सेट न हो, अनइंस्टॉल ट्रैक की गई प्रबंधित स्थापना डायरेक्टरी भी हटाता है, लेकिन केवल तभी जब वह OpenClaw के plugin extensions रूट के भीतर रिज़ॉल्व होती हो। यदि plugin वर्तमान में memory या contextEngine स्लॉट का स्वामी है, तो वह स्लॉट अपने डिफ़ॉल्ट पर रीसेट हो जाता है (मेमोरी के लिए memory-core, कॉन्टेक्स्ट इंजन के लिए legacy)। uninstall हटाई जाने वाली चीज़ों का पूर्वावलोकन प्रिंट करता है, फिर परिवर्तन करने से पहले Uninstall plugin "<id>"? का संकेत देता है। पुष्टिकरण संकेत छोड़ने के लिए --force दें (स्क्रिप्ट और गैर-इंटरैक्टिव रन के लिए उपयोगी); इसके बिना अनइंस्टॉल के लिए इंटरैक्टिव TTY आवश्यक है। --dry-run वही पूर्वावलोकन प्रिंट करता है और संकेत दिए या कोई परिवर्तन किए बिना बाहर निकल जाता है।
--keep-config, --keep-files के बहिष्कृत उपनाम के रूप में समर्थित है।

अपडेट

अपडेट प्रबंधित plugin अनुक्रमणिका में ट्रैक की गई plugin स्थापनाओं और साझा SQLite स्थिति में ट्रैक किए गए हुक-पैक स्थापनाओं पर लागू होते हैं। वे उसी स्रोत का पुनः उपयोग करते हैं जिसे उपयोगकर्ता ने plugin स्थापित करते समय पहले ही चुना था, इसलिए उन्हें दूसरी स्रोत अभिस्वीकृति की आवश्यकता नहीं होती।
जब आप कोई plugin आईडी देते हैं, तो OpenClaw उस plugin के लिए रिकॉर्ड किए गए स्थापना स्पेक का पुनः उपयोग करता है। इसका अर्थ है कि पहले से संग्रहित dist-tags, जैसे @beta, और सटीक पिन किए गए संस्करण बाद के update <id> रन में भी उपयोग होते रहते हैं।update <id> --dry-run के दौरान, सटीक पिन की गई npm स्थापनाएँ पिन रहती हैं। यदि OpenClaw पैकेज की रजिस्ट्री डिफ़ॉल्ट लाइन भी रिज़ॉल्व कर सकता है और वह डिफ़ॉल्ट लाइन स्थापित पिन किए गए संस्करण से नई है, तो ड्राई रन पिन की रिपोर्ट करता है और रजिस्ट्री डिफ़ॉल्ट लाइन का अनुसरण करने के लिए स्पष्ट @latest पैकेज अपडेट कमांड प्रिंट करता है।यह लक्षित-अपडेट नियम बल्क openclaw plugins update --all रखरखाव पथ से अलग है। बल्क अपडेट अब भी सामान्य ट्रैक किए गए स्थापना स्पेक का सम्मान करते हैं, लेकिन विश्वसनीय आधिकारिक OpenClaw plugin रिकॉर्ड किसी पुराने सटीक आधिकारिक पैकेज पर बने रहने के बजाय वर्तमान आधिकारिक कैटलॉग लक्ष्य से सिंक हो सकते हैं। जब आप जानबूझकर किसी सटीक या टैग किए गए आधिकारिक स्पेक को अपरिवर्तित रखना चाहते हैं, तो लक्षित update <id> का उपयोग करें।npm स्थापनाओं के लिए, आप dist-tag या सटीक संस्करण वाला स्पष्ट npm पैकेज स्पेक भी दे सकते हैं। OpenClaw उस पैकेज नाम को वापस ट्रैक किए गए plugin रिकॉर्ड से रिज़ॉल्व करता है, उस स्थापित plugin को अपडेट करता है और भविष्य के आईडी-आधारित अपडेट के लिए नया npm स्पेक रिकॉर्ड करता है।बिना संस्करण या टैग के npm पैकेज नाम देना भी वापस ट्रैक किए गए plugin रिकॉर्ड से रिज़ॉल्व होता है। इसका उपयोग तब करें जब कोई plugin सटीक संस्करण पर पिन किया गया था और आप उसे रजिस्ट्री की डिफ़ॉल्ट रिलीज़ लाइन पर वापस ले जाना चाहते हैं।
लक्षित openclaw plugins update <id-or-npm-spec> ट्रैक किए गए plugin स्पेक का पुनः उपयोग करता है, जब तक कि आप नया स्पेक न दें। जब बल्क openclaw plugins update --all विश्वसनीय आधिकारिक plugin रिकॉर्ड को आधिकारिक कैटलॉग लक्ष्य से सिंक करता है, तो वह कॉन्फ़िगर किए गए update.channel का उपयोग करता है, जिससे बीटा-चैनल स्थापनाएँ चुपचाप stable/latest में सामान्यीकृत होने के बजाय बीटा रिलीज़ लाइन पर रह सकती हैं।openclaw update सक्रिय OpenClaw अपडेट चैनल भी जानता है: बीटा चैनल पर, डिफ़ॉल्ट-लाइन npm और ClawHub plugin रिकॉर्ड पहले @beta आज़माते हैं। यदि कोई plugin बीटा रिलीज़ मौजूद नहीं है, तो वे रिकॉर्ड किए गए default/latest स्पेक पर फ़ॉलबैक करते हैं; जब बीटा पैकेज मौजूद हो लेकिन स्थापना सत्यापन में विफल हो, तब npm plugins भी फ़ॉलबैक करते हैं। उस फ़ॉलबैक को चेतावनी के रूप में रिपोर्ट किया जाता है और वह मुख्य अपडेट को विफल नहीं करता। सटीक संस्करण और स्पष्ट टैग लक्षित अपडेट के लिए उसी चयनकर्ता पर पिन रहते हैं।
लाइव npm अपडेट से पहले, OpenClaw स्थापित पैकेज संस्करण की npm रजिस्ट्री मेटाडेटा से जाँच करता है। यदि स्थापित संस्करण और रिकॉर्ड की गई आर्टिफ़ैक्ट पहचान पहले से ही रिज़ॉल्व किए गए लक्ष्य से मेल खाते हैं, तो डाउनलोड, पुनः स्थापना या openclaw.json को दोबारा लिखे बिना अपडेट छोड़ दिया जाता है।जब संग्रहित अखंडता हैश मौजूद हो और प्राप्त आर्टिफ़ैक्ट हैश बदल जाए, तो OpenClaw इसे npm आर्टिफ़ैक्ट विचलन मानता है। इंटरैक्टिव openclaw plugins update कमांड अपेक्षित और वास्तविक हैश प्रिंट करता है और आगे बढ़ने से पहले पुष्टि माँगता है। गैर-इंटरैक्टिव अपडेट सहायक तब तक बंद रहते हुए विफल होते हैं, जब तक कॉलर स्पष्ट निरंतरता नीति प्रदान न करे।
संगतता के लिए --dangerously-force-unsafe-install, plugins update पर भी स्वीकार किया जाता है, लेकिन यह बहिष्कृत है और अब plugin अपडेट व्यवहार नहीं बदलता। ऑपरेटर security.installPolicy अब भी अपडेट अवरुद्ध कर सकता है; plugin before_install हुक केवल उन्हीं प्रक्रियाओं में लागू होते हैं जहाँ plugin हुक लोड किए गए हों।
समुदाय के ClawHub-समर्थित plugin अपडेट प्रतिस्थापन पैकेज डाउनलोड करने से पहले स्थापनाओं जैसी ही सटीक-रिलीज़ विश्वास जाँच चलाते हैं। समीक्षा किए गए स्वचालन के लिए --acknowledge-clawhub-risk का उपयोग करें, जिसे चयनित ClawHub रिलीज़ में जोखिमपूर्ण विश्वास चेतावनी होने पर भी जारी रहना चाहिए। आधिकारिक ClawHub पैकेज और बंडल OpenClaw plugin स्रोत इस रिलीज़-विश्वास संकेत को बायपास करते हैं।

निरीक्षण

डिफ़ॉल्ट रूप से plugin रनटाइम आयात किए बिना निरीक्षण पहचान, लोड स्थिति, स्रोत, मैनिफ़ेस्ट क्षमताएँ, नीति फ़्लैग, निदान, स्थापना मेटाडेटा, बंडल क्षमताएँ और किसी भी पहचाने गए MCP या LSP सर्वर समर्थन को दिखाता है। JSON आउटपुट में contracts.agentToolResultMiddleware और contracts.trustedToolPolicies जैसे plugin मैनिफ़ेस्ट अनुबंध शामिल होते हैं, जिससे ऑपरेटर किसी plugin को सक्षम या पुनः आरंभ करने से पहले विश्वसनीय-सतह घोषणाओं का ऑडिट कर सकते हैं। plugin मॉड्यूल लोड करने और पंजीकृत हुक, टूल, कमांड, सेवाएँ, gateway विधियाँ और HTTP रूट शामिल करने के लिए --runtime जोड़ें। रनटाइम निरीक्षण अनुपलब्ध plugin निर्भरताओं की सीधे रिपोर्ट करता है; स्थापनाएँ और मरम्मत openclaw plugins install, openclaw plugins update और openclaw doctor --fix में रहती हैं। Plugin-स्वामित्व वाले CLI कमांड सामान्यतः रूट openclaw कमांड समूहों के रूप में स्थापित होते हैं, लेकिन plugins किसी मुख्य पैरेंट, जैसे openclaw nodes, के अंतर्गत नेस्टेड कमांड भी पंजीकृत कर सकते हैं। जब inspect --runtime, cliCommands के अंतर्गत कोई कमांड दिखाए, तो उसे सूचीबद्ध पथ पर चलाएँ; उदाहरण के लिए, demo-git पंजीकृत करने वाले plugin को openclaw demo-git ping से सत्यापित किया जा सकता है। प्रत्येक plugin को इस आधार पर वर्गीकृत किया जाता है कि वह वास्तव में रनटाइम पर क्या पंजीकृत करता है: क्षमता मॉडल के बारे में अधिक जानकारी के लिए Plugin आकार देखें।
--json फ़्लैग स्क्रिप्टिंग और ऑडिटिंग के लिए उपयुक्त मशीन-पठनीय रिपोर्ट आउटपुट करता है। inspect --all आकार, क्षमता प्रकार, संगतता सूचनाएँ, बंडल क्षमताएँ और हुक सारांश कॉलम वाली पूरे समूह की तालिका रेंडर करता है। info, inspect का उपनाम है।

Doctor

doctor Plugin लोड त्रुटियों, मैनिफ़ेस्ट/डिस्कवरी निदान, संगतता सूचनाओं और अनुपलब्ध Plugin स्लॉट जैसे पुराने Plugin कॉन्फ़िगरेशन संदर्भों की रिपोर्ट करता है। जब इंस्टॉल ट्री और Plugin कॉन्फ़िगरेशन साफ़ होते हैं, तो यह No plugin issues detected. प्रिंट करता है। यदि पुराना कॉन्फ़िगरेशन शेष है लेकिन इंस्टॉल ट्री अन्यथा स्वस्थ है, तो सारांश पूर्ण Plugin स्वास्थ्य का संकेत देने के बजाय यही बताता है। यदि कोई कॉन्फ़िगर किया गया Plugin डिस्क पर मौजूद है लेकिन लोडर की पथ-सुरक्षा जाँचों द्वारा अवरुद्ध है, तो कॉन्फ़िगरेशन सत्यापन Plugin प्रविष्टि को बनाए रखता है और उसे present but blocked के रूप में रिपोर्ट करता है। plugins.entries.<id> या plugins.allow कॉन्फ़िगरेशन हटाने के बजाय, इससे पहले दिए गए अवरुद्ध-Plugin निदान को ठीक करें, जैसे पथ का स्वामित्व या सभी के लिए लिखने योग्य अनुमतियाँ। अनुपलब्ध register/activate एक्सपोर्ट जैसी मॉड्यूल-आकार विफलताओं के लिए, निदान आउटपुट में एक्सपोर्ट-आकार का संक्षिप्त सारांश शामिल करने हेतु OPENCLAW_PLUGIN_LOAD_DEBUG=1 के साथ फिर से चलाएँ।

रजिस्ट्री

स्थानीय Plugin रजिस्ट्री, इंस्टॉल किए गए Plugin की पहचान, सक्षमता, स्रोत मेटाडेटा और योगदान स्वामित्व के लिए OpenClaw का स्थायी कोल्ड-रीड मॉडल है। सामान्य स्टार्टअप, प्रोवाइडर स्वामी लुकअप, चैनल सेटअप वर्गीकरण और Plugin इन्वेंट्री, Plugin रनटाइम मॉड्यूल आयात किए बिना इसे पढ़ सकते हैं। यह जाँचने के लिए plugins registry का उपयोग करें कि स्थायी रजिस्ट्री मौजूद, वर्तमान या पुरानी है। स्थायी Plugin इंडेक्स, कॉन्फ़िगरेशन नीति और मैनिफ़ेस्ट/पैकेज मेटाडेटा से इसे फिर से बनाने के लिए --refresh का उपयोग करें। यह सुधार पथ है, रनटाइम सक्रियण पथ नहीं। openclaw doctor --fix रजिस्ट्री से संबंधित प्रबंधित npm विचलन को भी ठीक करता है। यदि किसी प्रबंधित Plugin npm प्रोजेक्ट या पुराने फ़्लैट प्रबंधित npm रूट के अंतर्गत कोई अनाथ या पुनर्प्राप्त @openclaw/* पैकेज किसी बंडल किए गए Plugin को ओझल करता है, तो Doctor उस पुराने पैकेज को हटा देता है और रजिस्ट्री को फिर से बनाता है, ताकि स्टार्टअप बंडल किए गए मैनिफ़ेस्ट के विरुद्ध सत्यापन करे। जब कोई आधिकारिक इंस्टॉल रिकॉर्ड एक प्रबंधित जेनरेशन चुनता है लेकिन पुरानी फ़्लैट या जेनरेशन डायरेक्टरियाँ शेष रहती हैं, तो Doctor Gateway के पुनः आरंभ होने के बाद छँटाई के लिए उन पुराने ट्री को निष्क्रिय कर देता है। Doctor होस्ट के openclaw पैकेज को उन प्रबंधित npm Plugin में फिर से लिंक भी करता है जो peerDependencies.openclaw घोषित करते हैं, ताकि अपडेट या npm सुधारों के बाद openclaw/plugin-sdk/* जैसे पैकेज-स्थानीय रनटाइम आयात रिज़ॉल्व हो सकें।

मार्केटप्लेस

plugins marketplace entries कॉन्फ़िगर किए गए OpenClaw मार्केटप्लेस फ़ीड की प्रविष्टियाँ सूचीबद्ध करता है। डिफ़ॉल्ट रूप से यह होस्ट किए गए फ़ीड का प्रयास करता है और विफल होने पर नवीनतम स्वीकृत स्नैपशॉट या बंडल किए गए डेटा का उपयोग करता है। किसी विशिष्ट कॉन्फ़िगर की गई प्रोफ़ाइल को पढ़ने के लिए --feed-profile <name>, स्पष्ट होस्ट किए गए फ़ीड URL को पढ़ने के लिए --feed-url <url> और फ़ीड फ़ेच किए बिना नवीनतम स्वीकृत स्नैपशॉट पढ़ने के लिए --offline का उपयोग करें। plugins marketplace refresh कॉन्फ़िगर किए गए होस्टेड फ़ीड स्नैपशॉट को रीफ़्रेश करता है और रिपोर्ट करता है कि OpenClaw ने होस्टेड डेटा, होस्टेड स्नैपशॉट या बंडल किया गया फ़ॉलबैक डेटा स्वीकार किया। जब किसी कॉलर को कमांड तब तक विफल करना हो जब तक कोई नया होस्टेड पेलोड पिन किए गए चेकसम से मेल न खाए, तब --expected-sha256 का उपयोग करें। मार्केटप्लेस list किसी स्थानीय मार्केटप्लेस पथ, किसी marketplace.json पथ, owner/repo जैसे GitHub शॉर्टहैंड, GitHub रिपॉज़िटरी URL या git URL को स्वीकार करता है। --json रिज़ॉल्व किया गया स्रोत लेबल तथा पार्स किया गया मार्केटप्लेस मैनिफ़ेस्ट और Plugin प्रविष्टियाँ प्रिंट करता है। मार्केटप्लेस रीफ़्रेश, होस्ट किया गया OpenClaw मार्केटप्लेस फ़ीड लोड करता है और सत्यापित प्रतिक्रिया को स्थानीय होस्टेड-फ़ीड स्नैपशॉट के रूप में स्थायी बनाता है। विकल्पों के बिना, यह कॉन्फ़िगर की गई डिफ़ॉल्ट फ़ीड प्रोफ़ाइल का उपयोग करता है। किसी विशिष्ट कॉन्फ़िगर की गई प्रोफ़ाइल को रीफ़्रेश करने के लिए --feed-profile <name>, किसी स्पष्ट होस्टेड फ़ीड URL को रीफ़्रेश करने के लिए --feed-url <url>, मेल खाने वाला पेलोड चेकसम आवश्यक करने के लिए --expected-sha256 <sha256> (sha256:<hex> या केवल 64-वर्णीय हेक्स डाइजेस्ट), और मशीन-पठनीय आउटपुट के लिए --json का उपयोग करें। स्पष्ट होस्टेड फ़ीड URL में क्रेडेंशियल, क्वेरी स्ट्रिंग या फ़्रैगमेंट शामिल नहीं होने चाहिए। बिना पिन किए गए रीफ़्रेश, कमांड को विफल किए बिना होस्टेड स्नैपशॉट या बंडल किए गए फ़ॉलबैक परिणाम की रिपोर्ट कर सकते हैं। पिन किए गए रीफ़्रेश तब तक विफल होते हैं जब तक वे कोई नया होस्टेड पेलोड स्वीकार नहीं करते, और सफल होस्टेड रीफ़्रेश भी तब विफल होते हैं जब OpenClaw सत्यापित स्नैपशॉट को स्थायी नहीं बना पाता। अंतर्निहित clawhub-public प्रोफ़ाइल पेलोड पहचान clawhub-official की अपेक्षा करती है। ClawHub द्वारा अपनी प्रोडक्शन सार्वजनिक कुंजी जनरेट करके सौंपने के बाद OpenClaw उसे बंडल करेगा। तब तक, अंतर्निहित प्रोफ़ाइल हस्ताक्षरित-फ़ीड इंस्टॉल प्राधिकरण प्रदान नहीं करती। सार्वजनिक कुंजियाँ किसी विश्वसनीय रिलीज़ या ऑपरेटर चैनल से आनी चाहिए, न कि फ़ीड होस्ट के किसी कुंजी एंडपॉइंट से। OpenClaw DSSE एनवेलप को सत्यापित करता है और जब कोई प्रोफ़ाइल feedId घोषित करती है, तो डीकोड की गई पेलोड ID का उससे मेल खाना आवश्यक करता है। अंतर्निहित clawhub-public प्रोफ़ाइल हमेशा अपनी पहचान घोषित करती है, जिससे किसी अन्य फ़ीड के वैध दस्तावेज़ को उस प्रोफ़ाइल के माध्यम से दोबारा चलाने से रोका जाता है। चरणबद्ध रोलआउट के दौरान, feedId को छोड़ने वाली मौजूदा कस्टम हस्ताक्षरित प्रोफ़ाइल पेलोड-पहचान बाइंडिंग के बिना हस्ताक्षर सत्यापन बनाए रखती हैं। नई कस्टम प्रोफ़ाइल को feedId घोषित करना चाहिए। फ़ीड-प्रोफ़ाइल कॉन्फ़िगरेशन सतह, Control UI के लिए आवश्यक प्रस्तुति मेटाडेटा के साथ अलग से आ रही है; इसके Doctor निदान को ऑपरेटर से अनुपलब्ध पहचान देने के लिए कहना चाहिए और फ़ीड URL से उसका अनुमान कभी नहीं लगाना चाहिए। यह विश्वास बाइंडिंग हटाई गई रूट marketplaces कुंजी को पुनर्स्थापित नहीं करती।

संबंधित