openclaw plugins
إدارة plugins/امتدادات البوابة، وحزم الخطافات، والحزم المتوافقة.
ذو صلة:
- نظام plugin: Plugins
- توافق الحزم: حزم Plugin
- manifest ومخطط plugin: manifest الـ Plugin
- التحصين الأمني: الأمان
الأوامر
plugins enable.
يجب أن تتضمن plugins OpenClaw الأصلية ملف openclaw.plugin.json مع JSON
Schema مضمّن (configSchema، حتى لو كان فارغًا). أما الحزم المتوافقة فتستخدم manifests الحزم الخاصة بها بدلًا من ذلك.
يعرض plugins list القيمة Format: openclaw أو Format: bundle. كما يعرض إخراج
السرد/المعلومات المفصل أيضًا النوع الفرعي للحزمة (codex أو claude أو cursor) بالإضافة إلى
إمكانات الحزمة المكتشفة.
التثبيت
plugins install يفشل عادةً بشكل مغلق ويطلب منك
تشغيل openclaw doctor --fix أولًا. والاستثناء الموثق الوحيد هو مسار استرداد ضيق
لـ plugin مضمّن بالنسبة إلى plugins التي تختار صراحةً
openclaw.install.allowInvalidConfigRecovery.
يعيد --force استخدام هدف التثبيت الحالي ويكتب فوق plugin أو حزمة خطافات
مثبّتة بالفعل في مكانها. استخدمه عندما تكون تعيد عمدًا تثبيت
المعرّف نفسه من مسار محلي جديد، أو أرشيف، أو حزمة ClawHub، أو أثر npm.
ينطبق --pin على تثبيتات npm فقط. وهو غير مدعوم مع --marketplace،
لأن تثبيتات marketplace تحتفظ ببيانات وصفية عن مصدر marketplace بدلًا من
مواصفة npm.
الخيار --dangerously-force-unsafe-install هو خيار طوارئ للحالات الإيجابية الكاذبة
في ماسح الشيفرة الخطرة المضمّن. فهو يسمح بمتابعة التثبيت حتى
عندما يبلغ الماسح المضمّن عن نتائج critical، لكنه لا يتجاوز حظر سياسة خطاف
plugin before_install، كما أنه لا يتجاوز
إخفاقات الفحص.
ينطبق هذا الخيار في CLI على تدفقات تثبيت/تحديث plugin. أما تثبيتات تبعيات
Skills المدعومة بالبوابة فتستخدم التجاوز المطابق للطلب dangerouslyForceUnsafeInstall، بينما يظل openclaw skills install تدفق تنزيل/تثبيت Skills منفصلًا عبر ClawHub.
يُعد plugins install أيضًا سطح التثبيت لحزم الخطافات التي تكشف
openclaw.hooks في package.json. استخدم openclaw hooks للحصول على رؤية
الخطافات المصفّاة والتفعيل لكل خطاف، وليس لتثبيت الحزم.
تكون مواصفات npm خاصة بالسجل فقط (اسم الحزمة + إصدار دقيق اختياري أو
dist-tag). ويتم رفض مواصفات Git/URL/file ونطاقات semver. كما تُشغَّل
عمليات تثبيت التبعيات باستخدام --ignore-scripts لأسباب تتعلق بالأمان.
تبقى المواصفات المجردة و@latest على المسار المستقر. وإذا قام npm بحل أيٍّ من
هذين إلى إصدار prerelease، فسيتوقف OpenClaw ويطلب منك الاشتراك صراحةً باستخدام
وسم prerelease مثل @beta/@rc أو إصدار prerelease دقيق مثل
@1.2.3-beta.4.
إذا طابقت مواصفة تثبيت مجردة معرّف plugin مضمّنًا (على سبيل المثال diffs)،
فسيقوم OpenClaw بتثبيت plugin المضمّن مباشرةً. ولتثبيت حزمة npm بالاسم
نفسه، استخدم مواصفة ذات نطاق صريح (على سبيل المثال @scope/diffs).
الأرشيفات المدعومة: .zip و.tgz و.tar.gz و.tar.
كما أن تثبيتات Claude marketplace مدعومة أيضًا.
تستخدم تثبيتات ClawHub محدِّد clawhub:<package> الصريح:
plugin@marketplace عندما يكون اسم marketplace موجودًا في
ذاكرة السجل المحلية الخاصة بـ Claude في ~/.claude/plugins/known_marketplaces.json:
--marketplace عندما تريد تمرير مصدر marketplace بشكل صريح:
- اسم known-marketplace خاص بـ Claude من
~/.claude/plugins/known_marketplaces.json - جذر marketplace محلي أو مسار
marketplace.json - صيغة مختصرة لمستودع GitHub مثل
owner/repo - عنوان URL لمستودع GitHub مثل
https://github.com/owner/repo - عنوان git URL
- plugins OpenClaw الأصلية (
openclaw.plugin.json) - حزم متوافقة مع Codex (
.codex-plugin/plugin.json) - حزم متوافقة مع Claude (
.claude-plugin/plugin.jsonأو تخطيط مكونات Claude الافتراضي) - حزم متوافقة مع Cursor (
.cursor-plugin/plugin.json)
settings.json الافتراضية الخاصة بـ Claude، وقيم Claude
الافتراضية الخاصة بـ .lsp.json / lspServers المعلنة في manifest، وCursor command-skills، وأدلة خطافات Codex المتوافقة مدعومة؛ أما إمكانات الحزم الأخرى المكتشفة فتظهر في التشخيصات/المعلومات لكنها لم تُوصَل بعد بتنفيذ وقت التشغيل.
السرد
--enabled لعرض plugins المحمّلة فقط. واستخدم --verbose للتبديل من
عرض الجدول إلى أسطر تفاصيل لكل plugin مع بيانات
المصدر/المنشأ/الإصدار/التفعيل. واستخدم --json للحصول على مخزون مقروء آليًا بالإضافة إلى
تشخيصات السجل.
استخدم --link لتجنب نسخ دليل محلي (يضيفه إلى plugins.load.paths):
--force غير مدعوم مع --link لأن التثبيتات المرتبطة تعيد استخدام
المسار المصدر بدلًا من النسخ فوق هدف تثبيت مُدار.
استخدم --pin في تثبيتات npm لحفظ المواصفة الدقيقة المحلولة (name@version) في
plugins.installs مع إبقاء السلوك الافتراضي غير مثبت.
إلغاء التثبيت
uninstall بإزالة سجلات plugin من plugins.entries وplugins.installs،
وقائمة سماح plugin، وإدخالات plugins.load.paths المرتبطة عند الاقتضاء.
وبالنسبة إلى plugins الذاكرة النشطة، تتم إعادة تعيين خانة الذاكرة إلى memory-core.
افتراضيًا، يزيل إلغاء التثبيت أيضًا دليل تثبيت plugin الموجود تحت جذر plugins
لدليل الحالة النشط. استخدم
--keep-files للإبقاء على الملفات على القرص.
يُدعَم --keep-config كاسم مستعار مهمل لصالح --keep-files.
التحديث
plugins.installs وعلى
تثبيتات حزم الخطافات المتعقبة في hooks.internal.installs.
عندما تمرر معرّف plugin، يعيد OpenClaw استخدام مواصفة التثبيت المسجلة لذلك
plugin. وهذا يعني أن dist-tags المخزنة سابقًا مثل @beta والإصدارات
الدقيقة المثبتة تظل مستخدمة في تشغيلات update <id> اللاحقة.
بالنسبة إلى تثبيتات npm، يمكنك أيضًا تمرير مواصفة صريحة لحزمة npm تتضمن dist-tag
أو إصدارًا دقيقًا. ويقوم OpenClaw بحل اسم الحزمة هذا مرة أخرى إلى سجل plugin
المتعقب، ويحدّث ذلك plugin المثبّت، ويسجل مواصفة npm الجديدة من أجل التحديثات
المستقبلية المعتمدة على المعرّف.
عند وجود قيمة hash سلامة مخزنة وتغيّر hash الأثر الذي تم جلبه،
يطبع OpenClaw تحذيرًا ويطلب التأكيد قبل المتابعة. استخدم
القيمة العامة --yes لتجاوز المطالبات في تشغيلات CI/غير التفاعلية.
يتوفر أيضًا --dangerously-force-unsafe-install في plugins update كتجاوز
طوارئ للحالات الإيجابية الكاذبة في فحص الشيفرة الخطرة المضمّن أثناء
تحديثات plugin. ومع ذلك، فهو لا يزال لا يتجاوز حظر سياسات before_install الخاصة بـ plugin
أو حظر فشل الفحص، كما أنه ينطبق فقط على تحديثات plugin وليس على تحديثات
حزم الخطافات.
الفحص
- plain-capability — نوع إمكانية واحد (مثل plugin يوفّر provider فقط)
- hybrid-capability — أنواع إمكانيات متعددة (مثل النص + الكلام + الصور)
- hook-only — خطافات فقط، من دون إمكانيات أو أسطح
- non-capability — أدوات/أوامر/خدمات ولكن من دون إمكانيات
--json تقريرًا مقروءًا آليًا مناسبًا للبرمجة النصية
والتدقيق.
يعرض inspect --all جدولًا على مستوى الأسطول يتضمن الشكل، وأنواع
الإمكانيات، وملاحظات التوافق، وإمكانات الحزم، وأعمدة ملخص الخطافات.
info هو اسم مستعار لـ inspect.
Doctor
doctor أخطاء تحميل plugin، وتشخيصات manifest/الاكتشاف، و
ملاحظات التوافق. وعندما يكون كل شيء سليمًا فإنه يطبع No plugin issues detected.
Marketplace
marketplace.json، أو
صيغة GitHub المختصرة مثل owner/repo، أو عنوان URL لمستودع GitHub، أو عنوان git URL. ويقوم --json
بطباعة تسمية المصدر المحلولة بالإضافة إلى manifest الـ marketplace المحلّل
وإدخالات plugin.