المتطلبات
قبل تثبيت Plugin، تأكد من توفر ما يلي:- نسخة OpenClaw أو تثبيت OpenClaw مع توفر CLI
openclaw - وصول شبكي إلى المصدر المحدد، مثل ClawHub أو npm أو مضيف git
- أي بيانات اعتماد خاصة بـ Plugin، أو مفاتيح إعداد، أو أدوات نظام تشغيل تذكرها وثائق إعداد ذلك Plugin
- إذن لـ Gateway الذي يخدم قنواتك لإعادة التحميل أو إعادة التشغيل
البدء السريع
Find the plugin
ابحث في ClawHub عن حزم plugins العامة:ClawHub هو سطح الاكتشاف الأساسي لـ plugins المجتمع. أثناء الانتقال
عند الإطلاق، تظل مواصفات الحزم العادية المجردة تثبت من npm ما لم
تطابق معرف Plugin رسميًا. مواصفات حزم
@openclaw/* الخام التي تطابق
plugins مضمنة تستخدم النسخة المضمنة من بناء OpenClaw الحالي. استخدم
بادئة صريحة عندما تحتاج إلى مصدر محدد.Install the plugin
Configure and enable it
اضبط الإعدادات الخاصة بـ Plugin ضمن إذا كان إعدادك يستخدم قائمة
plugins.entries.<id>.config.
فعّل Plugin عندما لا يكون مفعّلًا بالفعل:plugins.allow مقيّدة، فيجب أن يكون معرف Plugin
المثبت موجودًا فيها قبل أن يتمكن Plugin من التحميل.
يضيف openclaw plugins install المعرف المثبت إلى قائمة
plugins.allow موجودة ويزيل المعرف نفسه من plugins.deny لكي
يتمكن التثبيت الصريح من التحميل بعد إعادة التشغيل.Let the Gateway reload
يتطلب تثبيت كود Plugin أو تحديثه أو إلغاء تثبيته إعادة تشغيل Gateway.
عندما يكون Gateway مُدارًا ويعمل بالفعل مع تمكين إعادة تحميل الإعداد،
يكتشف OpenClaw سجل تثبيت Plugin المتغير ويعيد تشغيل
Gateway تلقائيًا. إذا لم يكن Gateway مُدارًا أو كانت إعادة التحميل معطلة،
فأعد تشغيله بنفسك:تحدّث عمليات التفعيل والتعطيل الإعداد وتحدّث السجل البارد.
يظل فحص وقت التشغيل أوضح مسار تحقق لأسطح وقت التشغيل الحية.
الإعداد
اختيار مصدر تثبيت
| المصدر | استخدمه عندما | مثال |
|---|---|---|
| ClawHub | تريد اكتشافًا أصيلًا لـ OpenClaw، وفحوصات، وبيانات وصفية للإصدارات، وتلميحات تثبيت | openclaw plugins install clawhub:<package> |
| npm | تحتاج إلى سجل npm مباشر أو مسارات عمل dist-tag | openclaw plugins install npm:<package> |
| git | تحتاج إلى فرع، أو وسم، أو commit من مستودع | openclaw plugins install git:github.com/<owner>/<repo>@<ref> |
| مسار محلي | تطوّر أو تختبر Plugin على الجهاز نفسه | openclaw plugins install --link ./my-plugin |
| سوق | تثبّت Plugin متوافقًا مع Claude من سوق | openclaw plugins install <plugin> --marketplace <source> |
@openclaw/* الخام التي تطابق plugins مضمنة إلى
النسخة المضمنة قبل الرجوع إلى npm. استخدم npm:@openclaw/<plugin>@<version> عندما
تريد عمدًا حزمة npm الخارجية بدلًا من النسخة المضمنة المملوكة للصورة.
استخدم clawhub: أو npm: أو git: أو npm-pack: عندما تحتاج
إلى اختيار مصدر حتمي. راجع openclaw plugins
لعقد الأمر الكامل.
بالنسبة لتثبيتات npm، تختار مواصفات الحزم غير المثبتة و@latest أحدث حزمة مستقرة
تعلن التوافق مع بناء OpenClaw هذا. إذا كان إصدار npm الأحدث الحالي
يعلن openclaw.compat.pluginApi أو openclaw.install.minHostVersion أحدث،
يفحص OpenClaw إصدارات الحزم المستقرة الأقدم
ويثبت أحدث إصدار مناسب. تبقى الإصدارات الدقيقة ووسوم القنوات الصريحة
مثل @beta مثبتة على الحزمة المختارة وتفشل عند عدم التوافق.
سياسة تثبيت المشغّل
اضبطsecurity.installPolicy لتشغيل أمر سياسة محلي موثوق قبل
متابعة تثبيت Plugin أو تحديثه. تتلقى السياسة بيانات وصفية إضافة إلى مسار
المصدر المرحلي ويمكنها السماح بالتثبيت أو حظره. تغطي هذه السياسة مسارات
تثبيت/تحديث Plugin عبر CLI والمدعومة من Gateway. تعمل خطافات Plugin
before_install لاحقًا فقط داخل عمليات OpenClaw التي تُحمّل فيها خطافات Plugin،
لذلك استخدم security.installPolicy لقرارات التثبيت المملوكة للمشغّل. يُقبل
العلم المهمل --dangerously-force-unsafe-install للتوافق، لكنه لا
يتجاوز سياسة التثبيت أو قائمة حظر تبعيات Plugin المدمجة في OpenClaw.
راجع إعداد Skills
لمخطط تنفيذ security.installPolicy المشترك الذي تستخدمه كل من Skills و
plugins.
ضبط سياسة Plugin
الشكل الشائع لإعداد Plugin هو:- يعطّل
plugins.enabled: falseجميع plugins ويتخطى عمل اكتشاف/تحميل Plugin. تكون مراجع Plugin القديمة خاملة أثناء تفعيل ذلك؛ أعد تفعيل plugins قبل تشغيل تنظيف doctor عندما تريد إزالة المعرفات القديمة. - يتقدم
plugins.denyعلى allow وعلى تفعيل Plugin الفردي. plugins.allowقائمة سماح حصرية. تبقى الأدوات المملوكة لـ Plugin خارج قائمة السماح غير متاحة، حتى عندما يتضمنtools.allowالقيمة"*".- يعطّل
plugins.entries.<id>.enabled: falsePlugin واحدًا مع الحفاظ على إعداده. - يضيف
plugins.load.pathsملفات أو أدلة Plugin محلية صريحة. يجب أن تكون المسارات المحلية التي يديرهاplugins installأدلة Plugin أو أرشيفات؛ استخدمplugins.load.pathsلملفات Plugin المستقلة. - تكون plugins ذات أصل مساحة العمل معطلة افتراضيًا؛ فعّلها صراحة أو أضفها إلى قائمة السماح قبل استخدام كود مساحة العمل المحلي.
- تتبع plugins المضمنة بياناتها الوصفية المدمجة الخاصة بالتفعيل الافتراضي/التعطيل الافتراضي ما لم يتجاوزها الإعداد صراحة.
- يختار
plugins.slots.<slot>Plugin واحدًا للفئات الحصرية مثل محركات الذاكرة والسياق. يفعّل اختيار الخانة Plugin المحدد إجباريًا لتلك الخانة باعتباره تفعيلًا صريحًا؛ ويمكنه التحميل حتى عندما كان سيحتاج خلاف ذلك إلى اشتراك صريح. ما زالplugins.denyوplugins.entries.<id>.enabled: falseيحظرانه. - يمكن أن تتفعّل plugins المضمنة الاختيارية تلقائيًا عندما يذكر الإعداد أحد أسطحها المملوكة، مثل مرجع موفر/نموذج، أو إعداد قناة، أو خلفية CLI، أو وقت تشغيل حاوية وكيل.
- يحافظ توجيه Codex من عائلة OpenAI على فصل حدود Plugin الخاصة بالموفر ووقت التشغيل:
مراجع نماذج Codex القديمة هي إعداد قديم يصلحه doctor، بينما يملك Plugin
codexالمضمن وقت تشغيل خادم تطبيق Codex لمراجع وكلاءopenai/*القياسية، وagentRuntime.id: "codex"الصريح، ومراجعcodex/*القديمة.
plugins.allow معينًا وتُكتشف plugins غير مضمنة تلقائيًا من
مساحة العمل أو جذور Plugin العامة، تسجل بدء التشغيل
plugins.allow is empty; discovered non-bundled plugins may auto-load: ....
يتضمن التحذير معرفات Plugin المكتشفة، وللقوائم القصيرة، مقتطف
plugins.allow صغيرًا. شغّل
openclaw plugins list --enabled --verbose أو
openclaw plugins inspect <id> باستخدام معرف Plugin
المذكور قبل نسخ plugins موثوقة إلى openclaw.json. تنطبق إرشادات تثبيت الثقة
نفسها عندما تقول التشخيصات إن Plugin تم تحميله
without install/load-path provenance: افحص معرف Plugin ذلك، ثم ثبّت
المعرف الموثوق في plugins.allow أو أعد التثبيت من مصدر موثوق لكي يسجل OpenClaw
مصدر التثبيت.
شغّل openclaw doctor أو openclaw doctor --fix عندما يبلغ التحقق من الإعداد
عن معرفات Plugin قديمة، أو عدم تطابق بين قائمة السماح والأدوات، أو مسارات Plugin مضمنة قديمة.
فهم صيغ Plugin
يتعرف OpenClaw على صيغتين لـ Plugin:| الصيغة | كيفية تحميلها | استخدمها عندما |
|---|---|---|
| Plugin أصلي لـ OpenClaw | openclaw.plugin.json مع وحدة وقت تشغيل تُحمّل داخل العملية | تثبّت أو تبني قدرات وقت تشغيل خاصة بـ OpenClaw |
| حزمة متوافقة | تخطيط Plugin خاص بـ Codex أو Claude أو Cursor يُربط بمخزون Plugin في OpenClaw | تعيد استخدام Skills أو أوامر أو خطافات أو بيانات وصفية للحزم متوافقة |
openclaw plugins list وopenclaw plugins inspect و
openclaw plugins enable وopenclaw plugins disable. راجع
حزم Plugin لحدود توافق الحزم و
بناء plugins لتأليف Plugin أصلي.
خطافات Plugin
يمكن لـ plugins تسجيل خطافات وقت التشغيل، لكن هناك واجهتا API مختلفتان بوظيفتين مختلفتين.- استخدم الخطافات المكتوبة عبر
api.on(...)لخطافات دورة حياة وقت التشغيل. هذا هو السطح المفضل للبرمجيات الوسيطة، والسياسات، وإعادة كتابة الرسائل، وتشكيل المطالبات، والتحكم في الأدوات. - استخدم
api.registerHook(...)فقط عندما تريد المشاركة في نظام الخطافات الداخلي الموضح في الخطافات. هذا مخصص أساسًا للتأثيرات الجانبية الخشنة للأوامر/دورة الحياة والتوافق مع الأتمتة الحالية بنمط HOOK.
- إذا كان المعالج يحتاج إلى أولوية، أو دلالات دمج، أو سلوك حظر/إلغاء، فاستخدم خطافات Plugin المكتوبة.
- إذا كان المعالج يتفاعل فقط مع
command:newأوcommand:resetأوmessage:sentأو أحداث خشنة مشابهة، فإنapi.registerHook(...)مناسب.
openclaw hooks list مع
plugin:<id>. لا يمكنك تفعيلها أو تعطيلها عبر openclaw hooks؛
فعّل Plugin أو عطّله بدلًا من ذلك.
التحقق من Gateway النشط
openclaw plugins list وopenclaw plugins inspect العاديان يقرآن حالة الإعدادات
والـ manifest والسجل الباردة. ولا يثبتان أن Gateway قيد التشغيل بالفعل
استورد رمز Plugin نفسه.
عندما يبدو Plugin مثبتًا لكن حركة المحادثة المباشرة لا تستخدمه:
openclaw gateway run الفعلي الذي
يخدم قنواتك، وليس مجرد غلاف أو مشرف.
استكشاف الأخطاء وإصلاحها
| العرض | التحقق | الإصلاح |
|---|---|---|
يظهر Plugin في plugins list لكن خطافات وقت التشغيل لا تعمل | استخدم openclaw plugins inspect <id> --runtime --json وتأكد من Gateway النشط باستخدام gateway status --deep --require-rpc | أعد تشغيل Gateway المباشر بعد تغييرات التثبيت أو التحديث أو الإعدادات أو المصدر |
| تظهر تشخيصات تكرار ملكية القناة أو الأداة | شغّل openclaw plugins list --enabled --verbose، وافحص كل Plugin مشتبه به باستخدام --runtime --json، وقارن ملكية القناة/الأداة | عطّل مالكًا واحدًا، أو أزل التثبيتات القديمة، أو استخدم preferOver في manifest للاستبدال المقصود |
| تقول الإعدادات إن Plugin مفقود | راجع مخزون Plugin لمعرفة ما إذا كان مضمّنًا أو خارجيًا رسميًا أو للمصدر فقط | ثبّت الحزمة الخارجية، أو فعّل Plugin المضمّن، أو أزل الإعدادات القديمة |
| الإعدادات غير صالحة أثناء التثبيت | اقرأ رسالة التحقق وشغّل openclaw doctor --fix عندما تشير إلى حالة Plugin قديمة | يستطيع Doctor عزل إعدادات Plugin غير الصالحة بتعطيل الإدخال وإزالة الحمولة غير الصالحة |
| مسار Plugin محظور بسبب ملكية أو أذونات مريبة | افحص التشخيص قبل خطأ الإعدادات | أصلح ملكية/أذونات نظام الملفات، ثم شغّل openclaw plugins registry --refresh |
يمنع OPENCLAW_NIX_MODE=1 أوامر دورة الحياة | تأكد من أن التثبيت مُدار بواسطة Nix | غيّر اختيار Plugin في مصدر Nix بدلًا من استخدام أوامر تعديل Plugin |
| يفشل استيراد التبعية في وقت التشغيل | تحقق مما إذا كان Plugin مثبتًا عبر npm/git/ClawHub أو محمّلًا من مسار محلي | شغّل openclaw plugins update <id>، أو أعد تثبيت المصدر، أو ثبّت تبعيات Plugin المحلي بنفسك |
openclaw doctor --fix لإزالة إدخالات Plugin والقنوات
القديمة. ستظل مفاتيح القنوات غير المعروفة التي لا تملك دليلًا على Plugin قديم
تفشل في التحقق حتى تبقى الأخطاء المطبعية ظاهرة.
لاستبدال قناة مقصود، يجب أن يعلن Plugin المفضّل
channelConfigs.<channel-id>.preferOver مع معرّف Plugin القديم أو الأقل
أولوية. إذا كان كلا Pluginين مفعّلين صراحةً، يحتفظ OpenClaw بذلك الطلب
ويبلغ عن تشخيصات تكرار القناة أو الأداة بدلًا من اختيار مالك واحد بصمت.
إذا أبلغت حزمة مثبتة أنها requires compiled runtime output for TypeScript entry ...، فقد نُشرت الحزمة من دون ملفات JavaScript التي
يحتاجها OpenClaw في وقت التشغيل. حدّث أو أعد التثبيت بعد أن ينشر الناشر
JavaScript المترجم، أو عطّل/أزل تثبيت Plugin حتى ذلك الحين.
ملكية مسار Plugin محظور
إذا قالت تشخيصات Pluginblocked plugin candidate: suspicious ownership (... uid=1000, expected uid=0 or root)
وتبعها تحقق الإعدادات برسالة plugin present but blocked، فهذا يعني أن OpenClaw وجد
ملفات Plugin مملوكة لمستخدم Unix مختلف عن العملية التي تحمّلها.
أبقِ إعدادات Plugin في مكانها؛ أصلح ملكية نظام الملفات أو شغّل
OpenClaw بالمستخدم نفسه الذي يملك دليل الحالة.
بالنسبة لتثبيتات Docker، تعمل الصورة الرسمية باسم node (uid 1000)، لذلك يجب عادةً
أن تكون أدلة إعدادات OpenClaw ومساحة العمل المثبتة من المضيف مملوكة
لـ uid 1000:
openclaw doctor --fix أو
openclaw plugins registry --refresh حتى يطابق سجل Plugin المحفوظ
الملفات التي أُصلحت.
إعداد أداة Plugin بطيء
إذا بدا أن دورات الوكيل تتوقف أثناء تجهيز الأدوات، فعّل تسجيل التتبع وتحقق من أسطر توقيت مصنع أدوات Plugin:ذات صلة
- إدارة Plugins - أمثلة أوامر للسرد والتثبيت والتحديث وإلغاء التثبيت والنشر
openclaw plugins- مرجع CLI الكامل- مخزون Plugin - قائمة Plugins المضمّنة والخارجية المولّدة
- مرجع Plugin - صفحات مرجع مولّدة لكل Plugin
- Plugins المجتمع - اكتشاف ClawHub وسياسة PR للوثائق
- حل تبعيات Plugin - جذور التثبيت، وسجلات السجل، وحدود وقت التشغيل
- بناء Plugins - دليل تأليف Plugin أصلي
- نظرة عامة على Plugin SDK - التسجيل في وقت التشغيل، والخطافات، وحقول API
- Plugin manifest - بيانات تعريف manifest والحزمة