Plugins
توسّع Plugins إمكانات OpenClaw بقدرات جديدة: القنوات، وموفري النماذج، والأدوات، وSkills، والكلام، والنسخ الفوري، والصوت الفوري، وفهم الوسائط، وتوليد الصور، وتوليد الفيديو، وجلب الويب، والبحث على الويب، وغير ذلك. بعض plugins تكون أساسية (تأتي مع OpenClaw)، وأخرى خارجية (ينشرها المجتمع على npm).بدء سريع
إذا كنت تفضّل التحكم مباشرة من الدردشة، فعِّل
commands.plugins: true واستخدم:
clawhub:<pkg> صريح، أو مواصفة حزمة مجردة (ClawHub أولًا، ثم fallback إلى npm).
إذا كانت التهيئة غير صالحة، يفشل التثبيت عادةً بشكل مغلق ويوجهك إلى
openclaw doctor --fix. والاستثناء الوحيد للاسترداد هو مسار ضيق لإعادة تثبيت plugin مضمّن
لـ plugins التي تختار الاشتراك في
openclaw.install.allowInvalidConfigRecovery.
أنواع plugins
يتعرف OpenClaw على تنسيقين من plugins:| التنسيق | كيف يعمل | أمثلة |
|---|---|---|
| Native | openclaw.plugin.json + وحدة runtime؛ يُنفّذ داخل العملية | plugins الرسمية، وحزم npm المجتمعية |
| Bundle | تخطيط متوافق مع Codex/Claude/Cursor؛ يُربط بميزات OpenClaw | .codex-plugin/، .claude-plugin/، .cursor-plugin/ |
openclaw plugins list. راجع Plugin Bundles لمعرفة تفاصيل الحزم.
إذا كنت تكتب plugin native، فابدأ من بناء Plugins
ونظرة عامة على Plugin SDK.
plugins الرسمية
قابلة للتثبيت (npm)
| Plugin | الحزمة | الوثائق |
|---|---|---|
| Matrix | @openclaw/matrix | Matrix |
| Microsoft Teams | @openclaw/msteams | Microsoft Teams |
| Nostr | @openclaw/nostr | Nostr |
| Voice Call | @openclaw/voice-call | Voice Call |
| Zalo | @openclaw/zalo | Zalo |
| Zalo Personal | @openclaw/zalouser | Zalo Personal |
أساسية (تأتي مع OpenClaw)
موفرو النماذج (مفعّلة افتراضيًا)
موفرو النماذج (مفعّلة افتراضيًا)
anthropic وbyteplus وcloudflare-ai-gateway وgithub-copilot وgoogle،
وhuggingface وkilocode وkimi-coding وminimax وmistral وqwen،
وmoonshot وnvidia وopenai وopencode وopencode-go وopenrouter،
وqianfan وsynthetic وtogether وvenice،
وvercel-ai-gateway وvolcengine وxiaomi وzaiPlugins الذاكرة
Plugins الذاكرة
memory-core— بحث الذاكرة المضمّن (الافتراضي عبرplugins.slots.memory)memory-lancedb— ذاكرة طويلة المدى تُثبَّت عند الطلب مع auto-recall/capture (عيّنplugins.slots.memory = "memory-lancedb")
موفرو الكلام (مفعّلة افتراضيًا)
موفرو الكلام (مفعّلة افتراضيًا)
elevenlabs وmicrosoftأخرى
أخرى
browser— plugin متصفح مضمّنة لأداة المتصفح، وCLI openclaw browser، وطريقة gateway browser.request، وruntime المتصفح، وخدمة التحكم الافتراضية في المتصفح (مفعّلة افتراضيًا؛ عطّلها قبل استبدالها)copilot-proxy— جسر VS Code Copilot Proxy (معطّل افتراضيًا)
التهيئة
| الحقل | الوصف |
|---|---|
enabled | مفتاح تشغيل رئيسي (الافتراضي: true) |
allow | allowlist لـ plugins (اختياري) |
deny | denylist لـ plugins (اختياري؛ deny له الأولوية) |
load.paths | ملفات/أدلة plugins إضافية |
slots | محددات خانات حصرية (مثل memory وcontextEngine) |
entries.\<id\> | مفاتيح التشغيل + التهيئة لكل plugin |
openclaw gateway)،
فعادةً ما يتم تنفيذ إعادة التشغيل هذه تلقائيًا بعد لحظات من وصول كتابة التهيئة.
حالات plugin: معطّلة مقابل مفقودة مقابل غير صالحة
حالات plugin: معطّلة مقابل مفقودة مقابل غير صالحة
- معطّلة: plugin موجودة لكن قواعد التمكين عطّلتها. يتم الاحتفاظ بالتهيئة.
- مفقودة: تشير التهيئة إلى معرّف plugin لم يعثر عليه الاكتشاف.
- غير صالحة: plugin موجودة لكن تهيئتها لا تطابق المخطط المعلن.
الاكتشاف والأولوية
يفحص OpenClaw plugins بهذا الترتيب (أول تطابق يفوز):امتدادات مساحة العمل
\<workspace\>/.openclaw/<plugin-root>/*.ts و \<workspace\>/.openclaw/<plugin-root>/*/index.ts.قواعد التمكين
- يؤدي
plugins.enabled: falseإلى تعطيل جميع plugins - يتغلب
plugins.denyدائمًا على allow - يؤدي
plugins.entries.\<id\>.enabled: falseإلى تعطيل تلك plugin - plugins ذات المصدر من مساحة العمل تكون معطّلة افتراضيًا (ويجب تمكينها صراحةً)
- تتبع plugins المضمّنة مجموعة التفعيل الافتراضية المدمجة ما لم يتم تجاوزها
- يمكن للخانات الحصرية فرض تمكين plugin المحددة لتلك الخانة
خانات plugin (فئات حصرية)
بعض الفئات حصرية (واحدة فقط تكون نشطة في كل مرة):| الخانة | ما الذي تتحكم فيه | الافتراضي |
|---|---|---|
memory | plugin الذاكرة النشطة | memory-core |
contextEngine | محرك السياق النشط | legacy (مضمّن) |
مرجع CLI
openclaw plugins enable <id>.
يقوم --force بالكتابة فوق plugin مثبتة موجودة أو حزمة hooks موجودة في مكانها.
وهو غير مدعوم مع --link، الذي يعيد استخدام مسار المصدر بدلًا من
النسخ فوق هدف تثبيت مُدار.
--pin خاص بـ npm فقط. وهو غير مدعوم مع --marketplace، لأن
تثبيتات marketplace تحفظ بيانات مصدر marketplace الوصفية بدلًا من مواصفة npm.
يُعد --dangerously-force-unsafe-install تجاوزًا طارئًا لكسر الزجاج من أجل النتائج الإيجابية الكاذبة
من الماسح المدمج للكود الخطير. فهو يسمح باستمرار تثبيتات plugins
وتحديثاتها بعد نتائج critical المدمجة، لكنه
لا يتجاوز مع ذلك كتل سياسة plugin before_install أو حظر فشل الفحص.
تنطبق راية CLI هذه على تدفقات تثبيت/تحديث plugins فقط. أما تثبيتات تبعيات skill
المعتمدة على Gateway فتستخدم بدلًا من ذلك تجاوز الطلب المطابق dangerouslyForceUnsafeInstall، بينما يظل openclaw skills install تدفق تنزيل/تثبيت Skills منفصلًا عبر ClawHub.
تشارك الحزم المتوافقة في نفس تدفق list/inspect/enable/disable الخاص بـ plugins.
يشمل دعم runtime الحالي Skills الخاصة بالحزم، وClaude command-skills،
وإعدادات Claude الافتراضية في settings.json، والإعدادات الافتراضية لـ Claude في .lsp.json وخوادم lspServers المعلنة في manifest،
وCursor command-skills، وأدلة hooks المتوافقة مع Codex.
يعرض openclaw plugins inspect <id> أيضًا القدرات المكتشفة الخاصة بالحزمة، إضافةً إلى
إدخالات MCP وLSP server المدعومة أو غير المدعومة للـ plugins المعتمدة على الحزم.
يمكن أن تكون مصادر Marketplace اسم marketplace معروفًا لدى Claude من
~/.claude/plugins/known_marketplaces.json، أو جذر marketplace محليًا أو
مسار marketplace.json، أو اختصار GitHub مثل owner/repo، أو عنوان URL لمستودع GitHub، أو عنوان URL لـ git. بالنسبة إلى marketplaces البعيدة، يجب أن تبقى إدخالات plugins داخل
مستودع marketplace المستنسخ وأن تستخدم مصادر مسارات نسبية فقط.
راجع مرجع CLI openclaw plugins للحصول على التفاصيل الكاملة.
نظرة عامة على Plugin API
تصدّر plugins native كائن entry يكشفregister(api). وقد لا تزال plugins
الأقدم تستخدم activate(api) كاسم بديل قديم، لكن plugins الجديدة ينبغي أن
تستخدم register.
register(api) أثناء تفعيل plugin.
ولا يزال المحمّل يرجع إلى activate(api) للـ plugins الأقدم،
لكن plugins المضمّنة وplugins الخارجية الجديدة ينبغي أن تتعامل مع
register بوصفه العقد العام.
طرق التسجيل الشائعة:
| الطريقة | ما الذي تسجّله |
|---|---|
registerProvider | موفّر نماذج (LLM) |
registerChannel | قناة دردشة |
registerTool | أداة عامل |
registerHook / on(...) | hooks دورة الحياة |
registerSpeechProvider | تحويل النص إلى كلام / STT |
registerRealtimeTranscriptionProvider | STT متدفق |
registerRealtimeVoiceProvider | صوت فوري ثنائي الاتجاه |
registerMediaUnderstandingProvider | تحليل الصور/الصوت |
registerImageGenerationProvider | توليد الصور |
registerVideoGenerationProvider | توليد الفيديو |
registerWebFetchProvider | موفّر جلب / scrape للويب |
registerWebSearchProvider | بحث على الويب |
registerHttpRoute | نقطة نهاية HTTP |
registerCommand / registerCli | أوامر CLI |
registerContextEngine | محرك سياق |
registerService | خدمة خلفية |
before_tool_call: تكون{ block: true }نهائية؛ ويتم تخطي المعالِجات ذات الأولوية الأقل.before_tool_call: تكون{ block: false }بلا تأثير ولا تزيل حظرًا سابقًا.before_install: تكون{ block: true }نهائية؛ ويتم تخطي المعالِجات ذات الأولوية الأقل.before_install: تكون{ block: false }بلا تأثير ولا تزيل حظرًا سابقًا.message_sending: تكون{ cancel: true }نهائية؛ ويتم تخطي المعالِجات ذات الأولوية الأقل.message_sending: تكون{ cancel: false }بلا تأثير ولا تزيل إلغاءً سابقًا.
ذو صلة
- بناء Plugins — أنشئ plugin خاصة بك
- Plugin Bundles — التوافق مع حزم Codex/Claude/Cursor
- Plugin Manifest — مخطط manifest
- تسجيل الأدوات — أضف أدوات العامل في plugin
- Plugin Internals — نموذج القدرات وخط أنابيب التحميل
- Community Plugins — قوائم الجهات الخارجية