Plugin reference
تجاوزات تثبيت Plugin
تتيح تجاوزات تثبيت Plugin للمشرفين توجيه عمليات تثبيت Plugin أثناء الإعداد إلى
حزمة npm محددة أو ملف tar محلي ناتج عن npm pack بدلًا من المصدر الموجود في الكتالوج
أو المضمّن أو مصدر npm الافتراضي. وهي مخصّصة فقط لاختبارات E2E والتحقق من الحزم؛
أما المستخدمون العاديون فيثبّتون الإضافات باستخدام
openclaw plugins install.
البيئة
تظل التجاوزات معطلة ما لم يُعيَّن كلا المتغيرين:
export OPENCLAW_ALLOW_PLUGIN_INSTALL_OVERRIDES=1export OPENCLAW_PLUGIN_INSTALL_OVERRIDES='{ "codex": "npm-pack:/tmp/openclaw-codex-2026.5.8.tgz", "openclaw-web-search": "npm:@openclaw/web-search@2026.5.8"}'خريطة التجاوزات هي JSON مفاتيحها معرّفات الإضافات. تدعم القيم ما يلي:
| البادئة | المصدر |
|---|---|
npm:<registry-spec> |
حزم السجل أو الإصدارات المحددة بدقة أو الوسوم |
npm-pack:<path.tgz> |
ملفات tar محلية ناتجة عن npm pack؛ تُحلّ المسارات النسبية انطلاقًا من دليل العمل الحالي |
السلوك
عندما يثبّت تدفق أثناء الإعداد Plugin يظهر معرّفه في الخريطة، يستخدم OpenClaw مصدر التجاوز بدلًا من المصدر الموجود في الكتالوج أو المضمّن أو مصدر npm الافتراضي. ينطبق ذلك على الإعداد الأولي وأي تدفق آخر يستخدم مثبّت Plugin المشترك أثناء الإعداد.
- تظل التجاوزات تفرض معرّف Plugin المتوقع: يجب أن يثبّت ملف tar المعيّن إلى
codexPlugin يكون معرّف البيان الخاص به هوcodex. - لا ترث التجاوزات حالة المصدر الرسمي الموثوق. حتى عندما يمثّل إدخال الكتالوج عادةً حزمة مملوكة لـ OpenClaw، يُعامل التجاوز على أنه إدخال اختبار يقدمه المشغّل.
- لا يمكن لملفات
.envفي مساحة العمل تفعيل تجاوزات التثبيت؛ فكلا متغيري البيئة مدرجان في قائمة dotenv المحظورة لمساحة العمل. عيّنهما في الصدفة الموثوقة أو مهمة CI أو أمر الاختبار البعيد الذي يشغّل OpenClaw.
اختبار E2E للحزمة
استخدم دليل حالة معزولًا كي لا تمس عمليات تثبيت الحزم وسجلات التثبيت حالة OpenClaw العادية لديك:
npm pack extensions/codex --pack-destination /tmp OPENCLAW_STATE_DIR="$(mktemp -d)" \OPENCLAW_ALLOW_PLUGIN_INSTALL_OVERRIDES=1 \OPENCLAW_PLUGIN_INSTALL_OVERRIDES='{"codex":"npm-pack:/tmp/openclaw-codex-2026.5.8.tgz"}' \pnpm openclaw onboard --mode localتحقق من الحزمة المثبتة داخل دليل الحالة:
find "$OPENCLAW_STATE_DIR/npm/projects" -path '*/node_modules/@openclaw/codex/package.json' -printgrep -R '"@openclaw/codex"' "$OPENCLAW_STATE_DIR/npm/projects"/*/package-lock.jsonلاختبار E2E المباشر لمزوّد الخدمة، حمّل مفتاح API الحقيقي من صدفة موثوقة أو سرّ CI قبل تشغيل أمر الاختبار. لا تطبع المفاتيح؛ أبلغ فقط عن المصدر وما إذا كان المفتاح موجودًا.