Plugin सत्यापन सुधार
ClawHub प्रकाशित करने से पहले Plugin पैकेजों को सत्यापित करता है और स्वचालित पैकेज स्कैन से मिले निष्कर्ष भी दिखा सकता है। यह पृष्ठ लेखक-संबंधी निष्कर्षों को शामिल करता है, यानी ऐसे निष्कर्ष जिन्हें Plugin लेखक अपने पैकेज मेटाडेटा, मैनिफ़ेस्ट, SDK इम्पोर्ट या प्रकाशित आर्टिफ़ैक्ट में ठीक कर सकता है। यह आंतरिक Plugin Inspector कवरेज निष्कर्षों को शामिल नहीं करता। यदि किसी पूर्ण रिपोर्ट में लेखक के लिए सुधार मार्गदर्शन के बिना स्कैनर रखरखाव कोड हों, तो वे Plugin लेखकों के बजाय OpenClaw अनुरक्षकों के लिए हैं। कोई भी सुधार लागू करने के बाद, इसे फिर से चलाएँ:लेखक-संबंधी निष्कर्ष
पैकेज मेटाडेटा
package-json-missing
पैकेज रूट मेंpackage.json शामिल नहीं है, इसलिए ClawHub npm पैकेज, संस्करण, एंट्रीपॉइंट या OpenClaw मेटाडेटा की पहचान नहीं कर सकता।
name,versionऔरtypeके साथpackage.jsonजोड़ें।- जब पैकेज में OpenClaw Plugin शामिल हो, तो
openclawब्लॉक जोड़ें। - न्यूनतम पैकेज उदाहरण के लिए Plugin बनाना और पैकेज तथा मैनिफ़ेस्ट के विभाजन के लिए Plugin मैनिफ़ेस्ट का उपयोग करें।
clawhub package validate <path-to-plugin>फिर से चलाएँ।
package-openclaw-metadata-missing
पैकेज मेंpackage.json है, लेकिन यह OpenClaw पैकेज मेटाडेटा घोषित नहीं करता।
package.json#openclawजोड़ें।openclaw.extensionsयाopenclaw.runtimeExtensionsजैसे एंट्रीपॉइंट मेटाडेटा शामिल करें।- जब पैकेज ClawHub के माध्यम से प्रकाशित या इंस्टॉल किया जाएगा, तब संगतता और इंस्टॉल मेटाडेटा जोड़ें।
- डिस्कवरी को प्रभावित करने वाले package.json फ़ील्ड देखें।
clawhub package validate <path-to-plugin>फिर से चलाएँ।
package-openclaw-entry-missing
पैकेज मेटाडेटा मौजूद है, लेकिन यह OpenClaw रनटाइम एंट्रीपॉइंट घोषित नहीं करता।- नेटिव Plugin एंट्रीपॉइंट के लिए
openclaw.extensionsजोड़ें। - जब प्रकाशित पैकेज को निर्मित JavaScript लोड करना हो, तब
openclaw.runtimeExtensionsजोड़ें। - सभी एंट्रीपॉइंट पथों को पैकेज डायरेक्टरी के अंदर रखें।
- Plugin एंट्री पॉइंट और डिस्कवरी को प्रभावित करने वाले package.json फ़ील्ड देखें।
clawhub package validate <path-to-plugin>फिर से चलाएँ।
package-entrypoint-missing
पैकेज एक OpenClaw एंट्रीपॉइंट घोषित करता है, लेकिन संदर्भित फ़ाइल सत्यापित किए जा रहे पैकेज में मौजूद नहीं है।openclaw.extensions,openclaw.runtimeExtensions,openclaw.setupEntryऔरopenclaw.runtimeSetupEntryमें प्रत्येक पथ जाँचें।- यदि एंट्रीपॉइंट
distमें जनरेट होता है, तो पैकेज बिल्ड करें। - यदि एंट्रीपॉइंट स्थानांतरित हो गया है, तो मेटाडेटा अपडेट करें।
- Plugin एंट्री पॉइंट देखें।
clawhub package validate <path-to-plugin>फिर से चलाएँ।
package-install-metadata-incomplete
ClawHub यह निर्धारित नहीं कर सकता कि पैकेज को कैसे इंस्टॉल या अपडेट किया जाना चाहिए।openclaw.installको समर्थित इंस्टॉल स्रोत, जैसेclawhubSpec,npmSpecयाlocalPath, से भरें।- एक से अधिक इंस्टॉल स्रोत उपलब्ध होने पर
openclaw.install.defaultChoiceसेट करें। - न्यूनतम OpenClaw होस्ट संस्करण के लिए
openclaw.install.minHostVersionका उपयोग करें। - डिस्कवरी को प्रभावित करने वाले package.json फ़ील्ड देखें।
clawhub package validate <path-to-plugin>फिर से चलाएँ।
package-plugin-api-compat-missing
पैकेज अपने द्वारा समर्थित OpenClaw Plugin API सीमा घोषित नहीं करता।package.jsonमेंopenclaw.compat.pluginApiजोड़ें।- उस OpenClaw Plugin API संस्करण या semver न्यूनतम सीमा का उपयोग करें जिसके विरुद्ध आपने इसे बिल्ड और परीक्षण किया है।
- इसे पैकेज संस्करण से अलग रखें। पैकेज संस्करण Plugin रिलीज़ का वर्णन करता है;
openclaw.compat.pluginApiहोस्ट API अनुबंध का वर्णन करता है। - डिस्कवरी को प्रभावित करने वाले package.json फ़ील्ड देखें।
clawhub package validate <path-to-plugin>फिर से चलाएँ।
package-min-host-version-drift
पैकेज का न्यूनतम होस्ट संस्करण उस OpenClaw संस्करण मेटाडेटा से मेल नहीं खाता जिसके विरुद्ध पैकेज बिल्ड किया गया था।openclaw.install.minHostVersionजाँचें।- पैकेज में किसी भी OpenClaw बिल्ड मेटाडेटा की जाँच करें, जैसे रिलीज़ के दौरान उपयोग किया गया OpenClaw संस्करण।
- न्यूनतम होस्ट संस्करण को उस होस्ट संस्करण सीमा के साथ संरेखित करें जिसका पैकेज वास्तव में समर्थन करता है।
- डिस्कवरी को प्रभावित करने वाले package.json फ़ील्ड देखें।
clawhub package validate <path-to-plugin>फिर से चलाएँ।
package-manifest-version-drift
पैकेज संस्करण और Plugin मैनिफ़ेस्ट संस्करण मेल नहीं खाते।- पैकेज रिलीज़ संस्करण के रूप में
package.json#versionको प्राथमिकता दें। - यदि
openclaw.plugin.jsonमेंversionभी है, तो मिलान के लिए उसे अपडेट करें या जब पैकेज मेटाडेटा प्रामाणिक हो तब पुराने मैनिफ़ेस्ट संस्करण मेटाडेटा को हटा दें। - प्रकाशित मेटाडेटा बदलने के बाद पैकेज का नया संस्करण प्रकाशित करें।
- Plugin मैनिफ़ेस्ट देखें।
clawhub package validate <path-to-plugin>फिर से चलाएँ।
package-openclaw-unsupported-metadata
package.json#openclaw ब्लॉक में ऐसे फ़ील्ड हैं जो OpenClaw पैकेज मेटाडेटा के रूप में समर्थित नहीं हैं।
openclaw.bundleजैसे असमर्थित फ़ील्ड हटाएँ।- नेटिव Plugin मेटाडेटा को
openclaw.plugin.jsonमें रखें। - पैकेज एंट्रीपॉइंट, संगतता, इंस्टॉल, सेटअप और कैटलॉग मेटाडेटा को समर्थित
package.json#openclawफ़ील्ड में रखें। - डिस्कवरी को प्रभावित करने वाले package.json फ़ील्ड देखें।
clawhub package validate <path-to-plugin>फिर से चलाएँ।
प्रकाशित आर्टिफ़ैक्ट
package-npm-pack-unavailable
पैकेज को उस आर्टिफ़ैक्ट में पैक नहीं किया जा सकता जिसका ClawHub निरीक्षण या प्रकाशन करेगा।- पैकेज रूट से
npm pack --dry-runचलाएँ। - अमान्य पैकेज मेटाडेटा, खराब लाइफ़साइकल स्क्रिप्ट या पैकिंग को विफल करने वाली फ़ाइल प्रविष्टियाँ ठीक करें।
- यदि यह पैकेज सार्वजनिक प्रकाशन के लिए है, तो
private: trueहटाएँ। clawhub package validate <path-to-plugin>फिर से चलाएँ।
package-npm-pack-entrypoint-missing
पैकेज को पैक किया जा सकता है, लेकिन पैक किए गए आर्टिफ़ैक्ट मेंpackage.json#openclaw में घोषित एंट्रीपॉइंट फ़ाइलें शामिल नहीं हैं।
npm pack --dry-runचलाएँ और शामिल की जाने वाली फ़ाइलों का निरीक्षण करें।- पैकिंग से पहले जनरेट किए गए एंट्रीपॉइंट बिल्ड करें।
files,.npmignoreया बिल्ड आउटपुट को अपडेट करें ताकि घोषित एंट्रीपॉइंट शामिल हों।- Plugin एंट्री पॉइंट देखें।
clawhub package validate <path-to-plugin>फिर से चलाएँ।
package-npm-pack-metadata-missing
पैक किए गए आर्टिफ़ैक्ट में वह OpenClaw मेटाडेटा मौजूद नहीं है जो आपके स्रोत पैकेज में मौजूद है।npm pack --dry-runचलाएँ और शामिल मेटाडेटा फ़ाइलों का निरीक्षण करें।- सुनिश्चित करें कि पैक किए गए आर्टिफ़ैक्ट में
package.jsonकाopenclawब्लॉक शामिल है। - जब पैकेज एक नेटिव
OpenClaw Plugin हो, तो सुनिश्चित करें कि
openclaw.plugin.jsonशामिल है। filesया.npmignoreको अपडेट करें, ताकि पैकेज मेटाडेटा को बाहर न रखा जाए।- Plugin बनाना देखें।
clawhub package validate <path-to-plugin>फिर से चलाएँ।
मैनिफ़ेस्ट मेटाडेटा
manifest-name-missing
नेटिव Plugin मैनिफ़ेस्ट में प्रदर्शन नाम शामिल नहीं है।openclaw.plugin.jsonमें एक गैर-रिक्तnameफ़ील्ड जोड़ें।nameको मानव-पठनीय औरidको स्थिर मशीन आईडी के रूप में रखें।- Plugin मैनिफ़ेस्ट देखें।
clawhub package validate <path-to-plugin>फिर से चलाएँ।
manifest-unknown-fields
Plugin मैनिफ़ेस्ट में ऐसे शीर्ष-स्तरीय फ़ील्ड हैं जिनका OpenClaw समर्थन नहीं करता।- प्रत्येक शीर्ष-स्तरीय फ़ील्ड की तुलना मैनिफ़ेस्ट फ़ील्ड संदर्भ से करें।
openclaw.plugin.jsonसे कस्टम फ़ील्ड हटाएँ।- पैकेज या इंस्टॉल मेटाडेटा को मैनिफ़ेस्ट के बजाय समर्थित
package.json#openclawफ़ील्ड में ले जाएँ। clawhub package validate <path-to-plugin>फिर से चलाएँ।
manifest-unknown-contracts
मैनिफ़ेस्टcontracts के भीतर असमर्थित कुंजियाँ घोषित करता है।
contractsके अंतर्गत प्रत्येक कुंजी की तुलना कॉन्ट्रैक्ट संदर्भ से करें।- असमर्थित कॉन्ट्रैक्ट कुंजियाँ हटाएँ।
- रनटाइम व्यवहार को Plugin पंजीकरण कोड में ले जाएँ और
contractsको केवल स्थिर क्षमता स्वामित्व मेटाडेटा तक सीमित रखें। clawhub package validate <path-to-plugin>फिर से चलाएँ।
SDK और संगतता माइग्रेशन
legacy-root-sdk-import
Plugin अप्रचलित रूट SDK बैरल से आयात करता है:openclaw/plugin-sdk।
- रूट-बैरल आयातों को केंद्रित सार्वजनिक सबपाथ आयातों से बदलें।
definePluginEntryके लिएopenclaw/plugin-sdk/plugin-entryका उपयोग करें।- चैनल एंट्री सहायकों के लिए
openclaw/plugin-sdk/channel-coreका उपयोग करें। - संकीर्ण आयात खोजने के लिए आयात परंपराएँ और Plugin SDK सबपाथ का उपयोग करें।
clawhub package validate <path-to-plugin>फिर से चलाएँ।
reserved-sdk-import
Plugin बंडल किए गए Plugin या आंतरिक संगतता के लिए आरक्षित SDK पाथ से आयात करता है।- आरक्षित OpenClaw आंतरिक SDK आयातों को प्रलेखित सार्वजनिक
openclaw/plugin-sdk/*सबपाथ से बदलें। - यदि व्यवहार के लिए कोई सार्वजनिक SDK नहीं है, तो सहायक को अपने पैकेज में रखें या सार्वजनिक OpenClaw API का अनुरोध करें।
- समर्थित आयात चुनने के लिए Plugin SDK सबपाथ और SDK माइग्रेशन का उपयोग करें।
clawhub package validate <path-to-plugin>फिर से चलाएँ।
sdk-load-session-store
Plugin अब भी अप्रचलित संपूर्ण-सेशन-स्टोर सहायकloadSessionStore का उपयोग करता है।
- सेशन स्थिति पढ़ते समय
getSessionEntry(...)याlistSessionEntries(...)का उपयोग करें। - सेशन स्थिति लिखते समय
patchSessionEntry(...)याupsertSessionEntry(...)का उपयोग करें। - संपूर्ण सेशन स्टोर ऑब्जेक्ट को लोड करने, बदलने और सहेजने से बचें।
loadSessionStore(...)को केवल तब तक रखें, जब तक आपकी घोषित संगतता सीमा उन पुराने OpenClaw संस्करणों का समर्थन करती है जिन्हें इसकी आवश्यकता है।- रनटाइम API और Plugin SDK सबपाथ देखें।
clawhub package validate <path-to-plugin>फिर से चलाएँ।
sdk-session-store-write
Plugin अब भीsaveSessionStore या updateSessionStore जैसे अप्रचलित संपूर्ण-सेशन-स्टोर लेखन सहायक का
उपयोग करता है।
- मौजूदा सेशन एंट्री में फ़ील्ड अपडेट करते समय
patchSessionEntry(...)का उपयोग करें। - सेशन एंट्री को बदलते या बनाते समय
upsertSessionEntry(...)का उपयोग करें। - संपूर्ण सेशन स्टोर ऑब्जेक्ट को लोड करने, बदलने और सहेजने से बचें।
- संपूर्ण-स्टोर लेखन सहायकों को केवल तब तक रखें, जब तक आपकी घोषित संगतता सीमा उन पुराने OpenClaw संस्करणों का समर्थन करती है जिन्हें उनकी आवश्यकता है।
- रनटाइम API और Plugin SDK सबपाथ देखें।
clawhub package validate <path-to-plugin>फिर से चलाएँ।
sdk-session-file-helper
Plugin अब भीresolveSessionFilePath या resolveAndPersistSessionFile जैसे अप्रचलित सेशन फ़ाइल-पाथ सहायकों का
उपयोग करता है।
- एजेंट और सेशन पहचान के आधार पर सेशन मेटाडेटा पढ़ने के लिए
getSessionEntry(...)का उपयोग करें। - सेशन मेटाडेटा को स्थायी रूप से सहेजने के लिए
patchSessionEntry(...)याupsertSessionEntry(...)का उपयोग करें। - जब कोड ट्रांस्क्रिप्ट ऑपरेशन तैयार कर रहा हो, तो ट्रांस्क्रिप्ट पहचान या लक्ष्य सहायकों का उपयोग करें।
- लेगेसी ट्रांस्क्रिप्ट फ़ाइल पाथ को स्थायी रूप से न सहेजें और न ही उन पर निर्भर रहें।
- रनटाइम API और Plugin SDK सबपाथ देखें।
clawhub package validate <path-to-plugin>फिर से चलाएँ।
sdk-session-transcript-file-target
Plugin अब भी अप्रचलित ट्रांस्क्रिप्ट फ़ाइल लक्ष्य सहायकresolveSessionTranscriptLegacyFileTarget का उपयोग करता है।
- जब कोड को केवल सार्वजनिक सेशन पहचान की आवश्यकता हो, तो
resolveSessionTranscriptIdentity(...)का उपयोग करें। - जब कोड को संरचित ट्रांस्क्रिप्ट ऑपरेशन लक्ष्य की आवश्यकता हो, तो
resolveSessionTranscriptTarget(...)का उपयोग करें। - लेगेसी ट्रांस्क्रिप्ट फ़ाइल लक्ष्यों को सीधे पढ़ने या बनाने से बचें।
- लेगेसी सहायक को केवल तब तक रखें, जब तक आपकी घोषित संगतता सीमा उन पुराने OpenClaw संस्करणों का समर्थन करती है जिन्हें इसकी आवश्यकता है।
- रनटाइम API और Plugin SDK सबपाथ देखें।
clawhub package validate <path-to-plugin>फिर से चलाएँ।
sdk-session-transcript-low-level
Plugin अब भीappendSessionTranscriptMessage या emitSessionTranscriptUpdate जैसे अप्रचलित निम्न-स्तरीय ट्रांस्क्रिप्ट सहायकों का
उपयोग करता है।
- ट्रांस्क्रिप्ट में जोड़ने के लिए
appendSessionTranscriptMessageByIdentity(...)का उपयोग करें। - ट्रांस्क्रिप्ट अपडेट सूचनाओं के लिए
publishSessionTranscriptUpdateByIdentity(...)का उपयोग करें। - संरचित ट्रांस्क्रिप्ट रनटाइम सतह को प्राथमिकता दें, ताकि OpenClaw सही ट्रांज़ैक्शन सीमाएँ और पहचान प्रबंधन लागू कर सके।
- निम्न-स्तरीय ट्रांस्क्रिप्ट सहायकों को केवल तब तक रखें, जब तक आपकी घोषित संगतता सीमा उन पुराने OpenClaw संस्करणों का समर्थन करती है जिन्हें उनकी आवश्यकता है।
- रनटाइम API और Plugin SDK सबपाथ देखें।
clawhub package validate <path-to-plugin>फिर से चलाएँ।
legacy-before-agent-start
Plugin अब भी लेगेसीbefore_agent_start हुक का उपयोग करता है।
- मॉडल या प्रदाता ओवरराइड कार्य को
before_model_resolveमें ले जाएँ। - प्रॉम्प्ट या कॉन्टेक्स्ट परिवर्तन कार्य को
before_prompt_buildमें ले जाएँ। before_agent_startको केवल तब तक रखें, जब तक आपकी घोषित संगतता सीमा उन पुराने OpenClaw संस्करणों का समर्थन करती है जिन्हें इसकी आवश्यकता है।- हुक और Plugin संगतता देखें।
clawhub package validate <path-to-plugin>फिर से चलाएँ।
provider-auth-env-vars
मैनिफ़ेस्ट अब भी लेगेसीproviderAuthEnvVars प्रदाता प्रमाणीकरण मेटाडेटा का उपयोग करता है।
- प्रदाता एनवायरनमेंट-वेरिएबल मेटाडेटा को
setup.providers[].envVarsमें प्रतिबिंबित करें। providerAuthEnvVarsको केवल संगतता मेटाडेटा के रूप में तब तक रखें, जब तक आपकी समर्थित OpenClaw सीमा को इसकी आवश्यकता है।- सेटअप संदर्भ और SDK माइग्रेशन देखें।
clawhub package validate <path-to-plugin>फिर से चलाएँ।
channel-env-vars
मैनिफ़ेस्ट वर्तमान सेटअप या कॉन्फ़िग मेटाडेटा के बिना लेगेसी या पुराने चैनल एनवायरनमेंट-वेरिएबल मेटाडेटा का उपयोग करता है, जिसकी ClawHub अपेक्षा करता है।- चैनल एनवायरनमेंट-वेरिएबल मेटाडेटा को घोषणात्मक रखें, ताकि OpenClaw चैनल रनटाइम लोड किए बिना सेटअप स्थिति का निरीक्षण कर सके।
- एनवायरनमेंट द्वारा संचालित चैनल सेटअप को आपके Plugin स्वरूप द्वारा उपयोग किए जाने वाले वर्तमान सेटअप, चैनल कॉन्फ़िग या पैकेज चैनल मेटाडेटा में प्रतिबिंबित करें।
channelEnvVarsको केवल संगतता मेटाडेटा के रूप में तब तक रखें, जब तक पुराने समर्थित OpenClaw संस्करणों को इसकी आवश्यकता है।- Plugin मैनिफ़ेस्ट और चैनल Plugin देखें।
clawhub package validate <path-to-plugin>फिर से चलाएँ।
सुरक्षा मैनिफ़ेस्ट
security-manifest-schema-unavailable
पैकेजopenclaw.security.json को ऐसे स्कीमा संदर्भ के साथ वितरित करता है जिसे ClawHub
उपलब्ध के रूप में नहीं पहचानता।
- यदि स्कीमा URL केवल सलाहकारी है, तो उसे हटाएँ।
- किसी प्रलेखित संस्करणयुक्त स्कीमा का उपयोग केवल OpenClaw द्वारा उसे प्रकाशित किए जाने के बाद करें।
clawhub package validate <path-to-plugin>फिर से चलाएँ।
unrecognized-security-manifest
पैकेज एक असमर्थित सुरक्षा मैनिफ़ेस्ट फ़ाइल वितरित करता है।openclaw.security.jsonको तब तक हटाएँ, जब तक OpenClaw किसी संस्करणयुक्त सुरक्षा मैनिफ़ेस्ट स्कीमा और ClawHub व्यवहार का दस्तावेज़ीकरण नहीं करता।- मैनिफ़ेस्ट कॉन्ट्रैक्ट उपलब्ध होने तक सुरक्षा-संवेदनशील व्यवहार को अपने सार्वजनिक पैकेज दस्तावेज़ों या README में प्रलेखित रखें।
clawhub package validate <path-to-plugin>फिर से चलाएँ।