---
read_when:
    - आप Gateway plugins या संगत बंडलों को इंस्टॉल या प्रबंधित करना चाहते हैं
    - आप एक सरल टूल Plugin की आधारभूत संरचना बनाना या उसे सत्यापित करना चाहते हैं
    - आप Plugin लोड होने में विफलताओं को डीबग करना चाहते हैं
sidebarTitle: Plugins
summary: '`openclaw plugins` के लिए CLI संदर्भ (आरंभ करना, बिल्ड करना, सत्यापित करना, सूचीबद्ध करना, इंस्टॉल करना, मार्केटप्लेस, अनइंस्टॉल करना, सक्षम/अक्षम करना, डॉक्टर)'
title: Plugins
x-i18n:
    generated_at: "2026-07-27T20:39:56Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: a1acba76fb1bc0ddae75e51fe573d3c2ac8f694607836e0c072ec7ca8fc0e262
    source_path: cli/plugins.md
    workflow: 16
---

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

<CardGroup cols={2}>
  <Card title="Plugin प्रणाली" href="/hi/tools/plugin">
    plugins को इंस्टॉल, सक्षम करने और उनकी समस्याओं का निवारण करने के लिए अंतिम-उपयोगकर्ता मार्गदर्शिका।
  </Card>
  <Card title="plugins प्रबंधित करें" href="/hi/plugins/manage-plugins">
    इंस्टॉल करने, सूची देखने, अपडेट करने, अनइंस्टॉल करने और प्रकाशित करने के त्वरित उदाहरण।
  </Card>
  <Card title="Plugin बंडल" href="/hi/plugins/bundles">
    बंडल संगतता मॉडल।
  </Card>
  <Card title="Plugin मैनिफ़ेस्ट" href="/hi/plugins/manifest">
    मैनिफ़ेस्ट फ़ील्ड और कॉन्फ़िग स्कीमा।
  </Card>
  <Card title="सुरक्षा" href="/hi/gateway/security">
    Plugin इंस्टॉलेशन के लिए सुरक्षा सुदृढ़ीकरण।
  </Card>
</CardGroup>

## कमांड

```bash
openclaw plugins list [--enabled] [--verbose] [--json]
openclaw plugins search <query> [--limit <n>] [--json]
openclaw plugins install <path-or-spec> [--link] [--force] [--pin] [--marketplace <source>]
openclaw plugins inspect <id> [--runtime] [--json]
openclaw plugins inspect --all [--runtime] [--json]
openclaw plugins info <id>                    # inspect का उपनाम
openclaw plugins enable <id>
openclaw plugins disable <id>
openclaw plugins uninstall <id> [--dry-run] [--keep-files] [--force]
openclaw plugins update <id-or-npm-spec> | --all [--dry-run]
openclaw plugins registry [--refresh] [--json]
openclaw plugins doctor
openclaw plugins init <id> [--name <name>] [--type tool|provider] [--directory <path>]
openclaw plugins build [--entry <path>] [--check]
openclaw plugins validate [--entry <path>]
openclaw plugins marketplace entries [--offline] [--feed-profile <name>] [--json]
openclaw plugins marketplace list <source> [--json]
openclaw plugins marketplace refresh [--feed-profile <name>] [--expected-sha256 <sha256>] [--json]
```

