Plugins
حِزم Plugin
يمكن لـ OpenClaw تثبيت إضافات من ثلاثة أنظمة بيئية خارجية: Codex وClaude وCursor. وتُسمى هذه حزمًا، وهي حزم من المحتوى والبيانات الوصفية يحوّلها OpenClaw إلى ميزات أصلية مثل Skills والخطافات وأدوات MCP.
سبب وجود الحزم
تُنشر إضافات مفيدة عديدة بتنسيق Codex أو Claude أو Cursor. وبدلًا من مطالبة المؤلفين بإعادة كتابتها كإضافات OpenClaw أصلية، يكتشف OpenClaw هذه التنسيقات ويحوّل محتواها المدعوم إلى مجموعة الميزات الأصلية. يمكنك تثبيت حزمة أوامر Claude أو حزمة Skills من Codex واستخدامها فورًا.
تثبيت حزمة
Install from a directory, archive, or marketplace
# دليل محليopenclaw plugins install ./my-bundle # أرشيفopenclaw plugins install ./my-bundle.tgz # سوق Claudeopenclaw plugins marketplace list <source>openclaw plugins install <plugin> --marketplace <source><source> هو مسار أو مستودع سوق محلي، أو مصدر git/GitHub.
Verify detection
openclaw plugins listopenclaw plugins inspect <id>تعرض الحزم Format: bundle بالإضافة إلى قيمة Bundle format: تساوي codex
أو claude أو cursor.
Restart and use
openclaw gateway restartتصبح الميزات المحوّلة (Skills والخطافات وأدوات MCP وإعدادات LSP الافتراضية) متاحة في الجلسة التالية.
ما يحوّله OpenClaw من الحزم
لا تعمل جميع ميزات الحزم في OpenClaw حاليًا. فيما يلي ما يعمل وما يُكتشف ولكن لم يُوصّل بعد.
المدعوم حاليًا
| الميزة | كيفية تحويلها | ينطبق على |
|---|---|---|
| محتوى Skills | تُحمّل جذور Skills في الحزمة كجذور Skills عادية في OpenClaw | جميع التنسيقات |
| الأوامر | يُتعامل مع commands/ و.cursor/commands/ كجذور Skills |
Claude، Cursor |
| حزم الخطافات | تخطيطات OpenClaw من نوع HOOK.md + handler.ts |
Codex |
| أدوات MCP | يُدمج إعداد MCP للحزمة في إعدادات OpenClaw المضمنة؛ وتُحمّل خوادم stdio وHTTP المدعومة | جميع التنسيقات |
| خوادم LSP | يُدمج ملف Claude المسمى .lsp.json وlspServers المعلنة في البيان ضمن إعدادات LSP الافتراضية المضمنة في OpenClaw |
Claude |
| الإعدادات | يُستورد ملف Claude المسمى settings.json كإعدادات OpenClaw افتراضية مضمنة |
Claude |
محتوى Skills
- تُحمّل جذور Skills في الحزمة كجذور Skills عادية في OpenClaw.
- يُتعامل مع جذور Claude المسماة
commands/كجذور Skills إضافية. - يُتعامل مع جذور Cursor المسماة
.cursor/commands/كجذور Skills إضافية.
تعمل ملفات أوامر Claude بتنسيق Markdown وملفات أوامر Cursor بتنسيق Markdown من خلال محمّل Skills العادي في OpenClaw.
حزم الخطافات
تعمل جذور خطافات الحزمة فقط عندما تستخدم تخطيط حزمة الخطافات المعتاد في
OpenClaw: HOOK.md بالإضافة إلى handler.ts أو handler.js. وينطبق هذا حاليًا
بشكل أساسي على الحالة المتوافقة مع Codex.
MCP لـ OpenClaw المضمن
- يمكن للحزم المفعّلة تقديم إعداد خادم MCP.
- يدمج OpenClaw إعداد MCP الخاص بالحزمة في إعدادات OpenClaw المضمنة
الفعلية تحت
mcpServers. - يتيح OpenClaw أدوات MCP المدعومة الخاصة بالحزمة أثناء أدوار وكيل OpenClaw المضمن، من خلال تشغيل خوادم stdio أو الاتصال بخوادم HTTP.
- يتضمن ملفا تعريف الأدوات
codingوmessagingأدوات MCP الخاصة بالحزم افتراضيًا؛ استخدمtools.deny: ["bundle-mcp"]لتعطيلها لوكيل أو Gateway. - تظل إعدادات الوكيل المضمن المحلية للمشروع مطبّقة بعد إعدادات الحزمة الافتراضية، ولذلك يمكن لإعدادات مساحة العمل تجاوز إدخالات 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"؛ ويكون الافتراضي عند حذفه هوsse. - تمثل
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. وتبلغ مهلة الطلب الافتراضية 60 ثانية، ويمكن تجاوزها باستخدامrequestTimeoutMs.
تسمية الأدوات
يسجل OpenClaw أدوات MCP الخاصة بالحزم بأسماء آمنة لمزوّد الخدمة على الصيغة
serverName__toolName. على سبيل المثال، يُسجّل خادم مفتاحه "vigil-harbor" ويعرض
أداة memory_search باسم vigil-harbor__memory_search.
- تُستبدل المحارف الواقعة خارج
A-Za-z0-9_-بالمحرف-. - تحصل الأجزاء التي قد تبدأ بمحرف غير حرفي على بادئة حرفية، ولذلك تتحول
مفاتيح الخوادم الرقمية مثل
12306إلى بادئات أدوات آمنة لمزوّد الخدمة. - يقتصر طول بادئات الخوادم على 30 محرفًا.
- يقتصر طول أسماء الأدوات الكاملة على 64 محرفًا.
- تستخدم أسماء الخوادم الفارغة
mcpكقيمة احتياطية. - تُميّز الأسماء المطهّرة المتصادمة باستخدام لواحق رقمية.
- يكون الترتيب النهائي للأدوات المعروضة حتميًا حسب الاسم الآمن، ما يحافظ على استقرار ذاكرة التخزين المؤقت عبر أدوار الوكيل المضمن المتكررة.
- يتعامل ترشيح ملفات التعريف مع جميع الأدوات الصادرة من خادم MCP واحد تابع لحزمة
على أنها مملوكة للإضافة
bundle-mcp، ولذلك يمكن لقوائم السماح والمنع في ملف التعريف الإشارة إما إلى أسماء الأدوات المعروضة منفردة أو إلى مفتاح الإضافةbundle-mcp.
إعدادات OpenClaw المضمنة
يُستورد ملف Claude المسمى settings.json كإعدادات OpenClaw مضمنة افتراضية عند
تفعيل الحزمة. يطهّر OpenClaw مفاتيح تجاوز الصدفة قبل تطبيقها:
shellPathshellCommandPrefix
LSP المضمن في OpenClaw
- يمكن لحزم Claude المفعّلة تقديم إعداد خادم LSP.
- يحمّل OpenClaw ملف
.lsp.jsonبالإضافة إلى أي مساراتlspServersمعلنة في البيان. - يُدمج إعداد LSP الخاص بالحزمة في إعدادات LSP الافتراضية الفعلية المضمنة في OpenClaw.
- لا يمكن حاليًا تشغيل سوى خوادم LSP المدعومة والمعتمدة على stdio؛ وتظل
وسائل النقل غير المدعومة ظاهرة في
openclaw plugins inspect <id>.
مُكتشف ولكن غير مُنفّذ
تُكتشف العناصر التالية وتظهر في معلومات التشخيص، لكن OpenClaw لا يشغّلها:
- عناصر Claude المسماة
agentsوأتمتةhooks/hooks.jsonوoutputStyles - عناصر Cursor المسماة
.cursor/agentsو.cursor/hooks.jsonو.cursor/rules - بيانات Codex الوصفية في
.app.jsonبخلاف الإبلاغ عن القدرات
تنسيقات الحزم
Codex bundles
العلامات: .codex-plugin/plugin.json
المحتوى الاختياري: skills/ وhooks/ و.mcp.json و.app.json
تتوافق حزم Codex مع OpenClaw على أفضل وجه عندما تستخدم جذور Skills وأدلة
حزم الخطافات بتخطيط OpenClaw (HOOK.md + handler.ts).
Claude bundles
وضعا اكتشاف:
- استنادًا إلى البيان:
.claude-plugin/plugin.json - من دون بيان: تخطيط Claude الافتراضي (
skills/وcommands/وagents/وhooks/و.mcp.jsonو.lsp.jsonوsettings.json)
السلوك الخاص بـ Claude:
- يُتعامل مع
commands/كمحتوى Skills - يُستورد
settings.jsonإلى إعدادات OpenClaw المضمنة (مع تطهير مفاتيح تجاوز الصدفة) - يتيح
.mcp.jsonأدوات stdio المدعومة لـ OpenClaw المضمن - يُحمّل
.lsp.jsonبالإضافة إلى مساراتlspServersالمعلنة في البيان ضمن إعدادات LSP الافتراضية المضمنة في OpenClaw - يُكتشف
hooks/hooks.jsonولكن لا يُنفّذ - تكون مسارات المكونات المخصصة في البيان إضافية؛ فهي توسّع الإعدادات الافتراضية ولا تستبدلها
Cursor bundles
العلامات: .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 أولًا من تنسيق الإضافة الأصلية:
-
openclaw.plugin.jsonأو ملفpackage.jsonصالح يحتوي علىopenclaw.extensions— يُعامل على أنه إضافة أصلية - علامات الحزم (
.codex-plugin/أو.claude-plugin/أو تخطيط Claude/Cursor الافتراضي) — تُعامل على أنها حزمة
إذا احتوى دليل على كليهما، يستخدم OpenClaw المسار الأصلي. ويمنع ذلك تثبيت الحزم متعددة التنسيقات جزئيًا كحزم.
اعتماديات وقت التشغيل والتنظيف
- لا تحصل الحزم الخارجية المتوافقة على إصلاح
npm installعند بدء التشغيل. ويجب تثبيتها عبرopenclaw plugins installوأن تتضمن كل ما تحتاج إليه داخل دليل الإضافة المثبتة. - تكون إضافات OpenClaw المجمعة والمملوكة له إما مضمنة بخفة في النواة أو قابلة للتنزيل عبر مثبّت الإضافات. ولا يشغّل Gateway مدير حزم لها عند بدء التشغيل مطلقًا.
- يزيل
openclaw doctor --fixسجلات تثبيت الإضافات المجمعة المحلية القديمة، ويمكنه استعادة الإضافات القابلة للتنزيل والمفقودة من فهرس الإضافات المحلي عندما تظل الإعدادات تشير إليها.
الأمان
للحزم حدود ثقة أضيق من الإضافات الأصلية:
- لا يحمّل OpenClaw وحدات تشغيل عشوائية من الحزم داخل العملية.
- يجب أن تبقى مسارات Skills وحزم الخطافات داخل جذر الإضافة، مع التحقق من الحدود.
- تُقرأ ملفات الإعدادات باستخدام عمليات التحقق من الحدود نفسها.
- يمكن تشغيل خوادم MCP المدعومة التي تستخدم stdio كعمليات فرعية.
يجعل هذا الحزم أكثر أمانًا افتراضيًا، ولكن يظل عليك التعامل مع الحزم الخارجية كمحتوى موثوق للميزات التي تتيحها.
استكشاف الأخطاء وإصلاحها
Bundle is detected but capabilities do not run
شغّل openclaw plugins inspect <id>. إذا كانت إحدى القدرات مدرجة ولكن معلّمة
على أنها غير موصّلة، فهذا قيد في المنتج وليس تثبيتًا معطّلًا.
Claude command files do not appear
تأكد من تفعيل الحزمة ومن وجود ملفات Markdown داخل جذر
commands/ أو skills/ مُكتشف.
Claude settings do not apply
لا تُدعم إلا إعدادات OpenClaw المضمنة من settings.json. ولا يتعامل OpenClaw
مع إعدادات الحزمة كتصحيحات مباشرة للإعداد.
Claude hooks do not execute
لا يُستخدم hooks/hooks.json إلا للاكتشاف. إذا كنت تحتاج إلى خطافات قابلة للتشغيل، فاستخدم
تخطيط حزمة الخطافات في OpenClaw أو وفّر إضافة أصلية.
ذو صلة
- تثبيت الإضافات وإعدادها
- إنشاء الإضافات — أنشئ إضافة أصلية
- بيان الإضافة — مخطط البيان الأصلي