إدارة Plugins الخاصة بـ Gateway، وحزم الخطافات، والحزم المتوافقة.Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
نظام Plugin
دليل المستخدم النهائي لتثبيت Plugins وتمكينها واستكشاف مشكلاتها وإصلاحها.
إدارة Plugins
أمثلة سريعة للتثبيت، والعرض، والتحديث، وإلغاء التثبيت، والنشر.
حزم Plugin
نموذج توافق الحزم.
بيان Plugin
حقول البيان ومخطط التهيئة.
الأمان
تقوية الأمان لتثبيتات Plugin.
الأوامر
OPENCLAW_PLUGIN_LIFECYCLE_TRACE=1. يكتب التتبع أزمنة المراحل
إلى stderr ويبقي مخرجات JSON قابلة للتحليل. راجع تصحيح الأخطاء.
في وضع Nix (
OPENCLAW_NIX_MODE=1)، تكون أدوات تعديل دورة حياة Plugin معطّلة. استخدم مصدر Nix لهذا التثبيت بدلًا من plugins install أو plugins update أو plugins uninstall أو plugins enable أو plugins disable؛ وبالنسبة إلى nix-openclaw، استخدم Quick Start المبدوء بالوكيل.تُشحن Plugins المضمّنة مع OpenClaw. يُمكَّن بعضها افتراضيًا (مثل موفّري النماذج المضمّنين، وموفّري الكلام المضمّنين، وPlugin المتصفح المضمّن)؛ بينما تتطلب أخرى
plugins enable.يجب أن تُشحن Plugins الأصلية لـ OpenClaw بملف openclaw.plugin.json مع JSON Schema مضمن (configSchema، حتى لو كان فارغًا). أما الحزم المتوافقة فتستخدم بيانات الحزم الخاصة بها بدلًا من ذلك.يعرض plugins list القيمة Format: openclaw أو Format: bundle. كما تعرض مخرجات القائمة/المعلومات المطوّلة النوع الفرعي للحزمة (codex أو claude أو cursor) بالإضافة إلى قدرات الحزمة المكتشفة.التثبيت
plugins search من ClawHub عن حزم Plugin القابلة للتثبيت ويطبع
أسماء حزم جاهزة للتثبيت. يبحث في حزم code-plugin وbundle-plugin،
وليس Skills. استخدم openclaw skills search للبحث عن Skills في ClawHub.
ClawHub هو سطح التوزيع والاكتشاف الأساسي لمعظم Plugins. يظل Npm
مسارًا احتياطيًا مدعومًا ومسار تثبيت مباشر. تُنشر حزم Plugin المملوكة لـ OpenClaw
ذات النطاق
@openclaw/* على npm مرة أخرى؛ راجع القائمة الحالية
في npmjs.com/org/openclaw أو
مخزون Plugin. تستخدم التثبيتات المستقرة latest.
تفضّل تثبيتات وتحديثات قناة بيتا وسم التوزيع beta في npm عندما يكون ذلك الوسم
متاحًا، ثم تعود إلى latest.تضمينات التهيئة وإصلاح التهيئة غير الصالحة
تضمينات التهيئة وإصلاح التهيئة غير الصالحة
إذا كان قسم
plugins لديك مدعومًا بملف $include واحد، فإن plugins install/update/enable/disable/uninstall تكتب عبر ذلك الملف المضمّن وتترك openclaw.json دون تغيير. تفشل تضمينات الجذر، ومصفوفات التضمين، والتضمينات ذات التجاوزات الشقيقة بشكل مغلق بدلًا من تسطيحها. راجع تضمينات التهيئة للاطلاع على الأشكال المدعومة.إذا كانت التهيئة غير صالحة أثناء التثبيت، يفشل plugins install عادةً بشكل مغلق ويطلب منك تشغيل openclaw doctor --fix أولًا. أثناء بدء تشغيل Gateway وإعادة التحميل الساخن، تفشل تهيئة Plugin غير الصالحة بشكل مغلق مثل أي تهيئة أخرى غير صالحة؛ ويمكن لـ openclaw doctor --fix عزل إدخال Plugin غير الصالح. الاستثناء الوحيد الموثّق وقت التثبيت هو مسار استرداد ضيق لـ Plugin مضمّن يختار صراحةً openclaw.install.allowInvalidConfigRecovery.--force وإعادة التثبيت مقابل التحديث
--force وإعادة التثبيت مقابل التحديث
يعيد
--force استخدام هدف التثبيت الحالي ويستبدل Plugin أو حزمة خطافات مثبتة مسبقًا في مكانها. استخدمه عندما تقصد إعادة تثبيت المعرف نفسه من مسار محلي جديد، أو أرشيف، أو حزمة ClawHub، أو عنصر npm. للترقيات الروتينية لـ Plugin من npm متتبَّع مسبقًا، فضّل openclaw plugins update <id-or-npm-spec>.إذا شغّلت plugins install لمعرف Plugin مثبت مسبقًا، يتوقف OpenClaw ويوجهك إلى plugins update <id-or-npm-spec> للترقية العادية، أو إلى plugins install <package> --force عندما تريد فعلًا استبدال التثبيت الحالي من مصدر مختلف.نطاق --pin
نطاق --pin
ينطبق
--pin على تثبيتات npm فقط. لا يُدعم مع تثبيتات git:؛ استخدم مرجع git صريحًا مثل git:github.com/acme/plugin@v1.2.3 عندما تريد مصدرًا مثبتًا. ولا يُدعم مع --marketplace، لأن تثبيتات marketplace تحفظ بيانات تعريف مصدر marketplace بدلًا من مواصفة npm.--dangerously-force-unsafe-install
--dangerously-force-unsafe-install
--dangerously-force-unsafe-install خيار كسر للطوارئ للتعامل مع الإيجابيات الكاذبة في ماسح الكود الخطر المدمج. يسمح بمتابعة التثبيت حتى عندما يبلغ الماسح المدمج عن نتائج critical، لكنه لا يتجاوز حظر سياسة خطاف before_install الخاصة بـ Plugin ولا يتجاوز إخفاقات الفحص.ينطبق علم CLI هذا على مسارات تثبيت/تحديث Plugin. تستخدم تثبيتات تبعيات Skills المدعومة من Gateway تجاوز الطلب المطابق dangerouslyForceUnsafeInstall، بينما يظل openclaw skills install مسار تنزيل/تثبيت Skill منفصلًا من ClawHub.إذا حُظر Plugin نشرته على ClawHub بسبب فحص السجل، فاستخدم خطوات الناشر في ClawHub.حزم الخطافات ومواصفات npm
حزم الخطافات ومواصفات npm
يُعد
plugins install أيضًا سطح التثبيت لحزم الخطافات التي تعرض openclaw.hooks في package.json. استخدم openclaw hooks لرؤية الخطافات المصفّاة وتمكين كل خطاف على حدة، وليس لتثبيت الحزم.مواصفات Npm هي للسجل فقط (اسم الحزمة + إصدار دقيق اختياري أو وسم توزيع). تُرفض مواصفات Git/URL/file ونطاقات semver. تعمل تثبيتات التبعيات محليًا على مستوى المشروع مع --ignore-scripts للأمان، حتى عندما يحتوي shell لديك على إعدادات تثبيت npm عامة. ترث جذور npm المُدارة لـ Plugin قيم overrides الخاصة بـ npm على مستوى حزمة OpenClaw، لذا تنطبق تثبيتات أمان المضيف على تبعيات Plugin المرفوعة أيضًا.استخدم npm:<package> عندما تريد جعل حل npm صريحًا. تثبّت مواصفات الحزم المجردة أيضًا مباشرةً من npm أثناء مرحلة انتقال الإطلاق.تبقى المواصفات المجردة و@latest على المسار المستقر. تُعد إصدارات التصحيح المؤرخة من OpenClaw مثل 2026.5.3-1 إصدارات مستقرة لهذا الفحص. إذا حلّ npm أيًا منها إلى إصدار تمهيدي، يتوقف OpenClaw ويطلب منك الاشتراك صراحةً بوسم إصدار تمهيدي مثل @beta/@rc أو إصدار تمهيدي دقيق مثل @1.2.3-beta.4.إذا طابقت مواصفة تثبيت مجردة معرف Plugin رسميًا (مثل diffs)، يثبّت OpenClaw إدخال الكتالوج مباشرةً. لتثبيت حزمة npm بالاسم نفسه، استخدم مواصفة ذات نطاق صريحة (مثل @scope/diffs).مستودعات Git
مستودعات Git
استخدم
git:<repo> للتثبيت مباشرةً من مستودع git. تشمل الصيغ المدعومة git:github.com/owner/repo، وgit:owner/repo، وروابط النسخ الكاملة https://، وssh://، وgit://، وfile://، وgit@host:owner/repo.git. أضف @<ref> أو #<ref> لاستخراج فرع أو وسم أو commit قبل التثبيت.تستنسخ تثبيتات Git إلى دليل مؤقت، وتستخرج المرجع المطلوب عند وجوده، ثم تستخدم مثبّت دليل Plugin العادي. وهذا يعني أن التحقق من البيان، وفحص الكود الخطر، وعمل تثبيت مدير الحزم، وسجلات التثبيت تتصرف كما في تثبيتات npm. تتضمن تثبيتات git المسجّلة عنوان URL/المرجع للمصدر بالإضافة إلى commit المحلول حتى يتمكن openclaw plugins update من إعادة حل المصدر لاحقًا.بعد التثبيت من git، استخدم openclaw plugins inspect <id> --runtime --json للتحقق من تسجيلات وقت التشغيل مثل طرق Gateway وأوامر CLI. إذا سجّل Plugin جذر CLI باستخدام api.registerCli، فنفّذ ذلك الأمر مباشرةً عبر CLI الجذري لـ OpenClaw، مثل openclaw demo-plugin ping.الأرشيفات
الأرشيفات
الأرشيفات المدعومة:
.zip و.tgz و.tar.gz و.tar. يجب أن تحتوي أرشيفات Plugin الأصلية لـ OpenClaw على ملف openclaw.plugin.json صالح في جذر Plugin المستخرج؛ تُرفض الأرشيفات التي تحتوي فقط على package.json قبل أن يكتب OpenClaw سجلات التثبيت.استخدم npm-pack:<path.tgz> عندما يكون الملف كرة tarball من npm-pack وتريد
اختبار مسار تثبيت جذر npm المُدار نفسه المستخدم بواسطة تثبيتات السجل،
بما في ذلك التحقق من package-lock.json، وفحص التبعيات المرفوعة،
وسجلات تثبيت npm. ما زالت مسارات الأرشيف العادية تُثبَّت كأرشيفات محلية
تحت جذر extensions الخاص بـ Plugin.تثبيتات Claude marketplace مدعومة أيضًا.clawhub:<package>:
npm: لجعل الحل المقتصر على npm صريحًا:
.tgz، ويتحقق من ترويسة ملخص ClawHub وملخص القطعة الأثرية، ثم يثبتها عبر مسار الأرشيف العادي. لا تزال إصدارات ClawHub الأقدم التي لا تحتوي على بيانات تعريف ClawPack تثبّت عبر مسار التحقق القديم لأرشيف الحزمة. تحتفظ التثبيتات المسجلة ببيانات تعريف مصدر ClawHub، ونوع القطعة الأثرية، وتكامل npm، وملخص shasum في npm، واسم tarball، وحقائق ملخص ClawPack للتحديثات اللاحقة.
تحتفظ تثبيتات ClawHub غير ذات الإصدار بمواصفة مسجلة غير ذات إصدار كي يتمكن openclaw plugins update من تتبع إصدارات ClawHub الأحدث؛ أما محددات الإصدار أو الوسم الصريحة مثل clawhub:pkg@1.2.3 وclawhub:pkg@beta فتبقى مثبتة على ذلك المحدد.
اختصار السوق
استخدم اختصارplugin@marketplace عندما يكون اسم السوق موجودًا في ذاكرة التخزين المؤقت للسجل المحلي الخاصة بـ Claude في ~/.claude/plugins/known_marketplaces.json:
--marketplace عندما تريد تمرير مصدر السوق صراحةً:
- مصادر السوق
- قواعد السوق البعيد
- اسم سوق معروف لدى Claude من
~/.claude/plugins/known_marketplaces.json - جذر سوق محلي أو مسار
marketplace.json - اختصار مستودع GitHub مثل
owner/repo - عنوان URL لمستودع GitHub مثل
https://github.com/owner/repo - عنوان URL لـ git
- Plugins أصلية لـ OpenClaw (
openclaw.plugin.json) - حزم متوافقة مع Codex (
.codex-plugin/plugin.json) - حزم متوافقة مع Claude (
.claude-plugin/plugin.jsonأو تخطيط مكونات Claude الافتراضي) - حزم متوافقة مع Cursor (
.cursor-plugin/plugin.json)
تُثبّت الحزم المتوافقة داخل جذر Plugin العادي وتشارك في تدفق القائمة/المعلومات/التمكين/التعطيل نفسه. حاليًا، تُدعم Skills الخاصة بالحزم، وSkills أوامر Claude، وافتراضيات
settings.json في Claude، وافتراضيات Claude .lsp.json / lspServers المصرح بها في البيان، وSkills أوامر Cursor، وأدلة الخطافات المتوافقة مع Codex؛ أما إمكانات الحزم الأخرى المكتشفة فتظهر في التشخيصات/المعلومات لكنها غير موصولة بعد بتنفيذ وقت التشغيل.القائمة
اعرض Plugins الممكّنة فقط.
بدّل من عرض الجدول إلى أسطر تفاصيل لكل Plugin تتضمن بيانات تعريف المصدر/الأصل/الإصدار/التفعيل.
مخزون قابل للقراءة آليًا مع تشخيصات السجل وحالة تثبيت اعتماديات الحزمة.
يقرأ
plugins list سجل Plugins المحلي المحفوظ أولًا، مع رجوع مشتق من البيانات الظاهرة فقط عندما يكون السجل مفقودًا أو غير صالح. يفيد ذلك في التحقق مما إذا كان Plugin مثبتًا وممكّنًا ومرئيًا لتخطيط بدء التشغيل البارد، لكنه ليس فحصًا مباشرًا لوقت التشغيل لعملية Gateway قيد التشغيل بالفعل. بعد تغيير كود Plugin، أو حالة التمكين، أو سياسة الخطافات، أو plugins.load.paths، أعد تشغيل Gateway الذي يخدم القناة قبل توقع تشغيل كود register(api) أو الخطافات الجديدة. بالنسبة إلى النشر البعيد/داخل الحاويات، تحقق من أنك تعيد تشغيل العملية الفرعية الفعلية openclaw gateway run، وليس عملية غلاف فقط.يتضمن plugins list --json قيمة dependencyStatus لكل Plugin من package.json
dependencies وoptionalDependencies. يتحقق OpenClaw مما إذا كانت أسماء الحزم هذه
موجودة على طول مسار البحث العادي عن node_modules الخاص بالـ Plugin في Node؛ ولا
يستورد كود وقت تشغيل Plugin، أو يشغّل مدير حزم، أو يصلح
الاعتماديات المفقودة.plugins search هو بحث بعيد في كتالوج ClawHub. لا يفحص الحالة المحلية،
ولا يغيّر الإعدادات، ولا يثبت الحزم، ولا يحمّل كود وقت تشغيل Plugin. تتضمن
نتائج البحث اسم حزمة ClawHub، والعائلة، والقناة، والإصدار، والملخص، و
تلميح تثبيت مثل openclaw plugins install clawhub:<package>.
للعمل على Plugin مضمّن داخل صورة Docker معبأة، اربط دليل مصدر Plugin
فوق مسار المصدر المعبأ المطابق، مثل
/app/extensions/synology-chat. سيكتشف OpenClaw طبقة المصدر المركّبة هذه
قبل /app/dist/extensions/synology-chat؛ أما دليل المصدر المنسوخ فقط
فيبقى غير فعّال، بحيث تظل التثبيتات المعبأة العادية تستخدم dist المجمّع.
لتصحيح أخطاء خطافات وقت التشغيل:
- يعرض
openclaw plugins inspect <id> --runtime --jsonالخطافات المسجلة والتشخيصات من تمريرة فحص حمّلت الوحدة. لا يثبت فحص وقت التشغيل الاعتماديات أبدًا؛ استخدمopenclaw doctor --fixلتنظيف حالة الاعتماديات القديمة أو استرداد Plugins القابلة للتنزيل المفقودة المشار إليها في الإعدادات. - يؤكد
openclaw gateway status --deep --require-rpcGateway القابل للوصول، وتلميحات الخدمة/العملية، ومسار الإعدادات، وصحة 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.
--link لتجنب نسخ دليل محلي (يضيفه إلى plugins.load.paths):
لا يُدعم
--force مع --link لأن التثبيتات المرتبطة تعيد استخدام مسار المصدر بدلًا من النسخ فوق هدف تثبيت مُدار.استخدم --pin في تثبيتات npm لحفظ المواصفة الدقيقة المحلولة (name@version) في فهرس Plugin المُدار مع إبقاء السلوك الافتراضي غير مثبت.فهرس Plugin
بيانات تعريف تثبيت Plugin هي حالة مُدارة آليًا، وليست إعدادات مستخدم. تكتبها عمليات التثبيت والتحديث إلىplugins/installs.json ضمن دليل حالة OpenClaw النشط. خريطة installRecords ذات المستوى الأعلى هي المصدر الدائم لبيانات تعريف التثبيت، بما في ذلك السجلات الخاصة ببيانات Plugin الظاهرة المعطوبة أو المفقودة. مصفوفة plugins هي ذاكرة التخزين المؤقت لسجل البدء البارد المشتقة من البيانات الظاهرة. يتضمن الملف تحذيرًا بعدم التحرير ويستخدمه openclaw plugins update، وإلغاء التثبيت، والتشخيصات، وسجل Plugins البارد.
عندما يرى OpenClaw سجلات plugins.installs القديمة المشحونة في الإعدادات، تتعامل قراءات وقت التشغيل معها كمدخلات توافق دون إعادة كتابة openclaw.json. تنقل عمليات الكتابة الصريحة لـ Plugin وopenclaw doctor --fix تلك السجلات إلى فهرس Plugin وتزيل مفتاح الإعدادات عندما تكون كتابة الإعدادات مسموحة؛ إذا فشلت أي من عمليتي الكتابة، تُحفظ سجلات الإعدادات حتى لا تضيع بيانات تعريف التثبيت.
إلغاء التثبيت
uninstall سجلات Plugin من plugins.entries، وفهرس Plugin المحفوظ، وإدخالات قوائم السماح/المنع الخاصة بـ Plugin، وإدخالات plugins.load.paths المرتبطة عند الاقتضاء. ما لم يتم ضبط --keep-files، يزيل إلغاء التثبيت أيضًا دليل التثبيت المُدار المتتبَّع عندما يكون داخل جذر امتدادات Plugin في OpenClaw. بالنسبة إلى Plugins الذاكرة النشطة، تُعاد خانة الذاكرة إلى memory-core.
--keep-config مدعوم كاسم بديل مهمل لـ --keep-files.التحديث
hooks.internal.installs.
حل معرف Plugin مقابل مواصفة npm
حل معرف Plugin مقابل مواصفة npm
عندما تمرر معرف Plugin، يعيد OpenClaw استخدام مواصفة التثبيت المسجلة لذلك Plugin. يعني ذلك أن وسوم التوزيع المخزنة سابقًا مثل
@beta والإصدارات الدقيقة المثبتة يستمر استخدامها في تشغيلات update <id> اللاحقة.بالنسبة إلى تثبيتات npm، يمكنك أيضًا تمرير مواصفة حزمة npm صريحة مع وسم توزيع أو إصدار دقيق. يحل OpenClaw اسم الحزمة هذا عائدًا إلى سجل Plugin المتتبَّع، ويحدّث ذلك Plugin المثبت، ويسجل مواصفة npm الجديدة لتحديثات المعرف المستقبلية.يؤدي تمرير اسم حزمة npm دون إصدار أو وسم أيضًا إلى الحل عائدًا إلى سجل Plugin المتتبَّع. استخدم هذا عندما يكون Plugin مثبتًا على إصدار دقيق وتريد نقله مرة أخرى إلى خط الإصدار الافتراضي للسجل.تحديثات قناة بيتا
تحديثات قناة بيتا
يعيد
openclaw plugins update استخدام مواصفة Plugin المتتبَّعة ما لم تمرر مواصفة جديدة. يعرف openclaw update أيضًا قناة تحديث OpenClaw النشطة: على قناة بيتا، تحاول سجلات npm وClawHub الخاصة بخط الإصدار الافتراضي للـ Plugin استخدام @beta أولًا، ثم تعود إلى مواصفة الافتراضي/الأحدث المسجلة إذا لم يوجد إصدار بيتا للـ Plugin. يُبلغ عن هذا الرجوع كتحذير ولا يفشل تحديث النواة. تبقى الإصدارات الدقيقة والوسوم الصريحة مثبتة على ذلك المحدد.فحوصات الإصدار وانحراف التكامل
فحوصات الإصدار وانحراف التكامل
قبل تحديث npm مباشر، يتحقق OpenClaw من إصدار الحزمة المثبتة مقابل بيانات تعريف سجل npm. إذا كان الإصدار المثبت وهوية القطعة الأثرية المسجلة يطابقان الهدف المحلول بالفعل، يُتخطى التحديث دون تنزيل أو إعادة تثبيت أو إعادة كتابة
openclaw.json.عندما تكون قيمة تكامل مخزنة موجودة ويتغير تجزئة القطعة الأثرية المجلبة، يتعامل OpenClaw مع ذلك كانحراف في قطعة npm الأثرية. يطبع أمر openclaw plugins update التفاعلي التجزئات المتوقعة والفعلية ويطلب التأكيد قبل المتابعة. تفشل أدوات التحديث غير التفاعلية بوضع مغلق ما لم يقدم المستدعي سياسة متابعة صريحة.--dangerously-force-unsafe-install عند التحديث
--dangerously-force-unsafe-install عند التحديث
يتوفر
--dangerously-force-unsafe-install أيضًا في plugins update كتجاوز طارئ للنتائج الإيجابية الكاذبة في فحص الكود الخطِر المدمج أثناء تحديثات Plugin. لا يزال لا يتجاوز كتل سياسة before_install الخاصة بـ Plugin أو الحظر الناتج عن فشل الفحص، ولا ينطبق إلا على تحديثات Plugin، وليس تحديثات حزم الخطافات.الفحص
--runtime لتحميل وحدة Plugin وتضمين الخطافات، والأدوات، والأوامر، والخدمات، وطرق Gateway، ومسارات HTTP المسجلة. يبلّغ فحص وقت التشغيل عن اعتماديات Plugin المفقودة مباشرةً؛ أما التثبيتات والإصلاحات فتبقى في openclaw plugins install وopenclaw plugins update وopenclaw doctor --fix.
عادةً ما تُثبّت أوامر CLI المملوكة للـ Plugin كمجموعات أوامر جذرية لـ openclaw، لكن يمكن للـ Plugins أيضًا تسجيل أوامر متداخلة تحت أصل أساسي مثل openclaw nodes. بعد أن يعرض inspect --runtime أمرًا ضمن cliCommands، شغّله في المسار المدرج؛ على سبيل المثال، يمكن التحقق من Plugin يسجل demo-git باستخدام openclaw demo-git ping.
يُصنّف كل Plugin حسب ما يسجله فعليًا في وقت التشغيل:
- plain-capability — نوع قدرة واحد (مثل Plugin خاص بالمزوّد فقط)
- hybrid-capability — أنواع قدرات متعددة (مثل النص + الكلام + الصور)
- hook-only — hooks فقط، بلا قدرات أو أسطح
- non-capability — أدوات/أوامر/خدمات لكن بلا قدرات
يُخرِج العلم
--json تقريرًا مقروءًا آليًا ومناسبًا للبرمجة النصية والتدقيق. يعرض inspect --all جدولًا على مستوى الأسطول يتضمن أعمدة الشكل، وأنواع القدرات، وإشعارات التوافق، وقدرات الحزمة، وملخص hooks. info هو اسم مستعار لـ inspect.الفحص
doctor عن أخطاء تحميل Plugin، وتشخيصات البيان/الاكتشاف، وإشعارات التوافق. عندما يكون كل شيء سليمًا، يطبع No plugin issues detected.
إذا كان Plugin مكوّنًا موجودًا على القرص لكنه محظور بسبب فحوص أمان المسار الخاصة بالمحمّل، فإن التحقق من التكوين يُبقي إدخال Plugin ويُبلّغ عنه كـ present but blocked. أصلح تشخيص Plugin المحظور السابق، مثل ملكية المسار أو أذونات الكتابة للعامة، بدلًا من إزالة تكوين plugins.entries.<id> أو plugins.allow.
بالنسبة إلى حالات فشل شكل الوحدة مثل فقدان صادرات register/activate، أعد التشغيل مع OPENCLAW_PLUGIN_LOAD_DEBUG=1 لتضمين ملخص مضغوط لشكل الصادرات في مخرجات التشخيص.
السجل
plugins registry لفحص ما إذا كان السجل المستمر موجودًا أو حديثًا أو قديمًا. استخدم --refresh لإعادة بنائه من فهرس Plugins المستمر، وسياسة التكوين، وبيانات تعريف البيان/الحزمة. هذا مسار إصلاح، وليس مسار تفعيل وقت التشغيل.
يُصلح openclaw doctor --fix أيضًا الانحراف المُدار في npm المجاور للسجل: إذا كانت حزمة @openclaw/* يتيمة أو مستعادة ضمن جذر npm المُدار الخاص بـ Plugins تحجب Plugin مضمّنًا، يزيل doctor تلك الحزمة القديمة ويعيد بناء السجل حتى يتحقق بدء التشغيل مقابل البيان المضمّن. يعيد Doctor أيضًا ربط حزمة المضيف openclaw داخل Plugins المُدارة عبر npm التي تُعلن peerDependencies.openclaw، بحيث تُحلّ استيرادات وقت التشغيل المحلية للحزمة مثل openclaw/plugin-sdk/* بعد التحديثات أو إصلاحات npm.
السوق
marketplace.json، أو اختصار GitHub مثل owner/repo، أو عنوان URL لمستودع GitHub، أو عنوان URL لـ git. يطبع --json تسمية المصدر المحلولة إضافة إلى بيان السوق المحلل وإدخالات Plugins.