धीमे इंस्टॉलेशन, निरीक्षण, अनइंस्टॉलेशन या रजिस्ट्री-रीफ़्रेश की जाँच के लिए,
कमांड को `OPENCLAW_PLUGIN_LIFECYCLE_TRACE=1` के साथ चलाएँ। ट्रेस चरणों का समय
stderr में लिखता है और JSON आउटपुट को पार्स करने योग्य रखता है। [डीबगिंग](/hi/help/debugging#plugin-lifecycle-trace) देखें।

<Note>
Nix मोड (`OPENCLAW_NIX_MODE=1`) में, `openclaw.json` अपरिवर्तनीय है। `install`, `update`, `uninstall`, `enable` और `disable` सभी चलने से इनकार करते हैं। इसके बजाय इस इंस्टॉलेशन के लिए Nix स्रोत संपादित करें (nix-openclaw के लिए `programs.openclaw.config` या `instances.<name>.config`), फिर पुनः बिल्ड करें। एजेंट-प्रथम [त्वरित शुरुआत](https://github.com/openclaw/nix-openclaw#quick-start) देखें।
</Note>

<Note>
बंडल किए गए plugins OpenClaw के साथ वितरित होते हैं। कुछ डिफ़ॉल्ट रूप से सक्षम होते हैं (उदाहरण के लिए बंडल किए गए मॉडल प्रदाता, बंडल किए गए वाक् प्रदाता और बंडल किया गया ब्राउज़र Plugin); अन्य के लिए `plugins enable` आवश्यक है।

मूल OpenClaw plugins इनलाइन JSON Schema (`configSchema`, खाली होने पर भी) के साथ `openclaw.plugin.json` वितरित करते हैं। संगत बंडल इसके बजाय अपने स्वयं के बंडल मैनिफ़ेस्ट का उपयोग करते हैं।

`plugins list`, `Format: openclaw` या `Format: bundle` दिखाता है। विस्तृत सूची/जानकारी आउटपुट में पहचानी गई बंडल क्षमताओं के साथ बंडल उपप्रकार (`codex`, `claude` या `cursor`) भी दिखता है।
</Note>

## निर्माण

```bash
openclaw plugins init stock-quotes --name "Stock Quotes"
cd stock-quotes
npm run plugin:build
npm run plugin:validate
```

`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](/hi/plugins/tool-plugins) देखें।

स्कैफ़ोल्ड TypeScript स्रोत लिखता है, लेकिन बिल्ड की गई
`./dist/index.js` एंट्री से मेटाडेटा उत्पन्न करता है, इसलिए कार्यप्रवाह प्रकाशित CLI के साथ भी काम करता है। जब
एंट्री डिफ़ॉल्ट पैकेज एंट्री न हो, तब `--entry <path>` का उपयोग करें। फ़ाइलों को
दोबारा लिखे बिना उत्पन्न मेटाडेटा पुराना होने पर विफल होने के लिए CI में
`plugins build --check` का उपयोग करें।

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

```bash
openclaw plugins init acme-models --name "Acme Models" --type provider
cd acme-models
npm install
npm run build
npm test
npm run validate
```

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

प्रकाशित करने से पहले, प्लेसहोल्डर API बेस URL, मॉडल कैटलॉग, दस्तावेज़
रूट, क्रेडेंशियल पाठ और README सामग्री को वास्तविक प्रदाता विवरणों से बदलें। पहली बार
ClawHub पर प्रकाशित करने और विश्वसनीय-प्रकाशक सेटअप के लिए उत्पन्न README का उपयोग करें।

## इंस्टॉल करें

```bash
openclaw plugins search "calendar"                      # ClawHub plugins खोजें
openclaw plugins install @openclaw/<package>            # विश्वसनीय आधिकारिक कैटलॉग
openclaw plugins install <package>                       # मनमाना npm पैकेज
openclaw plugins install clawhub:<package>                # केवल ClawHub
openclaw plugins install npm:<package>                    # केवल npm
openclaw plugins install npm-pack:<path.tgz>               # स्थानीय npm-pack टारबॉल
openclaw plugins install git:github.com/<owner>/<repo>     # git रिपॉज़िटरी
openclaw plugins install git:github.com/<owner>/<repo>@<ref>
openclaw plugins install <path>                            # स्थानीय पथ या आर्काइव
openclaw plugins install -l <path>                         # कॉपी करने के बजाय लिंक करें
openclaw plugins install <plugin>@<marketplace>             # मार्केटप्लेस संक्षिप्त रूप
openclaw plugins install <plugin> --marketplace <name>      # मार्केटप्लेस (स्पष्ट)
openclaw plugins install <package> --force                  # स्रोत की पुष्टि करें / मौजूदा को अधिलेखित करें
openclaw plugins install <package> --pin                    # निर्धारित npm संस्करण पिन करें
openclaw plugins install clawhub:<package> --acknowledge-clawhub-risk
openclaw plugins install <package> --dangerously-force-unsafe-install
```

सेटअप-समय इंस्टॉलेशन का परीक्षण करने वाले अनुरक्षक सुरक्षित पर्यावरण चरों से स्वचालित Plugin इंस्टॉल
स्रोतों को ओवरराइड कर सकते हैं। [Plugin इंस्टॉल ओवरराइड](/hi/plugins/install-overrides)
देखें।

<Warning>
लॉन्च बदलाव के दौरान सामान्य पैकेज नाम डिफ़ॉल्ट रूप से npm से इंस्टॉल होते हैं, जब तक कि वे किसी बंडल किए गए या आधिकारिक Plugin आईडी से मेल न खाते हों; उस स्थिति में OpenClaw npm रजिस्ट्री पर जाने के बजाय उस स्थानीय/आधिकारिक प्रति का उपयोग करता है। जब आप जानबूझकर कोई बाहरी npm पैकेज चाहते हों, तब `npm:<package>` का उपयोग करें। ClawHub के लिए `clawhub:<package>` का उपयोग करें। Plugin इंस्टॉलेशन को कोड चलाने जैसा मानें; पिन किए गए संस्करणों को प्राथमिकता दें।
</Warning>

<Warning>
ClawHub पैकेज और OpenClaw का बंडल किया गया/आधिकारिक कैटलॉग विश्वसनीय इंस्टॉल
स्रोत हैं। कोई नया मनमाना npm, `npm-pack:`, git, स्थानीय पथ/आर्काइव या
मार्केटप्लेस स्रोत चेतावनी देता है और आगे बढ़ने से पहले पूछता है। गैर-संवादात्मक मनमाने
इंस्टॉलेशन में स्रोत की समीक्षा और उस पर भरोसा करने के बाद `--force` देना आवश्यक है। आवश्यकता होने पर यही
फ़्लैग मौजूदा इंस्टॉल लक्ष्य को अधिलेखित करता है। पहले से ट्रैक किए गए इंस्टॉलेशन के
सामान्य अपडेट के लिए इसकी आवश्यकता नहीं है। यह पुष्टि
`--acknowledge-clawhub-risk` से अलग है, जो केवल जोखिमपूर्ण ClawHub रिलीज़ भरोसा
चेतावनियों पर लागू होती है। `--force`, `security.installPolicy` या शेष
इंस्टॉल सुरक्षा जाँचों को बायपास नहीं करता।
</Warning>

`plugins search` इंस्टॉल किए जा सकने वाले `code-plugin` और
`bundle-plugin` पैकेजों के लिए ClawHub से क्वेरी करता है (Skills के लिए नहीं; उनके लिए `openclaw skills search` का उपयोग करें)।
डिफ़ॉल्ट `--limit` 20 है, जिसकी अधिकतम सीमा 100 है। यह केवल दूरस्थ कैटलॉग पढ़ता है: कोई
स्थानीय स्थिति निरीक्षण, कॉन्फ़िग परिवर्तन, पैकेज इंस्टॉलेशन या Plugin रनटाइम
लोड नहीं। परिणामों में ClawHub पैकेज नाम, परिवार, चैनल, संस्करण,
सारांश और `openclaw plugins install clawhub:<package>` जैसा इंस्टॉल संकेत शामिल होता है।

<Note>
अधिकांश plugins के लिए ClawHub प्राथमिक वितरण और खोज माध्यम है। Npm
समर्थित वैकल्पिक और प्रत्यक्ष-इंस्टॉल पथ बना हुआ है। OpenClaw के स्वामित्व वाले
`@openclaw/*` Plugin पैकेज फिर से npm पर प्रकाशित किए जाते हैं; वर्तमान सूची
[npmjs.com/org/openclaw](https://www.npmjs.com/org/openclaw) या
[Plugin सूची](/hi/plugins/plugin-inventory) पर देखें। स्थिर इंस्टॉलेशन `latest` का उपयोग करते हैं।
बीटा-चैनल इंस्टॉलेशन और अपडेट उपलब्ध होने पर npm के `beta` dist-tag को प्राथमिकता देते हैं,
और उपलब्ध न होने पर `latest` का उपयोग करते हैं। विस्तारित-स्थिर चैनल पर, सामान्य/डिफ़ॉल्ट या
`latest` अभिप्राय वाले आधिकारिक npm plugins ठीक इंस्टॉल किए गए कोर
संस्करण पर रिज़ॉल्व होते हैं। सटीक पिन और स्पष्ट गैर-`latest` टैग, तृतीय-पक्ष पैकेज और
गैर-npm स्रोत दोबारा नहीं लिखे जाते।
</Note>

<AccordionGroup>
  <Accordion title="कॉन्फ़िग इन्क्लूड और अमान्य-कॉन्फ़िग सुधार">
    यदि आपका `plugins` अनुभाग एकल-फ़ाइल `$include` द्वारा समर्थित है, तो `plugins install/update/enable/disable/uninstall` उसी सम्मिलित फ़ाइल में लिखता है और `openclaw.json` को अछूता छोड़ता है। रूट इन्क्लूड, इन्क्लूड सरणियाँ और सहोदर ओवरराइड वाले इन्क्लूड समतल करने के बजाय सुरक्षित रूप से विफल होते हैं। समर्थित संरचनाओं के लिए [कॉन्फ़िग इन्क्लूड](/hi/gateway/configuration) देखें।

    यदि इंस्टॉलेशन से पहले कॉन्फ़िग अमान्य है, तो `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 कॉन्फ़िग एंट्री मौजूद है, लेकिन अमान्य है, तो इंस्टॉलेशन उसे दोबारा लिखे बिना विफल हो जाता है।

  </Accordion>
  <Accordion title="--force पुष्टि और पुनः इंस्टॉलेशन बनाम अपडेट">
    `--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` स्रोत की पुष्टि करता है, लेकिन लिंक-पथ इंस्टॉल मोड नहीं बदलता।

  </Accordion>
  <Accordion title="--pin का दायरा">
    `--pin` केवल npm इंस्टॉल पर लागू होता है और हल किए गए सटीक `<name>@<version>` को दर्ज करता है। यह `git:` इंस्टॉल के साथ समर्थित नहीं है (इसके बजाय स्पेक में रेफ़ पिन करें, जैसे `git:github.com/acme/plugin@v1.2.3`) या `--marketplace` के साथ भी नहीं (मार्केटप्लेस इंस्टॉल npm स्पेक के बजाय मार्केटप्लेस स्रोत मेटाडेटा बनाए रखते हैं)।
  </Accordion>
  <Accordion title="--dangerously-force-unsafe-install">
    `--dangerously-force-unsafe-install` बहिष्कृत है और अब कोई कार्रवाई नहीं करता। OpenClaw अब Plugin इंस्टॉल के लिए अंतर्निहित इंस्टॉल-समय खतरनाक-कोड अवरोधन नहीं चलाता।

    होस्ट-विशिष्ट इंस्टॉल नीति आवश्यक होने पर ऑपरेटर-स्वामित्व वाली `security.installPolicy` सतह का उपयोग करें। Plugin `before_install` हुक Plugin-रनटाइम जीवनचक्र हुक हैं, CLI इंस्टॉल के लिए प्राथमिक नीति सीमा नहीं।

    यदि ClawHub पर आपके द्वारा प्रकाशित कोई Plugin रजिस्ट्री स्कैन द्वारा छिपाया या अवरुद्ध किया गया है, तो [ClawHub प्रकाशन](/hi/clawhub/publishing) में दिए प्रकाशक चरणों का उपयोग करें। `--dangerously-force-unsafe-install` ClawHub से Plugin को दोबारा स्कैन करने या अवरुद्ध रिलीज़ को सार्वजनिक करने के लिए नहीं कहता।

  </Accordion>
  <Accordion title="--acknowledge-clawhub-risk">
    समुदाय के ClawHub इंस्टॉल डाउनलोड करने से पहले चयनित रिलीज़ का विश्वास रिकॉर्ड जाँचते हैं। यदि ClawHub उस रिलीज़ के लिए डाउनलोड अक्षम करता है, दुर्भावनापूर्ण स्कैन निष्कर्षों की रिपोर्ट करता है, या रिलीज़ को अवरोधक मॉडरेशन स्थिति (क्वारंटीन, निरस्त) में रखता है, तो OpenClaw इस फ़्लैग की परवाह किए बिना उसे पूरी तरह अस्वीकार कर देता है। गैर-अवरोधक जोखिमपूर्ण स्कैन स्थितियों या मॉडरेशन स्थितियों के लिए, OpenClaw विश्वास विवरण दिखाता है और आगे बढ़ने से पहले पुष्टि माँगता है।

    ClawHub चेतावनी की समीक्षा करने और इंटरैक्टिव प्रॉम्प्ट के बिना आगे बढ़ने का निर्णय लेने के बाद ही `--acknowledge-clawhub-risk` का उपयोग करें। लंबित या पुराने (अभी तक स्वच्छ नहीं) स्कैन परिणाम चेतावनी देते हैं, लेकिन अभिस्वीकृति आवश्यक नहीं करते। आधिकारिक ClawHub पैकेज और बंडल किए गए OpenClaw Plugin स्रोत इस रिलीज़-विश्वास जाँच को पूरी तरह छोड़ देते हैं।

  </Accordion>
  <Accordion title="हुक पैक और npm स्पेक">
    `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`)।

  </Accordion>
  <Accordion title="Git रिपॉज़िटरी">
    किसी 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`।

  </Accordion>
  <Accordion title="अभिलेखागार">
    समर्थित अभिलेखागार: `.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 मार्केटप्लेस इंस्टॉल भी समर्थित हैं।

  </Accordion>
</AccordionGroup>

ClawHub इंस्टॉल स्पष्ट `clawhub:<package>` लोकेटर का उपयोग करते हैं:

```bash
openclaw plugins install clawhub:openclaw-codex-app-server
openclaw plugins install clawhub:openclaw-codex-app-server@1.2.3
```

लॉन्च संक्रमण के दौरान साधारण npm-सुरक्षित Plugin स्पेक डिफ़ॉल्ट रूप से npm से इंस्टॉल होते हैं, जब तक वे किसी आधिकारिक Plugin आईडी से मेल न खाएँ:

```bash
openclaw plugins install openclaw-codex-app-server
```

केवल npm रिज़ॉल्यूशन स्पष्ट करने के लिए `npm:` का उपयोग करें:

```bash
openclaw plugins install npm:openclaw-codex-app-server
openclaw plugins install npm:@openclaw/discord@2026.5.20
openclaw plugins install npm:@scope/plugin-name@1.0.1
```

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` संक्षिप्त रूप का उपयोग करें:

```bash
openclaw plugins marketplace list <marketplace-name>
openclaw plugins install <plugin-name>@<marketplace-name>
```

मार्केटप्लेस स्रोत स्पष्ट रूप से देने के लिए `--marketplace` का उपयोग करें:

```bash
openclaw plugins install <plugin-name> --marketplace <marketplace-name>
openclaw plugins install <plugin-name> --marketplace <owner/repo>
openclaw plugins install <plugin-name> --marketplace https://github.com/<owner>/<repo>
openclaw plugins install <plugin-name> --marketplace ./my-marketplace
```

<Tabs>
  <Tab title="मार्केटप्लेस स्रोत">
    - Claude का ज्ञात मार्केटप्लेस नाम, जो `~/.claude/plugins/known_marketplaces.json` से हो
    - स्थानीय मार्केटप्लेस रूट या `marketplace.json` पथ
    - GitHub रिपॉज़िटरी संक्षिप्त रूप, जैसे `owner/repo`
    - GitHub रिपॉज़िटरी URL, जैसे `https://github.com/owner/repo`
    - git URL

  </Tab>
  <Tab title="दूरस्थ मार्केटप्लेस नियम">
    GitHub या git से लोड किए गए दूरस्थ मार्केटप्लेस के लिए, Plugin प्रविष्टियाँ क्लोन की गई मार्केटप्लेस रिपॉज़िटरी के भीतर ही रहनी चाहिए। OpenClaw उस रिपॉज़िटरी से सापेक्ष पथ स्रोत स्वीकार करता है और दूरस्थ मैनिफ़ेस्ट से HTTP(S), निरपेक्ष-पथ, git, GitHub तथा अन्य गैर-पथ Plugin स्रोत अस्वीकार करता है।
  </Tab>
</Tabs>

स्थानीय पथों और अभिलेखागार के लिए, 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` में स्पष्ट रूप से सूचीबद्ध करें।

<Note>
संगत बंडल सामान्य Plugin रूट में इंस्टॉल होते हैं और समान सूची/जानकारी/सक्षम/अक्षम प्रवाह में भाग लेते हैं। वर्तमान में बंडल Skills, Claude कमांड-Skills, Claude `settings.json` डिफ़ॉल्ट, Claude `.lsp.json` / मैनिफ़ेस्ट-घोषित `lspServers` डिफ़ॉल्ट, Cursor कमांड-Skills और संगत Codex हुक डायरेक्टरी समर्थित हैं; अन्य खोजी गई बंडल क्षमताएँ निदान/जानकारी में दिखाई जाती हैं, लेकिन अभी रनटाइम निष्पादन से जुड़ी नहीं हैं।
</Note>

किसी स्थानीय Plugin डायरेक्टरी को कॉपी किए बिना इंगित करने के लिए `-l`/`--link` का उपयोग करें (`plugins.load.paths` में
जोड़ता है):

```bash
openclaw plugins install -l ./my-plugin
```

`--link`, `--marketplace` या `git:` इंस्टॉल के साथ समर्थित नहीं है, और इसके लिए
पहले से मौजूद स्थानीय पथ आवश्यक है। गैर-इंटरैक्टिव स्थानीय लिंक के लिए,
स्रोत की समीक्षा करने के बाद `--force` दें; यह उद्गम की पुष्टि करता है, लेकिन
लिंक की गई डायरेक्टरी को कॉपी या अधिलेखित नहीं करता।

<Note>
वर्कस्पेस एक्सटेंशन रूट से खोजे गए वर्कस्पेस-मूल Plugin तब तक
आयात या निष्पादित नहीं होते, जब तक उन्हें स्पष्ट रूप से सक्षम न किया जाए। स्थानीय विकास के लिए,
`openclaw plugins enable <plugin-id>` चलाएँ या
`plugins.entries.<plugin-id>.enabled: true` सेट करें; यदि आपका कॉन्फ़िगरेशन
`plugins.allow` उपयोग करता है, तो उसमें भी वही Plugin आईडी शामिल करें। यह विफलता-बंद नियम
तब भी लागू होता है जब चैनल सेटअप केवल-सेटअप लोडिंग के लिए किसी वर्कस्पेस-मूल Plugin को स्पष्ट रूप से लक्षित करता है,
इसलिए जब तक वह वर्कस्पेस Plugin अक्षम या अनुमति-सूची से बाहर रहता है, तब तक स्थानीय चैनल Plugin सेटअप कोड नहीं चलेगा।
लिंक किए गए इंस्टॉल और स्पष्ट `plugins.load.paths` प्रविष्टियाँ अपने
हल किए गए Plugin उद्गम के लिए सामान्य नीति का पालन करती हैं। देखें
[Plugin नीति कॉन्फ़िगर करें](/hi/tools/plugin#configure-plugin-policy)
और [कॉन्फ़िगरेशन संदर्भ](/hi/gateway/configuration-reference#plugins)।

डिफ़ॉल्ट व्यवहार को अनपिन रखते हुए प्रबंधित Plugin इंडेक्स में हल किए गए सटीक स्पेक (`name@version`) को सहेजने के लिए npm इंस्टॉल पर `--pin` का उपयोग करें।
</Note>

## सूची

```bash
openclaw plugins list
openclaw plugins list --enabled
openclaw plugins list --verbose
openclaw plugins list --json
```

<ParamField path="--enabled" type="boolean">
  केवल सक्षम plugins दिखाएँ।
</ParamField>
<ParamField path="--verbose" type="boolean">
  तालिका दृश्य से प्रति-plugin विवरण पंक्तियों पर जाएँ, जिनमें प्रारूप/स्रोत/उद्गम/संस्करण/सक्रियण मेटाडेटा हो।
</ParamField>
<ParamField path="--json" type="boolean">
  मशीन-पठनीय इन्वेंटरी के साथ रजिस्ट्री निदान और पैकेज निर्भरता स्थापना स्थिति।
</ParamField>

<Note>
`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 रनटाइम कोड आयात नहीं करता, पैकेज प्रबंधक नहीं चलाता और अनुपलब्ध
निर्भरताओं की मरम्मत नहीं करता।
</Note>

यदि स्टार्टअप लॉग में `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` चलाएँ।

## अनइंस्टॉल

```bash
openclaw plugins uninstall <id>
openclaw plugins uninstall <id> --dry-run
openclaw plugins uninstall <id> --keep-files
openclaw plugins uninstall <id> --force
```

`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` वही पूर्वावलोकन प्रिंट करता है और संकेत दिए या कोई परिवर्तन किए बिना बाहर निकल जाता है।

<Note>
`--keep-config`, `--keep-files` के बहिष्कृत उपनाम के रूप में समर्थित है।
</Note>

## अपडेट

```bash
openclaw plugins update <id-or-npm-spec>
openclaw plugins update --all
openclaw plugins update <id-or-npm-spec> --dry-run
openclaw plugins update @openclaw/voice-call
openclaw plugins update @acme/demo
openclaw plugins update openclaw-codex-app-server --acknowledge-clawhub-risk
openclaw plugins update openclaw-codex-app-server --dangerously-force-unsafe-install
```

अपडेट प्रबंधित plugin अनुक्रमणिका में ट्रैक की गई plugin स्थापनाओं और साझा SQLite स्थिति में ट्रैक किए गए हुक-पैक स्थापनाओं पर लागू होते हैं। वे उसी स्रोत का पुनः उपयोग करते हैं जिसे उपयोगकर्ता ने plugin स्थापित करते समय पहले ही चुना था, इसलिए उन्हें दूसरी स्रोत अभिस्वीकृति की आवश्यकता नहीं होती।

<AccordionGroup>
  <Accordion title="plugin आईडी बनाम npm स्पेक का समाधान">
    जब आप कोई 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 सटीक संस्करण पर पिन किया गया था और आप उसे रजिस्ट्री की डिफ़ॉल्ट रिलीज़ लाइन पर वापस ले जाना चाहते हैं।

  </Accordion>
  <Accordion title="बीटा चैनल अपडेट">
    लक्षित `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 भी फ़ॉलबैक करते हैं। उस फ़ॉलबैक को चेतावनी के रूप में रिपोर्ट किया जाता है और वह मुख्य अपडेट को विफल नहीं करता। सटीक संस्करण और स्पष्ट टैग लक्षित अपडेट के लिए उसी चयनकर्ता पर पिन रहते हैं।

  </Accordion>
  <Accordion title="संस्करण जाँच और अखंडता विचलन">
    लाइव npm अपडेट से पहले, OpenClaw स्थापित पैकेज संस्करण की npm रजिस्ट्री मेटाडेटा से जाँच करता है। यदि स्थापित संस्करण और रिकॉर्ड की गई आर्टिफ़ैक्ट पहचान पहले से ही रिज़ॉल्व किए गए लक्ष्य से मेल खाते हैं, तो डाउनलोड, पुनः स्थापना या `openclaw.json` को दोबारा लिखे बिना अपडेट छोड़ दिया जाता है।

    जब संग्रहित अखंडता हैश मौजूद हो और प्राप्त आर्टिफ़ैक्ट हैश बदल जाए, तो OpenClaw इसे npm आर्टिफ़ैक्ट विचलन मानता है। इंटरैक्टिव `openclaw plugins update` कमांड अपेक्षित और वास्तविक हैश प्रिंट करता है और आगे बढ़ने से पहले पुष्टि माँगता है। गैर-इंटरैक्टिव अपडेट सहायक तब तक बंद रहते हुए विफल होते हैं, जब तक कॉलर स्पष्ट निरंतरता नीति प्रदान न करे।

  </Accordion>
  <Accordion title="अपडेट पर --dangerously-force-unsafe-install">
    संगतता के लिए `--dangerously-force-unsafe-install`, `plugins update` पर भी स्वीकार किया जाता है, लेकिन यह बहिष्कृत है और अब plugin अपडेट व्यवहार नहीं बदलता। ऑपरेटर `security.installPolicy` अब भी अपडेट अवरुद्ध कर सकता है; plugin `before_install` हुक केवल उन्हीं प्रक्रियाओं में लागू होते हैं जहाँ plugin हुक लोड किए गए हों।
  </Accordion>
  <Accordion title="अपडेट पर --acknowledge-clawhub-risk">
    समुदाय के ClawHub-समर्थित plugin अपडेट प्रतिस्थापन पैकेज डाउनलोड करने से पहले स्थापनाओं जैसी ही सटीक-रिलीज़ विश्वास जाँच चलाते हैं। समीक्षा किए गए स्वचालन के लिए `--acknowledge-clawhub-risk` का उपयोग करें, जिसे चयनित ClawHub रिलीज़ में जोखिमपूर्ण विश्वास चेतावनी होने पर भी जारी रहना चाहिए। आधिकारिक ClawHub पैकेज और बंडल OpenClaw plugin स्रोत इस रिलीज़-विश्वास संकेत को बायपास करते हैं।
  </Accordion>
</AccordionGroup>

## निरीक्षण

```bash
openclaw plugins inspect <id>
openclaw plugins inspect <id> --runtime
openclaw plugins inspect <id> --json
openclaw plugins inspect --all
```

डिफ़ॉल्ट रूप से 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 को इस आधार पर वर्गीकृत किया जाता है कि वह वास्तव में रनटाइम पर क्या पंजीकृत करता है:

| आकार                | अर्थ                                                              |
| ------------------- | ----------------------------------------------------------------- |
| `plain-capability`  | ठीक एक क्षमता प्रकार (उदा. केवल-प्रदाता plugin)                    |
| `hybrid-capability` | एक से अधिक क्षमता प्रकार (उदा. टेक्स्ट + वाणी + चित्र)             |
| `hook-only`         | केवल हुक; कोई क्षमता, टूल, कमांड, सेवा या रूट नहीं                 |
| `non-capability`    | टूल/कमांड/सेवाएँ, लेकिन कोई क्षमता नहीं                            |

क्षमता मॉडल के बारे में अधिक जानकारी के लिए [Plugin आकार](/hi/plugins/architecture#plugin-shapes) देखें।

<Note>
`--json` फ़्लैग स्क्रिप्टिंग और ऑडिटिंग के लिए उपयुक्त मशीन-पठनीय रिपोर्ट आउटपुट करता है। `inspect --all` आकार, क्षमता प्रकार, संगतता सूचनाएँ, बंडल क्षमताएँ और हुक सारांश कॉलम वाली पूरे समूह की तालिका रेंडर करता है। `info`, `inspect` का उपनाम है।
</Note>

## Doctor

```bash
openclaw plugins 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` के साथ फिर से चलाएँ।

## रजिस्ट्री

```bash
openclaw plugins registry
openclaw plugins registry --refresh
openclaw plugins registry --json
```

स्थानीय 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/*` जैसे पैकेज-स्थानीय रनटाइम आयात रिज़ॉल्व हो सकें।

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

```bash
openclaw plugins marketplace entries
openclaw plugins marketplace entries --offline
openclaw plugins marketplace entries --json
openclaw plugins marketplace entries --feed-profile <name>
openclaw plugins marketplace entries --feed-url <url>
openclaw plugins marketplace list <source>
openclaw plugins marketplace list <source> --json
openclaw plugins marketplace refresh
openclaw plugins marketplace refresh --feed-profile <name>
openclaw plugins marketplace refresh --feed-url <url>
openclaw plugins marketplace refresh --expected-sha256 <sha256> --json
```

`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` कुंजी को पुनर्स्थापित नहीं करती।

## संबंधित

- [Plugin बनाना](/hi/plugins/building-plugins)
- [CLI संदर्भ](/hi/cli)
- [ClawHub](/hi/clawhub)
