Skip to main content

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 रनटाइम एंट्रीपॉइंट घोषित नहीं करता।

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> फिर से चलाएँ।

संबंधित