Plugins

إدارة Plugins

معظم سير عمل Plugin هي بضعة أوامر: البحث، والتثبيت، وإعادة تشغيل Gateway، والتحقق، وإلغاء التثبيت عندما لا تعود بحاجة إلى Plugin.

سرد Plugins

openclaw plugins list
openclaw plugins list --enabled
openclaw plugins list --verbose
openclaw plugins list --json

استخدم --json للسكربتات. يتضمن ذلك تشخيصات السجل وحالة dependencyStatus الثابتة لكل Plugin عندما تعلن حزمة Plugin عن dependencies أو optionalDependencies.

openclaw plugins list --json \
  | jq '.plugins[] | {id, enabled, format, source, dependencyStatus}'

plugins list هو فحص مخزون بارد. يعرض ما يمكن لـ OpenClaw اكتشافه من الإعدادات، والمانيفستات، وسجل Plugin؛ ولا يثبت أن عملية Gateway قيد التشغيل بالفعل قد استوردت وقت تشغيل Plugin.

تثبيت Plugins

# Search ClawHub for plugin packages.
openclaw plugins search "calendar"

# Bare package specs try ClawHub first, then npm fallback.
openclaw plugins install <package>

# Force one source.
openclaw plugins install clawhub:<package>
openclaw plugins install npm:<package>

# Install a specific version or dist-tag.
openclaw plugins install clawhub:<package>@1.2.3
openclaw plugins install clawhub:<package>@beta
openclaw plugins install npm:@scope/[email protected]
openclaw plugins install npm:@openclaw/codex

# Install from git or a local development checkout.
openclaw plugins install git:github.com/acme/[email protected]
openclaw plugins install ./my-plugin
openclaw plugins install --link ./my-plugin

بعد تثبيت كود Plugin، أعد تشغيل Gateway الذي يخدم قنواتك:

openclaw gateway restart
openclaw plugins inspect <plugin-id> --runtime --json

استخدم inspect --runtime عندما تحتاج إلى دليل على أن Plugin سجّل أسطح وقت التشغيل مثل الأدوات، والخطافات، والخدمات، وطرق Gateway، أو أوامر CLI المملوكة لـ Plugin.

تحديث Plugins

openclaw plugins update <plugin-id>
openclaw plugins update <npm-package-or-spec>
openclaw plugins update --all

إذا كان Plugin قد ثُبّت من وسم توزيع npm مثل @beta، فإن استدعاءات update <plugin-id> اللاحقة تعيد استخدام ذلك الوسم المسجل. تمرير مواصفة npm صريحة يحوّل التثبيت المتتبَّع إلى تلك المواصفة للتحديثات المستقبلية.

openclaw plugins update @scope/openclaw-plugin@beta
openclaw plugins update @scope/openclaw-plugin

يعيد الأمر الثاني Plugin إلى خط الإصدار الافتراضي في السجل عندما كان مثبّتًا سابقًا على إصدار دقيق أو وسم.

عندما يعمل openclaw update على قناة بيتا، تحاول سجلات Plugin الخاصة بـ npm وClawHub على الخط الافتراضي استخدام إصدار Plugin الموافق @beta أولًا. إذا لم يكن إصدار بيتا هذا موجودًا، يعود OpenClaw إلى مواصفة الافتراضي/الأحدث المسجلة. بالنسبة إلى Plugins من npm، يعود OpenClaw أيضًا عندما تكون حزمة بيتا موجودة لكنها تفشل في تحقق التثبيت. تُحفظ الإصدارات الدقيقة والوسوم الصريحة مثل @rc أو @beta.

إلغاء تثبيت Plugins

openclaw plugins uninstall <plugin-id> --dry-run
openclaw plugins uninstall <plugin-id>
openclaw plugins uninstall <plugin-id> --keep-files
openclaw gateway restart

يزيل إلغاء التثبيت مُدخل إعدادات Plugin، وسجل فهرس Plugin، ومدخلات قائمة السماح/المنع، ومسارات التحميل المرتبطة عند انطباق ذلك. تُزال أدلة التثبيت المُدارة ما لم تمرر --keep-files.

في وضع Nix (OPENCLAW_NIX_MODE=1)، تُعطّل أوامر تثبيت Plugin، وتحديثه، وإلغاء تثبيته، وتمكينه، وتعطيله. أدِر تلك الخيارات في مصدر Nix الخاص بالتثبيت بدلًا من ذلك؛ بالنسبة إلى nix-openclaw، استخدم البدء السريع القائم على الوكيل أولًا.

نشر Plugins

يمكنك نشر Plugins خارجية إلى ClawHub، أو npmjs.com، أو كليهما.

النشر إلى ClawHub

ClawHub هو سطح الاكتشاف العام الأساسي لـ Plugins الخاصة بـ OpenClaw. يمنح المستخدمين بيانات وصفية قابلة للبحث، وسجل إصدارات، ونتائج فحص السجل قبل التثبيت.

npm i -g clawhub
clawhub login
clawhub package publish your-org/your-plugin --dry-run
clawhub package publish your-org/your-plugin
clawhub package publish your-org/[email protected]

يثبّت المستخدمون من ClawHub باستخدام:

openclaw plugins install clawhub:<package>
openclaw plugins install <package>

ما يزال الشكل المجرد يتحقق من ClawHub أولًا.

النشر إلى npmjs.com

يجب أن تتضمن Plugins الأصلية من npm مانيفست Plugin وبيانات وصفية لنقطة دخول OpenClaw في package.json.

{
  "name": "@acme/openclaw-plugin",
  "version": "1.0.0",
  "type": "module",
  "openclaw": {
    "extensions": ["./dist/index.js"]
  }
}
npm publish --access public

يثبّت المستخدمون حزم npm فقط باستخدام:

openclaw plugins install npm:@acme/openclaw-plugin
openclaw plugins install npm:@acme/openclaw-plugin@beta
openclaw plugins install npm:@acme/[email protected]

إذا كانت الحزمة نفسها متاحة أيضًا على ClawHub، فإن npm: يتجاوز البحث في ClawHub ويفرض الحل عبر npm.

اختيار المصدر

  • ClawHub: استخدمه عندما تريد اكتشافًا أصليًا لـ OpenClaw، وملخصات فحص، وإصدارات، وتلميحات تثبيت.
  • npmjs.com: استخدمه عندما تكون تشحن بالفعل حزم JavaScript أو تحتاج إلى سير عمل وسوم توزيع npm/السجلات الخاصة.
  • Git: استخدمه عندما تريد التثبيت مباشرة من فرع، أو وسم، أو تثبيت.
  • مسار محلي: استخدمه عندما تطور Plugin أو تختبره على الجهاز نفسه.

ذو صلة