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
يبقي OpenClaw عمل تبعيات Plugin في وقت التثبيت/التحديث. لا يقوم التحميل وقت التشغيل بتشغيل مديري الحزم، أو إصلاح أشجار التبعيات، أو تعديل دليل حزمة OpenClaw.تقسيم المسؤوليات
تمتلك حزم Plugin مخطط تبعياتها:- تعيش تبعيات وقت التشغيل في
dependenciesأوoptionalDependenciesالخاصة بحزمة Plugin - تكون استيرادات SDK/core استيرادات peer أو استيرادات يوفرها OpenClaw
- تجلب Plugins التطوير المحلية تبعياتها المثبتة مسبقًا بنفسها
- يتم تثبيت Plugins من npm و git في جذور حزم مملوكة لـ OpenClaw
- اكتشاف مصدر Plugin
- تثبيت الحزمة أو تحديثها عند الطلب الصريح
- تسجيل بيانات تعريف التثبيت
- تحميل نقطة دخول Plugin
- الفشل برسالة خطأ قابلة للإجراء عندما تكون التبعيات مفقودة
جذور التثبيت
يستخدم OpenClaw جذورًا ثابتة لكل مصدر:- تُثبَّت حزم npm تحت
~/.openclaw/npm - تُنسَخ حزم git تحت
~/.openclaw/git - تُنسخ أو تُشار إلى تثبيتات local/path/archive بدون إصلاح للتبعيات
~/.openclaw/npm/node_modules بجانب حزمة Plugin. يفحص OpenClaw جذر npm المُدار قبل الوثوق بالتثبيت، ويستخدم npm لإزالة الحزم المُدارة بواسطة npm أثناء إلغاء التثبيت، لذلك تبقى تبعيات وقت التشغيل المرفوعة داخل حد التنظيف المُدار.
تنسخ تثبيتات git المستودع أو تحدّثه، ثم تشغّل:
node_modules المحلي للحزمة والتابع للأب بالطريقة نفسها التي يعمل بها لحزمة Node عادية.
Plugins المحلية
تُعامل Plugins المحلية كدلائل يتحكم بها المطور. لا يشغّل OpenClawnpm install أو pnpm install أو إصلاح التبعيات لها. إذا كانت لدى Plugin محلية تبعيات، فثبّتها في تلك Plugin قبل تحميلها.
يمكن لـ Plugins TypeScript المحلية التابعة لجهات خارجية استخدام مسار Jiti الطارئ. تُحمَّل Plugins JavaScript المعبأة وPlugins الداخلية المضمنة عبر import/require الأصلي بدلًا من Jiti.
بدء التشغيل وإعادة التحميل
لا يثبت بدء تشغيل Gateway وإعادة تحميل الإعدادات تبعيات Plugin أبدًا. إنهما يقرآن سجلات تثبيت Plugin، ويحسبان نقطة الدخول، ويحمّلانها. إذا كانت تبعية مفقودة وقت التشغيل، يفشل تحميل Plugin ويجب أن يوجه الخطأ المشغّل إلى إصلاح صريح:doctor --fix تنظيف حالة التبعيات القديمة التي أنشأها OpenClaw وتثبيت Plugins القابلة للتنزيل والمهيأة والمفقودة من سجلات التثبيت المحلية. لا يصلح التبعيات لـ Plugin محلية مثبتة مسبقًا.
Plugins المضمنة
تُشحَن Plugins المضمنة الخفيفة والحرجة للنواة كجزء من OpenClaw. يجب إما ألا تكون لديها شجرة تبعيات وقت تشغيل ثقيلة، أو أن تُنقل إلى حزمة قابلة للتنزيل على ClawHub/npm. يجب ألا تطلب بيانات Plugin المضمنة التمهيد المرحلي للتبعيات. يجب تعبئة وظائف Plugin الكبيرة أو الاختيارية كـ Plugin عادية وتثبيتها عبر مسار npm/git/ClawHub نفسه مثل Plugins الجهات الخارجية. في نسخ المصدر، يعامل OpenClaw المستودع كمستودع pnpm أحادي. بعدpnpm install، تُحمَّل Plugins المضمنة من extensions/<id> بحيث تكون تبعيات مساحة العمل المحلية للحزمة متاحة ويتم التقاط التعديلات مباشرة. تطوير نسخة المصدر يعتمد على pnpm فقط؛ لا يُعد تشغيل npm install العادي في جذر المستودع طريقة مدعومة لإعداد تبعيات Plugin المضمنة.
| شكل التثبيت | موقع Plugin المضمنة | مالك التبعيات |
|---|---|---|
npm install -g openclaw | شجرة وقت التشغيل المبنية داخل الحزمة | حزمة OpenClaw وتدفقات تثبيت/تحديث/doctor الصريحة لـ Plugin |
نسخة git مع pnpm install | حزم مساحة العمل extensions/<id> | مساحة عمل pnpm، بما في ذلك التبعيات الخاصة بكل حزمة Plugin |
openclaw plugins install ... | جذر Plugin المُدار لـ npm/git/ClawHub | تدفق تثبيت/تحديث Plugin |
تنظيف القديم
أنشأت إصدارات OpenClaw الأقدم جذور تبعيات Plugin المضمنة عند بدء التشغيل أو أثناء إصلاح doctor. يزيل تنظيف doctor الحالي تلك الدلائل والروابط الرمزية القديمة عند استخدام--fix، بما في ذلك جذور plugin-runtime-deps القديمة، وبيانات .openclaw-runtime-deps*، وnode_modules الخاصة بـ Plugin المُنشأة، ودلائل مرحلة التثبيت، ومخازن pnpm المحلية للحزمة.
هذه المسارات بقايا قديمة فقط. يجب ألا تنشئها التثبيتات الجديدة.