Plugins
حزم Plugin
يمكن لـ OpenClaw تثبيت الحزم من ثلاثة أنظمة بيئية خارجية: Codex، Claude، وCursor. تُسمى هذه حزمًا — وهي حزم محتوى وبيانات وصفية يربطها OpenClaw بميزات أصلية مثل Skills والخطّافات وأدوات MCP.
لماذا توجد الحزم
تُنشر كثير من Plugins المفيدة بتنسيق Codex أو Claude أو Cursor. بدلًا من مطالبة المؤلفين بإعادة كتابتها كـ Plugins أصلية في OpenClaw، يكتشف OpenClaw هذه التنسيقات ويربط محتواها المدعوم بمجموعة الميزات الأصلية. يعني هذا أنه يمكنك تثبيت حزمة أوامر Claude أو حزمة Skills من Codex واستخدامها فورًا.
تثبيت حزمة
التثبيت من دليل أو أرشيف أو سوق
# Local directory
openclaw plugins install ./my-bundle
# Archive
openclaw plugins install ./my-bundle.tgz
# Claude marketplace
openclaw plugins marketplace list <marketplace-name>
openclaw plugins install <plugin-name>@<marketplace-name>
التحقق من الاكتشاف
openclaw plugins list
openclaw plugins inspect <id>
تظهر الحزم على أنها Format: bundle مع نوع فرعي هو codex أو claude أو cursor.
إعادة التشغيل والاستخدام
openclaw gateway restart
تصبح الميزات المرتبطة (Skills، والخطّافات، وأدوات MCP، وافتراضيات LSP) متاحة في الجلسة التالية.
ما يربطه OpenClaw من الحزم
لا تعمل كل ميزات الحزم في OpenClaw اليوم. إليك ما يعمل وما يُكتشف لكنه غير موصول بعد.
مدعوم الآن
| الميزة | كيفية ربطها | ينطبق على |
|---|---|---|
| محتوى Skills | تُحمَّل جذور Skills في الحزمة كـ Skills عادية في OpenClaw | كل التنسيقات |
| الأوامر | تُعامَل commands/ و.cursor/commands/ كجذور Skills |
Claude, Cursor |
| حزم الخطّافات | تخطيطات HOOK.md + handler.ts بنمط OpenClaw |
Codex |
| أدوات MCP | يُدمج إعداد MCP للحزمة في إعدادات Pi المضمّنة؛ وتُحمَّل خوادم stdio وHTTP المدعومة | كل التنسيقات |
| خوادم LSP | تُدمج .lsp.json الخاصة بـ Claude وlspServers المعلنة في البيان في افتراضيات LSP لـ Pi المضمّن |
Claude |
| الإعدادات | يُستورد settings.json الخاص بـ Claude كافتراضات Pi المضمّنة |
Claude |
محتوى Skills
- تُحمَّل جذور Skills في الحزمة كجذور Skills عادية في OpenClaw
- تُعامَل جذور
commandsالخاصة بـ Claude كجذور Skills إضافية - تُعامَل جذور
.cursor/commandsالخاصة بـ Cursor كجذور Skills إضافية
يعني هذا أن ملفات أوامر Markdown الخاصة بـ Claude تعمل عبر محمّل Skills العادي في OpenClaw. وتعمل أوامر Markdown الخاصة بـ Cursor عبر المسار نفسه.
حزم الخطّافات
- تعمل جذور الخطّافات في الحزمة فقط عندما تستخدم تخطيط حزمة الخطّافات
العادي في OpenClaw. اليوم، هذه هي أساسًا الحالة المتوافقة مع Codex:
HOOK.mdhandler.tsأوhandler.js
MCP لـ Pi
- يمكن للحزم المفعّلة أن تساهم بإعدادات خادم MCP
- يدمج OpenClaw إعداد MCP للحزمة في إعدادات Pi المضمّنة الفعلية باسم
mcpServers - يعرض OpenClaw أدوات MCP المدعومة من الحزمة أثناء دورات وكيل Pi المضمّن عبر تشغيل خوادم stdio أو الاتصال بخوادم HTTP
- تتضمن ملفات تعريف الأدوات
codingوmessagingأدوات MCP الخاصة بالحزم افتراضيًا؛ استخدمtools.deny: ["bundle-mcp"]لاستبعاد ذلك لوكيل أو Gateway - تظل إعدادات Pi المحلية للمشروع مطبقة بعد افتراضات الحزمة، لذلك يمكن لإعدادات مساحة العمل تجاوز إدخالات MCP الخاصة بالحزمة عند الحاجة
- تُفرز فهارس أدوات MCP الخاصة بالحزم بشكل حتمي قبل التسجيل، بحيث لا تؤدي
تغييرات ترتيب
listTools()من المنبع إلى اضطراب كتل أدوات ذاكرة التخزين المؤقت للموجهات
وسائل النقل
يمكن لخوادم MCP استخدام نقل stdio أو HTTP:
Stdio يشغّل عملية فرعية:
{
"mcp": {
"servers": {
"my-server": {
"command": "node",
"args": ["server.js"],
"env": { "PORT": "3000" }
}
}
}
}
يتصل HTTP بخادم MCP قيد التشغيل عبر sse افتراضيًا، أو عبر streamable-http عند طلب ذلك:
{
"mcp": {
"servers": {
"my-server": {
"url": "http://localhost:3100/mcp",
"transport": "streamable-http",
"headers": {
"Authorization": "Bearer ${MY_SECRET_TOKEN}"
},
"connectionTimeoutMs": 30000
}
}
}
}
- يمكن ضبط
transportعلى"streamable-http"أو"sse"؛ عند حذفه، يستخدم OpenClawsse type: "http"صيغة لاحقة أصلية لـ CLI؛ استخدمtransport: "streamable-http"في إعداد OpenClaw. يطبّعopenclaw mcp setوopenclaw doctor --fixالاسم البديل الشائع.- يُسمح فقط بمخططات URL من نوع
http:وhttps: - تدعم قيم
headersاستيفاء${ENV_VAR} - يُرفض إدخال الخادم الذي يحتوي على كل من
commandوurl - تُحجب بيانات اعتماد URL (معلومات المستخدم ومعلمات الاستعلام) من أوصاف الأدوات والسجلات
- يتجاوز
connectionTimeoutMsمهلة الاتصال الافتراضية البالغة 30 ثانية لكل من وسائل نقل stdio وHTTP
تسمية الأدوات
يسجل OpenClaw أدوات MCP الخاصة بالحزم بأسماء آمنة للمزوّد بالشكل
serverName__toolName. على سبيل المثال، يُسجَّل خادم مفتاحه "vigil-harbor" ويعرض أداة
memory_search باسم vigil-harbor__memory_search.
- تُستبدل الأحرف خارج
A-Za-z0-9_-بـ- - تُحدّ بادئات الخادم بـ 30 حرفًا
- تُحدّ أسماء الأدوات الكاملة بـ 64 حرفًا
- تعود أسماء الخوادم الفارغة إلى
mcp - تُميز الأسماء المنظّفة المتصادمة بلاحقات رقمية
- يكون ترتيب الأدوات النهائي المعروض حتميًا حسب الاسم الآمن لإبقاء دورات Pi المتكررة مستقرة للذاكرة المؤقتة
- يعامل ترشيح ملفات التعريف كل الأدوات من خادم MCP واحد في الحزمة على أنها مملوكة
لـ Plugin بواسطة
bundle-mcp، لذلك يمكن أن تتضمن قوائم السماح والحظر في ملف التعريف أسماء أدوات معروضة فردية أو مفتاح Pluginbundle-mcp
إعدادات Pi المضمّنة
- يُستورد
settings.jsonالخاص بـ Claude كإعدادات Pi مضمّنة افتراضية عندما تكون الحزمة مفعّلة - ينظّف OpenClaw مفاتيح تجاوز الصدفة قبل تطبيقها
المفاتيح المنظّفة:
shellPathshellCommandPrefix
LSP لـ Pi المضمّن
- يمكن لحزم Claude المفعّلة أن تساهم بإعدادات خادم LSP
- يحمّل OpenClaw
.lsp.jsonبالإضافة إلى أي مساراتlspServersمعلنة في البيان - يُدمج إعداد LSP للحزمة في افتراضيات LSP الفعلية لـ Pi المضمّن
- وحدها خوادم LSP المدعومة بالـ stdio قابلة للتشغيل اليوم؛ أما وسائل النقل غير المدعومة
فلا تزال تظهر في
openclaw plugins inspect <id>
مكتشفة لكنها غير منفّذة
هذه العناصر معروفة وتظهر في التشخيصات، لكن OpenClaw لا يشغّلها:
agentsالخاصة بـ Claude، وأتمتةhooks.json، وoutputStyles.cursor/agentsو.cursor/hooks.jsonو.cursor/rulesالخاصة بـ Cursor- بيانات Codex الوصفية المضمنة/الخاصة بالتطبيق بما يتجاوز الإبلاغ عن القدرات
تنسيقات الحزم
حزم Codex
العلامات: .codex-plugin/plugin.json
المحتوى الاختياري: skills/، وhooks/، و.mcp.json، و.app.json
تلائم حزم Codex OpenClaw بأفضل شكل عندما تستخدم جذور Skills وأدلة حزم خطّافات
بنمط OpenClaw (HOOK.md + handler.ts).
حزم Claude
وضعا اكتشاف:
- مستند إلى البيان:
.claude-plugin/plugin.json - بلا بيان: تخطيط Claude الافتراضي (
skills/، وcommands/، وagents/، وhooks/، و.mcp.json، و.lsp.json، وsettings.json)
سلوك خاص بـ Claude:
- يُعامَل
commands/كمحتوى Skills - يُستورد
settings.jsonإلى إعدادات Pi المضمّنة (تُنظَّف مفاتيح تجاوز الصدفة) - تعرض
.mcp.jsonأدوات stdio المدعومة لـ Pi المضمّن - تُحمَّل
.lsp.jsonبالإضافة إلى مساراتlspServersالمعلنة في البيان إلى افتراضيات LSP لـ Pi المضمّن - يُكتشف
hooks/hooks.jsonلكنه لا يُنفّذ - مسارات المكوّنات المخصصة في البيان إضافية (توسّع الافتراضات، ولا تستبدلها)
حزم Cursor
العلامات: .cursor-plugin/plugin.json
المحتوى الاختياري: skills/، و.cursor/commands/، و.cursor/agents/، و.cursor/rules/، و.cursor/hooks.json، و.mcp.json
- يُعامَل
.cursor/commands/كمحتوى Skills .cursor/rules/و.cursor/agents/و.cursor/hooks.jsonللاكتشاف فقط
أسبقية الاكتشاف
يتحقق OpenClaw أولًا من تنسيق Plugin الأصلي:
openclaw.plugin.jsonأوpackage.jsonصالح يحتوي علىopenclaw.extensions— يُعامل على أنه Plugin أصلي- علامات الحزمة (
.codex-plugin/أو.claude-plugin/أو تخطيط Claude/Cursor الافتراضي) — تُعامل على أنها حزمة
إذا احتوى دليل على كليهما، يستخدم OpenClaw المسار الأصلي. يمنع هذا تثبيت الحزم ثنائية التنسيق جزئيًا كحزم.
اعتماديات وقت التشغيل والتنظيف
- لا تحصل الحزم المتوافقة التابعة لجهات خارجية على إصلاح
npm installعند بدء التشغيل. يجب تثبيتها عبرopenclaw plugins installوأن تشحن كل ما تحتاجه داخل دليل Plugin المثبّت. - تكون Plugins المجمّعة المملوكة لـ OpenClaw إما مشحونة بخفة في النواة أو قابلة للتنزيل عبر مثبّت Plugin. لا يشغّل بدء تشغيل Gateway أبدًا مدير حزم من أجلها.
- يزيل
openclaw doctor --fixأدلة الاعتماديات المرحلية القديمة ويمكنه استرداد Plugins القابلة للتنزيل التي تكون مفقودة من فهرس Plugin المحلي عندما تشير إليها الإعدادات.
الأمان
للحزم حد ثقة أضيق من Plugins الأصلية:
- لا يحمّل OpenClaw وحدات وقت تشغيل عشوائية للحزمة داخل العملية
- يجب أن تبقى مسارات Skills وحزم الخطّافات داخل جذر Plugin (مع التحقق من الحدود)
- تُقرأ ملفات الإعدادات باستخدام فحوص الحدود نفسها
- قد تُشغَّل خوادم MCP المدعومة بـ stdio كعمليات فرعية
يجعل هذا الحزم أكثر أمانًا افتراضيًا، لكن يجب أن تظل تتعامل مع حزم الجهات الخارجية كمحتوى موثوق للميزات التي تعرضها فعلًا.
استكشاف الأخطاء وإصلاحها
تم اكتشاف الحزمة لكن القدرات لا تعمل
شغّل openclaw plugins inspect <id>. إذا كانت القدرة مدرجة لكنها مميّزة بأنها
غير موصولة، فهذا قيد في المنتج — وليس تثبيتًا معطّلًا.
ملفات أوامر Claude لا تظهر
تأكد من أن الحزمة مفعّلة وأن ملفات Markdown موجودة داخل جذر
commands/ أو skills/ مكتشف.
إعدادات Claude لا تُطبق
لا تُدعم إلا إعدادات Pi المضمّنة من settings.json. لا يتعامل OpenClaw
مع إعدادات الحزمة كتصحيحات إعداد خام.
خطّافات Claude لا تُنفّذ
hooks/hooks.json للاكتشاف فقط. إذا كنت تحتاج إلى خطّافات قابلة للتشغيل، فاستخدم
تخطيط حزمة خطّافات OpenClaw أو اشحن Plugin أصليًا.
ذات صلة
- تثبيت Plugins وتكوينها
- بناء Plugins — إنشاء Plugin أصلي
- بيان Plugin — مخطط البيان الأصلي