chore(i18n): refresh ar translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-04-17 07:22:02 +00:00
parent f744e6b2cb
commit aa641c3b07
5 changed files with 1201 additions and 1179 deletions

View File

@ -2,32 +2,32 @@
read_when:
- توسيع qa-lab أو qa-channel
- إضافة سيناريوهات ضمان جودة مدعومة بالمستودع
- بناء أتمتة ضمان جودة ذات واقعية أعلى حول لوحة معلومات Gateway
summary: شكل أتمتة ضمان الجودة الخاص لـ qa-lab وqa-channel والسيناريوهات المُهيأة مسبقًا وتقارير البروتوكول
title: أتمتة ضمان الجودة الشاملة E2E
- بناء أتمتة ضمان جودة ذات واقعية أعلى حول لوحة تحكم Gateway
summary: الشكل الخاص لأتمتة ضمان الجودة لـ qa-lab وqa-channel والسيناريوهات المُهيأة مسبقًا وتقارير البروتوكول
title: أتمتة ضمان الجودة من البداية إلى النهاية
x-i18n:
generated_at: "2026-04-16T21:51:15Z"
generated_at: "2026-04-17T07:17:52Z"
model: gpt-5.4
provider: openai
source_hash: 7deefda1c90a0d2e21e2155ffd8b585fb999e7416bdbaf0ff57eb33ccc063afc
source_hash: 51f97293c184d7c04c95d9858305668fbc0f93273f587ec7e54896ad5d603ab0
source_path: concepts/qa-e2e-automation.md
workflow: 15
---
# أتمتة ضمان الجودة الشاملة E2E
# أتمتة ضمان الجودة من البداية إلى النهاية
تهدف حزمة ضمان الجودة الخاصة إلى اختبار OpenClaw بطريقة أكثر واقعية وتشبه القنوات أكثر مما يمكن أن يقدمه اختبار وحدة واحد.
تهدف حزمة ضمان الجودة الخاصة إلى اختبار OpenClaw بطريقة أكثر واقعية وبهيئة قنوات، مقارنةً بما يمكن أن يحققه اختبار وحدات واحد.
المكونات الحالية:
المكوّنات الحالية:
- `extensions/qa-channel`: قناة رسائل اصطناعية تتضمن أسطح الرسائل الخاصة DM، والقنوات، والخيوط، وردود الفعل، والتحرير، والحذف.
- `extensions/qa-lab`: واجهة تصحيح وحافلة QA لمراقبة النص الحواري، وحقن الرسائل الواردة، وتصدير تقرير Markdown.
- `qa/`: أصول تمهيدية مدعومة بالمستودع لمهمة الانطلاق وسيناريوهات QA الأساسية.
- `extensions/qa-channel`: قناة رسائل اصطناعية تتضمن أسطح الرسائل الخاصة، والقنوات، والخيوط، والتفاعلات، والتعديل، والحذف.
- `extensions/qa-lab`: واجهة Debugger وممر ضمان جودة لمراقبة النص الحواري، وحقن الرسائل الواردة، وتصدير تقرير Markdown.
- `qa/`: أصول تهيئة مدعومة بالمستودع لمهمة البداية وسيناريوهات ضمان الجودة الأساسية.
مسار عمل مشغّل QA الحالي هو موقع QA ذو لوحتين:
تدفّق تشغيل ضمان الجودة الحالي عبارة عن موقع ضمان جودة ذي لوحتين:
- اليسار: لوحة معلومات Gateway (Control UI) مع الوكيل.
- اليمين: QA Lab، ويعرض النص الحواري الشبيه بـ Slack وخطة السيناريو.
- اليسار: لوحة تحكم Gateway (Control UI) مع الوكيل.
- اليمين: QA Lab، ويعرض نصًا حواريًا شبيهًا بـ Slack وخطة السيناريو.
شغّله باستخدام:
@ -35,9 +35,9 @@ x-i18n:
pnpm qa:lab:up
```
يقوم ذلك ببناء موقع QA، وبدء مسار Gateway المدعوم بـ Docker، وإتاحة صفحة QA Lab حيث يمكن لمشغّل أو حلقة أتمتة إعطاء الوكيل مهمة QA، ومراقبة سلوك القناة الحقيقي، وتسجيل ما نجح وما فشل وما بقي معطّلًا.
يقوم ذلك ببناء موقع ضمان الجودة، وبدء مسار Gateway مدعومًا بـ Docker، وكشف صفحة QA Lab حيث يمكن لمشغّل أو لحلقة أتمتة إسناد مهمة ضمان جودة إلى الوكيل، ومراقبة سلوك القناة الفعلي، وتسجيل ما نجح وما فشل وما بقي معطّلًا.
للحصول على تكرار أسرع في واجهة QA Lab دون إعادة بناء صورة Docker في كل مرة، ابدأ الحزمة باستخدام حزمة QA Lab مُركّبة عبر bind mount:
للحصول على تكرار أسرع في واجهة QA Lab من دون إعادة بناء صورة Docker في كل مرة، ابدأ الحزمة باستخدام حزمة QA Lab مركّبة عبر bind mount:
```bash
pnpm openclaw qa docker-build-image
@ -46,68 +46,68 @@ pnpm qa:lab:up:fast
pnpm qa:lab:watch
```
يحافظ `qa:lab:up:fast` على خدمات Docker على صورة مبنية مسبقًا ويقوم بتركيب `extensions/qa-lab/web/dist` داخل حاوية `qa-lab` عبر bind mount. ويعيد `qa:lab:watch` بناء تلك الحزمة عند التغيير، ويُعاد تحميل المتصفح تلقائيًا عند تغيّر قيمة hash لأصول QA Lab.
يبقي `qa:lab:up:fast` خدمات Docker على صورة مبنية مسبقًا، ويجري bind-mount للدليل `extensions/qa-lab/web/dist` داخل حاوية `qa-lab`. ويعيد `qa:lab:watch` بناء تلك الحزمة عند التغيير، ويُعاد تحميل المتصفح تلقائيًا عند تغيّر بصمة أصول QA Lab.
لتشغيل مسار Matrix تجريبي واقعي من ناحية النقل، نفّذ:
لتشغيل مسار فحص Matrix حقيقي على مستوى النقل، شغّل:
```bash
pnpm openclaw qa matrix
```
يقوم هذا المسار بتوفير خادم Tuwunel منزلي مؤقت داخل Docker، ويسجّل مستخدمين مؤقتين للسائق وSUT والمراقب، وينشئ غرفة خاصة واحدة، ثم يشغّل Plugin الحقيقي الخاص بـ Matrix داخل عنصر فرعي QA gateway. يحافظ مسار النقل الحي على إعداد العنصر الفرعي محصورًا بالنقل قيد الاختبار، لذا يعمل Matrix بدون `qa-channel` في إعداد العنصر الفرعي. ويكتب عناصر التقرير المنظَّمة وسجلًا مدمجًا لـ stdout/stderr داخل دليل إخراج Matrix QA المحدد. لالتقاط مخرجات البناء/التشغيل الخاصة بـ `scripts/run-node.mjs` الخارجية أيضًا، اضبط `OPENCLAW_RUN_NODE_OUTPUT_LOG=<path>` إلى ملف سجل محلي في المستودع.
يقوم هذا المسار بتهيئة خادم منزلي Tuwunel مؤقت داخل Docker، وتسجيل مستخدمين مؤقتين للسائق وSUT والمراقب، وإنشاء غرفة خاصة واحدة، ثم تشغيل Plugin Matrix الفعلي داخل عملية فرعية لـ QA gateway. ويحافظ مسار النقل الحي على إعدادات العملية الفرعية محصورة في النقل قيد الاختبار، بحيث يعمل Matrix من دون `qa-channel` في إعدادات العملية الفرعية. كما يكتب مخرجات التقرير المنظَّمة وسجلًا مدمجًا لـ stdout/stderr داخل دليل إخراج Matrix QA المحدد. ولالتقاط مخرجات البناء/المشغّل الخارجية من `scripts/run-node.mjs` أيضًا، اضبط `OPENCLAW_RUN_NODE_OUTPUT_LOG=<path>` إلى ملف سجل محلي داخل المستودع.
لتشغيل مسار Telegram تجريبي واقعي من ناحية النقل، نفّذ:
لتشغيل مسار فحص Telegram حقيقي على مستوى النقل، شغّل:
```bash
pnpm openclaw qa telegram
```
يستهدف هذا المسار مجموعة Telegram خاصة حقيقية واحدة بدلًا من توفير خادم مؤقت. ويتطلب `OPENCLAW_QA_TELEGRAM_GROUP_ID` و`OPENCLAW_QA_TELEGRAM_DRIVER_BOT_TOKEN` و`OPENCLAW_QA_TELEGRAM_SUT_BOT_TOKEN`، بالإضافة إلى روبوتين مختلفين داخل المجموعة الخاصة نفسها. يجب أن يمتلك روبوت SUT اسم مستخدم على Telegram، وتعمل المراقبة بين الروبوتات على أفضل وجه عندما يكون كلا الروبوتين قد فُعّل لهما Bot-to-Bot Communication Mode في `@BotFather`.
يستهدف هذا المسار مجموعة Telegram خاصة حقيقية واحدة بدلًا من تهيئة خادم مؤقت. ويتطلب `OPENCLAW_QA_TELEGRAM_GROUP_ID` و`OPENCLAW_QA_TELEGRAM_DRIVER_BOT_TOKEN` و`OPENCLAW_QA_TELEGRAM_SUT_BOT_TOKEN`، بالإضافة إلى روبوتين مختلفين داخل المجموعة الخاصة نفسها. يجب أن يملك روبوت SUT اسم مستخدم Telegram، وتعمل المراقبة بين الروبوتات على أفضل نحو عندما يكون لدى كلا الروبوتين وضع Bot-to-Bot Communication Mode مفعّلًا في `@BotFather`.
تشارك مسارات النقل الحي الآن عقدًا أصغر واحدًا بدلًا من أن يخترع كل منها شكل قائمة سيناريوهات خاصًا به:
تتشارك مسارات النقل الحية الآن عقدًا أصغر واحدًا بدلًا من أن يبتكر كل مسار منها شكل قائمة السيناريوهات الخاصة به.
يبقى `qa-channel` مجموعة السلوكيات الاصطناعية الواسعة للمنتج وليس جزءًا من مصفوفة تغطية النقل الحي.
يبقى `qa-channel` مجموعة الاختبارات الاصطناعية الواسعة لسلوك المنتج وليس جزءًا من مصفوفة تغطية النقل الحي.
| المسار | Canary | تقييد الإشارة | حظر قائمة السماح | رد على المستوى الأعلى | استئناف بعد إعادة التشغيل | متابعة الخيط | عزل الخيط | مراقبة التفاعل | أمر المساعدة |
| ---------- | ------ | -------------- | ----------------- | ---------------------- | -------------------------- | ------------- | ---------- | --------------- | ------------ |
| Matrix | x | x | x | x | x | x | x | x | |
| Telegram | x | | | | | | | | x |
| المسار | Canary | حصر الإشارات | حظر قائمة السماح | رد على المستوى الأعلى | الاستئناف بعد إعادة التشغيل | متابعة الخيط | عزل الخيط | رصد التفاعل | أمر المساعدة |
| ------ | ------ | ------------ | ---------------- | ---------------------- | ---------------------------- | ------------ | --------- | ------------ | ------------ |
| Matrix | x | x | x | x | x | x | x | x | |
| Telegram | x | | | | | | | | x |
يُبقي ذلك `qa-channel` باعتباره مجموعة سلوكيات المنتج الواسعة، بينما تشارك Matrix وTelegram ووسائط النقل الحية المستقبلية قائمة تحقق صريحة واحدة لعقد النقل.
يحافظ هذا على `qa-channel` بوصفه مجموعة اختبارات سلوك المنتج الواسعة، بينما تتشارك Matrix وTelegram ووسائط النقل الحية المستقبلية قائمة تحقق صريحة واحدة لعقد النقل.
لتشغيل مسار Linux VM مؤقت دون إدخال Docker في مسار QA، نفّذ:
لتشغيل مسار Linux VM مؤقت من دون إدخال Docker في مسار ضمان الجودة، شغّل:
```bash
pnpm openclaw qa suite --runner multipass --scenario channel-chat-baseline
```
يقوم هذا بتشغيل ضيف Multipass جديد، وتثبيت التبعيات، وبناء OpenClaw داخل الضيف، وتشغيل `qa suite`، ثم نسخ تقرير QA والملخّص المعتادين مرة أخرى إلى `.artifacts/qa-e2e/...` على المضيف.
ويعيد استخدام سلوك اختيار السيناريو نفسه الذي يستخدمه `qa suite` على المضيف.
تنفّذ عمليات suite على المضيف وMultipass عدة سيناريوهات محددة بالتوازي مع عمّال gateway معزولين افتراضيًا، حتى 64 عاملًا أو بعدد السيناريوهات المحدد. استخدم `--concurrency <count>` لضبط عدد العمّال، أو `--concurrency 1` للتنفيذ التسلسلي.
تقوم التشغيلات الحية بتمرير مدخلات مصادقة QA المدعومة والعملية للضيف: مفاتيح الموفّر المعتمدة على env، ومسار إعداد موفّر QA الحي، و`CODEX_HOME` عند وجوده. أبقِ `--output-dir` تحت جذر المستودع حتى يتمكن الضيف من الكتابة مرة أخرى عبر مساحة العمل المركّبة.
يقوم هذا بتشغيل ضيف Multipass جديد، وتثبيت الاعتماديات، وبناء OpenClaw داخل الضيف، وتشغيل `qa suite`، ثم نسخ تقرير ضمان الجودة العادي والملخص إلى `.artifacts/qa-e2e/...` على المضيف.
ويعيد استخدام سلوك اختيار السيناريو نفسه الذي تستخدمه `qa suite` على المضيف.
وتنفّذ عمليات suite على المضيف وMultipass عدة سيناريوهات محددة بالتوازي مع عمّال Gateway معزولين افتراضيًا، حتى 64 عاملًا أو عدد السيناريوهات المحددة. استخدم `--concurrency <count>` لضبط عدد العمّال، أو `--concurrency 1` للتنفيذ التسلسلي.
وتُمرَّر في التشغيلات الحية مدخلات مصادقة ضمان الجودة المدعومة والعملية داخل الضيف: مفاتيح الموفر المعتمدة على البيئة، ومسار إعدادات موفر QA الحي، و`CODEX_HOME` عند وجوده. أبقِ `--output-dir` تحت جذر المستودع حتى يتمكن الضيف من الكتابة عكسيًا عبر مساحة العمل المركّبة.
## البذور المدعومة بالمستودع
توجد الأصول التمهيدية في `qa/`:
توجد أصول التهيئة في `qa/`:
- `qa/scenarios/index.md`
- `qa/scenarios/*.md`
وهذه موجودة عمدًا في git بحيث تكون خطة QA مرئية للبشر وللوكيل معًا.
وهذه موجودة عمدًا في git حتى تكون خطة ضمان الجودة مرئية لكلٍّ من البشر والوكيل.
يجب أن يظل `qa-lab` مشغّل Markdown عامًا. كل ملف Markdown للسيناريو هو مصدر الحقيقة لتشغيل اختبار واحد، ويجب أن يعرّف:
يجب أن يظل `qa-lab` مشغّل Markdown عامًا. ويجب أن يكون كل ملف Markdown للسيناريو هو مصدر الحقيقة لتشغيل اختبار واحد، وأن يعرّف ما يلي:
- بيانات وصفية للسيناريو
- مراجع الوثائق والشفرة
- مراجع الوثائق والكود
- متطلبات Plugin اختيارية
- تصحيح إعداد Gateway اختياري
- تصحيح اختياري لإعدادات Gateway
- `qa-flow` القابل للتنفيذ
يُسمح لسطح وقت التشغيل القابل لإعادة الاستخدام الذي يدعم `qa-flow` بأن يظل عامًا وعابرًا للجوانب. على سبيل المثال، يمكن لسيناريوهات Markdown أن تجمع بين مساعدات جانب النقل ومساعدات جانب المتصفح التي تقود Control UI المضمّنة عبر منفذ Gateway `browser.request` دون إضافة مشغّل خاص بحالة معينة.
يُسمح لسطح وقت التشغيل القابل لإعادة الاستخدام الذي يدعم `qa-flow` بأن يظل عامًا وعابرًا للجوانب. على سبيل المثال، يمكن لسيناريوهات Markdown أن تجمع بين أدوات مساعدة على جانب النقل وأخرى على جانب المتصفح تدفع Control UI المضمّنة عبر واجهة Gateway `browser.request` من دون إضافة مشغّل مخصص لحالة خاصة.
يجب أن تظل القائمة الأساسية واسعة بما يكفي لتغطية:
- محادثات DM والقنوات
- المحادثة في الرسائل الخاصة والقنوات
- سلوك الخيوط
- دورة حياة إجراءات الرسائل
- استدعاءات Cron
@ -117,31 +117,41 @@ pnpm openclaw qa suite --runner multipass --scenario channel-chat-baseline
- قراءة المستودع وقراءة الوثائق
- مهمة بناء صغيرة واحدة مثل Lobster Invaders
## محوّلات النقل
## مسارات محاكاة الموفّر
يمتلك `qa-lab` منفذ نقل عامًا لسيناريوهات QA المعتمدة على Markdown.
ويُعد `qa-channel` أول محوّل على هذا المنفذ، لكن الهدف التصميمي أوسع: يجب أن تندمج القنوات المستقبلية الحقيقية أو الاصطناعية في مشغّل suite نفسه بدلًا من إضافة مشغّل QA خاص بالنقل.
يتضمن `qa suite` مسارين محليين لمحاكاة الموفّر:
على مستوى البنية، يكون التقسيم كما يلي:
- `mock-openai` هو محاكي OpenClaw الواعي بالسيناريو. ويظل مسار المحاكاة الحتمي الافتراضي لضمان الجودة المدعوم بالمستودع ولبوابات التماثل.
- `aimock` يشغّل خادم موفّر مدعومًا بـ AIMock لتغطية البروتوكولات والتجهيزات والتسجيل/إعادة التشغيل وحالات الفوضى على نحو تجريبي. وهو إضافة مكملة ولا يستبدل موزّع السيناريو `mock-openai`.
- يمتلك `qa-lab` تنفيذ السيناريو العام، وتوازي العمّال، وكتابة العناصر الناتجة، وإعداد التقارير.
- يمتلك محوّل النقل إعداد Gateway، والجاهزية، ومراقبة الوارد والصادر، وإجراءات النقل، وحالة النقل الموحّدة.
- تحدد ملفات سيناريو Markdown ضمن `qa/scenarios/` تشغيل الاختبار؛ ويقدّم `qa-lab` سطح وقت التشغيل القابل لإعادة الاستخدام الذي ينفّذها.
يوجد تنفيذ مسار الموفّر تحت `extensions/qa-lab/src/providers/`.
ويمتلك كل موفّر إعداداته الافتراضية، وبدء تشغيل خادمه المحلي، وإعدادات نموذج Gateway، واحتياجات تجهيز ملف المصادقة، وأعلام القدرات الحية/الوهمية. ويجب أن يمرّ كود suite وGateway المشترك عبر سجل الموفّرين بدلًا من التفرع بناءً على أسماء الموفّرين.
توجد إرشادات الاعتماد الموجّهة للمشرفين لمحوّلات القنوات الجديدة في
## مُكيّفات النقل
يمتلك `qa-lab` واجهة نقل عامة لسيناريوهات ضمان الجودة المعتمدة على Markdown.
ويُعد `qa-channel` أول مُكيّف على هذه الواجهة، لكن الهدف التصميمي أوسع: يجب أن تتمكن القنوات المستقبلية، سواء كانت حقيقية أو اصطناعية، من الاندماج في مشغّل suite نفسه بدلًا من إضافة مشغّل ضمان جودة خاص بالنقل.
على مستوى المعمارية، يكون التقسيم كما يلي:
- يمتلك `qa-lab` تنفيذ السيناريوهات العامة، وتوازي العمّال، وكتابة المخرجات، وإعداد التقارير.
- يمتلك مُكيّف النقل إعدادات Gateway، والجاهزية، ومراقبة الوارد والصادر، وإجراءات النقل، وحالة النقل المطَبَّعة.
- تحدد ملفات سيناريو Markdown ضمن `qa/scenarios/` تشغيل الاختبار؛ ويوفّر `qa-lab` سطح وقت التشغيل القابل لإعادة الاستخدام الذي ينفذها.
توجد إرشادات الاعتماد الموجهة للمشرفين لمُكيّفات القنوات الجديدة في
[الاختبار](/ar/help/testing#adding-a-channel-to-qa).
## إعداد التقارير
يصدّر `qa-lab` تقرير بروتوكول Markdown من المخطط الزمني للحافلة المرصودة.
يصدّر `qa-lab` تقرير بروتوكول بصيغة Markdown من المخطط الزمني للممر المرصود.
ويجب أن يجيب التقرير عن:
- ما الذي نجح
- ما الذي فشل
- ما الذي بقي معطّلًا
- ما سيناريوهات المتابعة التي تستحق الإضافة
- ما سيناريوهات المتابعة الجديرة بالإضافة
لإجراء فحوصات الشخصية والأسلوب، شغّل السيناريو نفسه عبر عدة مراجع نماذج حية واكتب تقرير Markdown مُحكَّمًا:
لفحوصات الطابع والأسلوب، شغّل السيناريو نفسه عبر عدة مراجع لنماذج حية واكتب تقرير Markdown خاضعًا للتحكيم:
```bash
pnpm openclaw qa character-eval \
@ -160,22 +170,23 @@ pnpm openclaw qa character-eval \
--judge-concurrency 16
```
يقوم هذا الأمر بتشغيل عمليات فرعية محلية لـ QA gateway، وليس Docker. يجب أن تضبط سيناريوهات تقييم الشخصية الـ persona عبر `SOUL.md`، ثم تشغّل أدوار مستخدم عادية مثل الدردشة، والمساعدة في مساحة العمل، والمهام الصغيرة المتعلقة بالملفات. يجب ألا يُخبَر النموذج المرشح بأنه قيد التقييم. يحافظ الأمر على كل نص حواري كامل، ويسجل إحصاءات التشغيل الأساسية، ثم يطلب من نماذج التحكيم في الوضع السريع مع استدلال `xhigh` ترتيب التشغيلات بحسب الطبيعية والطابع والفكاهة.
استخدم `--blind-judge-models` عند المقارنة بين الموفّرين: سيظل موجّه التحكيم يحصل على كل نص حواري وحالة تشغيل، لكن تُستبدل مراجع المرشحين بتسميات محايدة مثل `candidate-01`؛ ثم يربط التقرير التصنيفات مرة أخرى بالمراجع الحقيقية بعد التحليل.
تستخدم تشغيلات المرشحين افتراضيًا مستوى تفكير `high`، مع `xhigh` لنماذج OpenAI التي تدعمه. يمكنك تجاوز مرشح محدد مباشرة باستخدام
`--model provider/model,thinking=<level>`. ولا يزال `--thinking <level>` يضبط قيمة احتياطية عامة، كما يُحتفظ بالصيغة الأقدم `--model-thinking <provider/model=level>` من أجل التوافق.
تستخدم مراجع مرشحي OpenAI الوضع السريع افتراضيًا بحيث تُستخدم المعالجة ذات الأولوية عندما يدعمها الموفّر. أضف `,fast` أو `,no-fast` أو `,fast=false` مباشرة عندما يحتاج مرشح واحد أو حكم واحد إلى تجاوز. مرّر `--fast` فقط عندما تريد فرض تفعيل الوضع السريع لكل نموذج مرشح. تُسجَّل مدد المرشحين والحكام في التقرير لتحليل القياس المعياري، لكن موجّهات التحكيم تنص صراحة على عدم الترتيب بحسب السرعة.
تستخدم تشغيلات نماذج المرشحين والحكام افتراضيًا توازيًا بمقدار 16. خفّض
`--concurrency` أو `--judge-concurrency` عندما تجعل حدود الموفّر أو ضغط Gateway المحلي التشغيل مشوشًا أكثر من اللازم.
عند عدم تمرير أي `--model` للمرشحين، يستخدم تقييم الشخصية افتراضيًا
`openai/gpt-5.4` و`openai/gpt-5.2` و`openai/gpt-5` و`anthropic/claude-opus-4-6` و`anthropic/claude-sonnet-4-6` و`zai/glm-5.1` و`moonshot/kimi-k2.5` و
`google/gemini-3.1-pro-preview` عند عدم تمرير `--model`.
وعند عدم تمرير أي `--judge-model`، يستخدم الحكام افتراضيًا
يشغّل هذا الأمر عمليات QA gateway فرعية محلية، وليس Docker. يجب أن تضبط سيناريوهات تقييم الطابع الشخصية عبر `SOUL.md`، ثم تُجري أدوار مستخدم عادية مثل المحادثة، ومساعدة مساحة العمل، والمهام الصغيرة على الملفات. ويجب ألا يُبلَّغ النموذج المرشح بأنه قيد التقييم. ويحافظ الأمر على كل نص حواري كامل، ويسجل إحصاءات التشغيل الأساسية، ثم يطلب من نماذج التحكيم في الوضع السريع مع استدلال `xhigh` ترتيب التشغيلات بحسب الطبيعية والطابع والفكاهة.
استخدم `--blind-judge-models` عند المقارنة بين الموفّرين: سيظل موجّه التحكيم يتلقى كل نص حواري وحالة تشغيل، لكن ستُستبدل مراجع المرشحين بتسميات محايدة مثل `candidate-01`؛ ويعيد التقرير ربط الترتيب بالمراجع الحقيقية بعد التحليل.
تستخدم تشغيلات المرشحين افتراضيًا مستوى تفكير `high`، مع `xhigh` لنماذج OpenAI التي تدعمه. ويمكنك تجاوز مرشح محدد ضمنيًا باستخدام
`--model provider/model,thinking=<level>`. وما زال `--thinking <level>` يضبط قيمة احتياطية عامة، كما يُحتفظ بالشكل الأقدم `--model-thinking <provider/model=level>` من أجل التوافق.
تستخدم مراجع المرشحين الخاصة بـ OpenAI الوضع السريع افتراضيًا بحيث تُستخدم المعالجة ذات الأولوية عندما يدعمها الموفّر. أضف `,fast` أو `,no-fast` أو `,fast=false` ضمنيًا عندما يحتاج مرشح واحد أو حكم واحد إلى تجاوز. مرّر `--fast` فقط عندما تريد فرض الوضع السريع على كل نموذج مرشح. وتُسجَّل مدد تشغيل المرشحين والحكام في التقرير لتحليل المقاييس، لكن توجيهات التحكيم تنص صراحةً على عدم الترتيب حسب السرعة.
تستخدم تشغيلات نماذج المرشحين والحكام افتراضيًا توازيًا مقداره 16. خفّض
`--concurrency` أو `--judge-concurrency` عندما تجعل حدود الموفّر أو ضغط Gateway المحلي التشغيل صاخبًا أكثر من اللازم.
عندما لا يُمرَّر أي `--model` للمرشح، يستخدم تقييم الطابع افتراضيًا
`openai/gpt-5.4` و`openai/gpt-5.2` و`openai/gpt-5` و`anthropic/claude-opus-4-6` و`anthropic/claude-sonnet-4-6` و`zai/glm-5.1` و
`moonshot/kimi-k2.5` و
`google/gemini-3.1-pro-preview`.
وعندما لا يُمرَّر أي `--judge-model`، تكون النماذج الحكَمية الافتراضية هي
`openai/gpt-5.4,thinking=xhigh,fast` و
`anthropic/claude-opus-4-6,thinking=high`.
## الوثائق ذات الصلة
- [الاختبار](/ar/help/testing)
- [QA Channel](/ar/channels/qa-channel)
- [لوحة المعلومات](/web/dashboard)
- [قناة QA](/ar/channels/qa-channel)
- [لوحة التحكم](/web/dashboard)

File diff suppressed because it is too large Load Diff

View File

@ -1,109 +1,108 @@
---
read_when:
- تظهر لك رسالة التحذير OPENCLAW_PLUGIN_SDK_COMPAT_DEPRECATED
- تظهر لك رسالة التحذير OPENCLAW_EXTENSION_API_DEPRECATED
- أنت تحدّث إضافة إلى بنية الإضافات الحديثة
- أنت مسؤول عن إضافة OpenClaw خارجية
- تظهر لك رسالة التحذير `OPENCLAW_PLUGIN_SDK_COMPAT_DEPRECATED`
- تظهر لك رسالة التحذير `OPENCLAW_EXTENSION_API_DEPRECATED`
- أنت تحدّث Plugin إلى بنية Plugin الحديثة
- أنت تدير Plugin خارجيًا لـ OpenClaw
sidebarTitle: Migrate to SDK
summary: الانتقال من طبقة التوافق العكسي القديمة إلى Plugin SDK الحديث
summary: انتقل من طبقة التوافق مع الإصدارات السابقة القديمة إلى Plugin SDK الحديثة
title: ترحيل Plugin SDK
x-i18n:
generated_at: "2026-04-09T01:29:50Z"
generated_at: "2026-04-17T07:17:53Z"
model: gpt-5.4
provider: openai
source_hash: 60cbb6c8be30d17770887d490c14e3a4538563339a5206fb419e51e0558bbc07
source_hash: f0283f949eec358a12a0709db846cde2a1509f28e5c60db6e563cb8a540b979d
source_path: plugins/sdk-migration.md
workflow: 15
---
# ترحيل Plugin SDK
انتقل OpenClaw من طبقة توافق عكسي واسعة إلى بنية إضافات حديثة
ذات عمليات استيراد مركزة وموثقة. إذا كانت إضافتك قد بُنيت قبل
البنية الجديدة، فسيساعدك هذا الدليل على ترحيلها.
انتقلت OpenClaw من طبقة توافق واسعة مع الإصدارات السابقة إلى بنية Plugin حديثة
تعتمد على عمليات استيراد مركزة وموثقة. إذا كان Plugin الخاص بك قد بُني قبل
البنية الجديدة، فسيساعدك هذا الدليل على الترحيل.
## ما الذي يتغير
## ما الذي يتغيّر
كان نظام الإضافات القديم يوفر سطحين مفتوحين على اتساعهما يتيحان للإضافات استيراد
أي شيء تحتاجه من نقطة دخول واحدة:
كان نظام Plugin القديم يوفّر سطحين مفتوحين على نطاق واسع يتيحان لـ Plugins استيراد
أي شيء تحتاجه من نقطة إدخال واحدة:
- **`openclaw/plugin-sdk/compat`** — استيراد واحد يعيد تصدير عشرات
الأدوات المساعدة. تم تقديمه للإبقاء على عمل الإضافات القديمة المعتمدة على hooks أثناء
بناء بنية الإضافات الجديدة.
- **`openclaw/extension-api`** — جسر يمنح الإضافات وصولًا مباشرًا إلى
أدوات جهة المضيف المساعدة مثل مشغل الوكيل المضمن.
المساعدات. أُضيف للحفاظ على عمل Plugins الأقدم المعتمدة على hooks أثناء
بناء بنية Plugin الجديدة.
- **`openclaw/extension-api`** — جسر منح Plugins وصولًا مباشرًا إلى
مساعدات جهة المضيف مثل مشغّل agent المضمّن.
كلا السطحين أصبح الآن **مهجورًا**. لا يزالان يعملان وقت التشغيل، لكن يجب ألا تستخدمهما
الإضافات الجديدة، ويجب على الإضافات الحالية الترحيل قبل أن تزيلهما
الإصدار الرئيسي التالي.
كلا السطحين الآن **مهجوران**. ما زالا يعملان أثناء التشغيل، لكن يجب ألا تستخدمهما
Plugins الجديدة، ويجب على Plugins الحالية الترحيل قبل أن تؤدي الإزالة في الإصدار
الرئيسي التالي إلى توقفهما.
<Warning>
ستُزال طبقة التوافق العكسي في إصدار رئيسي مستقبلي.
الإضافات التي لا تزال تستورد من هذه الأسطح ستتعطل عند حدوث ذلك.
ستُزال طبقة التوافق مع الإصدارات السابقة في إصدار رئيسي مستقبلي.
Plugins التي لا تزال تستورد من هذه الأسطح ستتعطل عند حدوث ذلك.
</Warning>
## لماذا تغيّر هذا
تسبب النهج القديم في مشكلات:
تسبّب النهج القديم في مشكلات:
- **بدء تشغيل بطيء** — كان استيراد أداة مساعدة واحدة يحمّل عشرات الوحدات غير المرتبطة
- **اعتماديات دائرية** — كانت إعادة التصدير الواسعة تجعل من السهل إنشاء دورات استيراد
- **سطح API غير واضح** — لم تكن هناك طريقة لمعرفة أي الصادرات مستقرة وأيها داخلية
- **بدء تشغيل بطيء** — كان استيراد مساعد واحد يحمّل عشرات الوحدات غير المرتبطة
- **اعتماديات دائرية** — كانت إعادة التصدير الواسعة تجعل إنشاء دورات استيراد أمرًا سهلًا
- **سطح API غير واضح** — لم تكن هناك طريقة لمعرفة أي التصديرات مستقرة وأيها داخلية
يعالج Plugin SDK الحديث ذلك: فكل مسار استيراد (`openclaw/plugin-sdk/\<subpath\>`)
هو وحدة صغيرة مكتفية بذاتها ذات غرض واضح وعقد موثق.
تعالج Plugin SDK الحديثة هذا: فكل مسار استيراد (`openclaw/plugin-sdk/\<subpath\>`)
هو وحدة صغيرة مستقلة ذات غرض واضح وعقد موثق.
كما أزيلت أيضًا واجهات الراحة القديمة الخاصة بالموفرات للقنوات المضمنة. عمليات استيراد
مثل `openclaw/plugin-sdk/slack` و`openclaw/plugin-sdk/discord` و
`openclaw/plugin-sdk/signal` و`openclaw/plugin-sdk/whatsapp`،
وواجهات المساعدة الموسومة باسم القناة، و
`openclaw/plugin-sdk/telegram-core` كانت اختصارات خاصة داخل mono-repo، وليست
عقود إضافات مستقرة. استخدم بدلًا منها مسارات SDK عامة ضيقة. داخل
مساحة عمل الإضافات المضمنة، احتفظ بالأدوات المساعدة المملوكة للموفر في
`api.ts` أو `runtime-api.ts` الخاصين بتلك الإضافة.
كما أزيلت أيضًا مسارات الراحة القديمة الخاصة بالمزوّدين للقنوات المضمّنة. إن عمليات الاستيراد
مثل `openclaw/plugin-sdk/slack` و`openclaw/plugin-sdk/discord`
و`openclaw/plugin-sdk/signal` و`openclaw/plugin-sdk/whatsapp`
ومسارات المساعدات الموسومة باسم القناة و
`openclaw/plugin-sdk/telegram-core` كانت اختصارات خاصة ضمن mono-repo،
وليست عقود Plugin مستقرة. استخدم بدلًا منها مسارات SDK عامة ضيقة. داخل
مساحة عمل Plugin المضمّنة، احتفِظ بالمساعدات المملوكة للمزوّد داخل
`api.ts` أو `runtime-api.ts` الخاصين بذلك Plugin.
أمثلة الموفرات المضمنة الحالية:
أمثلة المزوّدين المضمّنين الحالية:
- تحتفظ Anthropic بأدوات بث خاصة بـ Claude في واجهتها الخاصة `api.ts` /
`contract-api.ts`
- تحتفظ OpenAI بمنشئات الموفرات، وأدوات النموذج الافتراضي، ومنشئات موفرات
realtime في `api.ts` الخاص بها
- يحتفظ OpenRouter بمنشئ الموفر وأدوات onboarding/config المساعدة في
- يحتفظ Anthropic بمساعدات البث الخاصة بـ Claude داخل المسار الخاص به
`api.ts` / `contract-api.ts`
- يحتفظ OpenAI بمنشئات المزوّدات ومساعدات النماذج الافتراضية ومنشئات
المزوّدات الفورية داخل `api.ts` الخاص به
- يحتفظ OpenRouter بمنشئ المزوّد ومساعدات الإعداد/التهيئة داخل
`api.ts` الخاص به
## كيفية الترحيل
<Steps>
<Step title="ترحيل المعالجات الأصلية المعتمدة على الموافقة إلى حقائق القدرات">
تعرض إضافات القنوات القادرة على الموافقة الآن سلوك الموافقة الأصلي عبر
<Step title="رحّل المعالجات الأصلية للموافقات إلى حقائق الإمكانات">
تكشف الآن Plugins القنوات القادرة على الموافقة عن سلوك الموافقة الأصلي عبر
`approvalCapability.nativeRuntime` بالإضافة إلى سجل سياق وقت التشغيل المشترك.
التغييرات الأساسية:
- استبدل `approvalCapability.handler.loadRuntime(...)` بـ
`approvalCapability.nativeRuntime`
- انقل المصادقة/التسليم الخاصين بالموافقة من الربط القديم `plugin.auth` /
`plugin.approvals` إلى `approvalCapability`
- تمت إزالة `ChannelPlugin.approvals` من العقد العام
لإضافات القنوات؛ انقل حقول delivery/native/render إلى `approvalCapability`
- يبقى `plugin.auth` لتدفقات تسجيل الدخول/الخروج الخاصة بالقناة فقط؛ لم تعد
hooks مصادقة الموافقة هناك تُقرأ من core
- سجّل عناصر وقت التشغيل المملوكة للقناة مثل العملاء أو الرموز أو تطبيقات
Bolt من خلال `openclaw/plugin-sdk/channel-runtime-context`
- لا ترسل إشعارات إعادة التوجيه المملوكة للإضافة من معالجات الموافقة الأصلية؛
أصبح core الآن مسؤولًا عن إشعارات التوجيه إلى مكان آخر بناءً على نتائج التسليم الفعلية
- انقل المصادقة/التسليم الخاصة بالموافقة من الربط القديم
`plugin.auth` / `plugin.approvals` إلى `approvalCapability`
- أُزيل `ChannelPlugin.approvals` من عقد Plugin القناة العام؛ انقل
حقول delivery/native/render إلى `approvalCapability`
- يبقى `plugin.auth` مخصصًا فقط لتدفقات تسجيل الدخول/تسجيل الخروج للقناة؛
لم تعد النواة تقرأ hooks مصادقة الموافقة هناك
- سجّل كائنات وقت التشغيل المملوكة للقناة مثل clients أو tokens أو
تطبيقات Bolt عبر `openclaw/plugin-sdk/channel-runtime-context`
- لا ترسل إشعارات إعادة التوجيه المملوكة للـ Plugin من معالجات الموافقة الأصلية؛
فالنواة أصبحت الآن تملك إشعارات "تم التوجيه إلى مكان آخر" استنادًا إلى نتائج التسليم الفعلية
- عند تمرير `channelRuntime` إلى `createChannelManager(...)`، قدّم
سطح `createPluginRuntime().channel` حقيقيًا. تُرفض البدائل الجزئية.
راجع `/plugins/sdk-channel-plugins` للاطلاع على
تخطيط قدرة الموافقة الحالي.
راجع `/plugins/sdk-channel-plugins` للاطلاع على تخطيط إمكانية الموافقة الحالي.
</Step>
<Step title="مراجعة سلوك fallback الخاص بغلاف Windows">
إذا كانت إضافتك تستخدم `openclaw/plugin-sdk/windows-spawn`،
فإن أغلفة Windows من نوع `.cmd`/`.bat` غير المحلولة ستفشل الآن بشكل مغلق ما لم تمرر
صراحةً `allowShellFallback: true`.
<Step title="راجع سلوك fallback الخاص بغلاف Windows">
إذا كان Plugin الخاص بك يستخدم `openclaw/plugin-sdk/windows-spawn`،
فإن أغلفة Windows من نوع `.cmd`/`.bat` غير المحلولة ستفشل الآن
بشكل مغلق ما لم تمرّر صراحةً `allowShellFallback: true`.
```typescript
// قبل
@ -112,19 +111,19 @@ x-i18n:
// بعد
const program = applyWindowsSpawnProgramPolicy({
candidate,
// اضبط هذا فقط للجهات المتوافقة الموثوقة التي
// تقبل عمدًا fallback بوساطة shell.
// اضبط هذا فقط للجهات المتوافقة الموثوقة التي تقبل عمدًا
// fallback عبر shell.
allowShellFallback: true,
});
```
إذا لم يكن المستدعي لديك يعتمد عمدًا على shell fallback، فلا تضبط
`allowShellFallback` وتعامل مع الخطأ المرمى بدلًا من ذلك.
إذا لم يكن المستدعي لديك يعتمد عمدًا على fallback عبر shell، فلا تضبط
`allowShellFallback` وتعامل مع الخطأ المُلقى بدلًا من ذلك.
</Step>
<Step title="العثور على عمليات الاستيراد المهجورة">
ابحث في إضافتك عن عمليات الاستيراد من أي من السطحين المهجورين:
<Step title="اعثر على عمليات الاستيراد المهجورة">
ابحث في Plugin الخاص بك عن عمليات الاستيراد من أي من السطحين المهجورين:
```bash
grep -r "plugin-sdk/compat" my-plugin/
@ -133,11 +132,11 @@ x-i18n:
</Step>
<Step title="الاستبدال بعمليات استيراد مركزة">
كل عنصر مُصدَّر من السطح القديم يقابله مسار استيراد حديث محدد:
<Step title="استبدلها بعمليات استيراد مركزة">
كل تصدير من السطح القديم يقابله مسار استيراد حديث محدد:
```typescript
// قبل (طبقة التوافق العكسي المهجورة)
// قبل (طبقة التوافق المهجورة مع الإصدارات السابقة)
import {
createChannelReplyPipeline,
createPluginRuntimeStore,
@ -150,8 +149,8 @@ x-i18n:
import { resolveControlCommandGate } from "openclaw/plugin-sdk/command-auth";
```
بالنسبة إلى الأدوات المساعدة على جهة المضيف، استخدم وقت تشغيل الإضافة المحقون بدلًا من الاستيراد
المباشر:
بالنسبة إلى المساعدات الخاصة بجانب المضيف، استخدم وقت تشغيل Plugin المحقون بدلًا من
الاستيراد المباشر:
```typescript
// قبل (جسر extension-api المهجور)
@ -162,7 +161,7 @@ x-i18n:
const result = await api.runtime.agent.runEmbeddedPiAgent({ sessionId, prompt });
```
ينطبق النمط نفسه على أدوات الجسر القديمة الأخرى:
ينطبق النمط نفسه على مساعدات الجسر القديمة الأخرى:
| الاستيراد القديم | المكافئ الحديث |
| --- | --- |
@ -172,11 +171,11 @@ x-i18n:
| `resolveThinkingDefault` | `api.runtime.agent.resolveThinkingDefault` |
| `resolveAgentTimeoutMs` | `api.runtime.agent.resolveAgentTimeoutMs` |
| `ensureAgentWorkspace` | `api.runtime.agent.ensureAgentWorkspace` |
| أدوات مخزن الجلسة المساعدة | `api.runtime.agent.session.*` |
| مساعدات مخزن الجلسات | `api.runtime.agent.session.*` |
</Step>
<Step title="البناء والاختبار">
<Step title="ابنِ واختبر">
```bash
pnpm build
pnpm test -- my-plugin/
@ -186,206 +185,206 @@ x-i18n:
## مرجع مسارات الاستيراد
<Accordion title="جدول مسارات الاستيراد الشائعة">
| مسار الاستيراد | الغرض | الصادرات الأساسية |
<Accordion title="Common import path table">
| مسار الاستيراد | الغرض | التصديرات الأساسية |
| --- | --- | --- |
| `plugin-sdk/plugin-entry` | أداة إدخال الإضافة القياسية | `definePluginEntry` |
| `plugin-sdk/core` | إعادة تصدير مظلية قديمة لتعريفات/منشئات إدخال القنوات | `defineChannelPluginEntry`, `createChatChannelPlugin` |
| `plugin-sdk/config-schema` | تصدير مخطط الإعداد الجذر | `OpenClawSchema` |
| `plugin-sdk/provider-entry` | أداة إدخال موفر واحد | `defineSingleProviderPluginEntry` |
| `plugin-sdk/plugin-entry` | المساعد القياسي لإدخال Plugin | `definePluginEntry` |
| `plugin-sdk/core` | إعادة تصدير شاملة قديمة لتعريفات/منشئات إدخال القنوات | `defineChannelPluginEntry`, `createChatChannelPlugin` |
| `plugin-sdk/config-schema` | تصدير مخطط التهيئة الجذري | `OpenClawSchema` |
| `plugin-sdk/provider-entry` | مساعد إدخال مزوّد واحد | `defineSingleProviderPluginEntry` |
| `plugin-sdk/channel-core` | تعريفات ومنشئات إدخال القنوات المركزة | `defineChannelPluginEntry`, `defineSetupPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase` |
| `plugin-sdk/setup` | أدوات معالج الإعداد المشتركة | مطالبات قائمة السماح، ومنشئات حالة الإعداد |
| `plugin-sdk/setup-runtime` | أدوات وقت التشغيل المساعدة أثناء الإعداد | محولات setup patch الآمنة للاستيراد، وأدوات lookup-note المساعدة، و`promptResolvedAllowFrom` و`splitSetupEntries` ووكلاء الإعداد المفوضون |
| `plugin-sdk/setup-adapter-runtime` | أدوات محول الإعداد المساعدة | `createEnvPatchedAccountSetupAdapter` |
| `plugin-sdk/setup-tools` | أدوات الإعداد المساعدة | `formatCliCommand`, `detectBinary`, `extractArchive`, `resolveBrewExecutable`, `formatDocsLink`, `CONFIG_DIR` |
| `plugin-sdk/account-core` | أدوات تعدد الحسابات المساعدة | أدوات قائمة الحساب/الإعداد/بوابة الإجراء |
| `plugin-sdk/account-id` | أدوات معرّف الحساب المساعدة | `DEFAULT_ACCOUNT_ID`، وتطبيع معرّف الحساب |
| `plugin-sdk/account-resolution` | أدوات البحث عن الحساب المساعدة | أدوات البحث عن الحساب + fallback الافتراضي |
| `plugin-sdk/account-helpers` | أدوات حساب ضيقة المدى | أدوات قائمة الحساب/إجراء الحساب |
| `plugin-sdk/channel-setup` | محولات معالج الإعداد | `createOptionalChannelSetupSurface`, `createOptionalChannelSetupAdapter`, `createOptionalChannelSetupWizard`، بالإضافة إلى `DEFAULT_ACCOUNT_ID` و`createTopLevelChannelDmPolicy` و`setSetupChannelEnabled` و`splitSetupEntries` |
| `plugin-sdk/channel-pairing` | أساسيات إقران DM | `createChannelPairingController` |
| `plugin-sdk/channel-reply-pipeline` | أسلاك بادئة الرد + مؤشرات الكتابة | `createChannelReplyPipeline` |
| `plugin-sdk/channel-config-helpers` | مصانع محولات الإعداد | `createHybridChannelConfigAdapter` |
| `plugin-sdk/channel-config-schema` | منشئات مخطط الإعداد | أنواع مخطط إعداد القناة |
| `plugin-sdk/telegram-command-config` | أدوات إعداد أوامر Telegram المساعدة | تطبيع أسماء الأوامر، واقتطاع الأوصاف، والتحقق من التكرار/التعارض |
| `plugin-sdk/channel-policy` | تحليل سياسات المجموعة/DM | `resolveChannelGroupRequireMention` |
| `plugin-sdk/setup` | مساعدات معالج الإعداد المشتركة | مطالبات Allowlist، ومنشئات حالة الإعداد |
| `plugin-sdk/setup-runtime` | مساعدات وقت التشغيل الخاصة بالإعداد | موائمات تصحيح الإعداد الآمنة للاستيراد، ومساعدات ملاحظات البحث، و`promptResolvedAllowFrom` و`splitSetupEntries` ووكلاء الإعداد المفوضون |
| `plugin-sdk/setup-adapter-runtime` | مساعدات موائم الإعداد | `createEnvPatchedAccountSetupAdapter` |
| `plugin-sdk/setup-tools` | مساعدات أدوات الإعداد | `formatCliCommand`, `detectBinary`, `extractArchive`, `resolveBrewExecutable`, `formatDocsLink`, `CONFIG_DIR` |
| `plugin-sdk/account-core` | مساعدات الحسابات المتعددة | مساعدات قائمة الحسابات/تهيئتها/بوابة الإجراءات |
| `plugin-sdk/account-id` | مساعدات معرّف الحساب | `DEFAULT_ACCOUNT_ID`، وتطبيع معرّف الحساب |
| `plugin-sdk/account-resolution` | مساعدات البحث عن الحساب | مساعدات البحث عن الحساب + الرجوع إلى الافتراضي |
| `plugin-sdk/account-helpers` | مساعدات الحساب الضيقة | مساعدات قائمة الحسابات/إجراءات الحساب |
| `plugin-sdk/channel-setup` | موائمات معالج الإعداد | `createOptionalChannelSetupSurface`, `createOptionalChannelSetupAdapter`, `createOptionalChannelSetupWizard`، بالإضافة إلى `DEFAULT_ACCOUNT_ID`, `createTopLevelChannelDmPolicy`, `setSetupChannelEnabled`, `splitSetupEntries` |
| `plugin-sdk/channel-pairing` | الأساسيات الأولية لربط DM | `createChannelPairingController` |
| `plugin-sdk/channel-reply-pipeline` | ربط بادئة الرد + الكتابة | `createChannelReplyPipeline` |
| `plugin-sdk/channel-config-helpers` | مصانع موائمات التهيئة | `createHybridChannelConfigAdapter` |
| `plugin-sdk/channel-config-schema` | منشئات مخطط التهيئة | أنواع مخطط تهيئة القناة |
| `plugin-sdk/telegram-command-config` | مساعدات تهيئة أوامر Telegram | تطبيع أسماء الأوامر، وتهذيب الوصف، والتحقق من التكرار/التعارض |
| `plugin-sdk/channel-policy` | حل سياسات المجموعات/DM | `resolveChannelGroupRequireMention` |
| `plugin-sdk/channel-lifecycle` | تتبع حالة الحساب | `createAccountStatusSink` |
| `plugin-sdk/inbound-envelope` | أدوات envelope الوارد المساعدة | أدوات route + منشئ envelope المشتركة |
| `plugin-sdk/inbound-reply-dispatch` | أدوات الرد الوارد المساعدة | أدوات التسجيل والإرسال المشتركة |
| `plugin-sdk/messaging-targets` | تحليل وجهات المراسلة | أدوات تحليل/مطابقة الوجهات |
| `plugin-sdk/outbound-media` | أدوات الوسائط الصادرة المساعدة | تحميل الوسائط الصادرة المشتركة |
| `plugin-sdk/outbound-runtime` | أدوات وقت التشغيل الصادر المساعدة | أدوات هوية الصادر/مفوّض الإرسال |
| `plugin-sdk/thread-bindings-runtime` | أدوات ربط السلاسل المساعدة | دورة حياة ربط السلاسل وأدوات المحول المساعدة |
| `plugin-sdk/agent-media-payload` | أدوات حمولة الوسائط القديمة المساعدة | منشئ حمولة وسائط الوكيل لتخطيطات الحقول القديمة |
| `plugin-sdk/channel-runtime` | طبقة توافقية مهجورة | أدوات وقت تشغيل القناة القديمة فقط |
| `plugin-sdk/channel-send-result` | أنواع نتائج الإرسال | أنواع نتائج الرد |
| `plugin-sdk/runtime-store` | تخزين الإضافة الدائم | `createPluginRuntimeStore` |
| `plugin-sdk/runtime` | أدوات وقت تشغيل واسعة | أدوات وقت التشغيل/التسجيل/النسخ الاحتياطي/تثبيت الإضافات |
| `plugin-sdk/runtime-env` | أدوات بيئة وقت تشغيل ضيقة | المسجل/بيئة وقت التشغيل، وأدوات المهلة وإعادة المحاولة وbackoff |
| `plugin-sdk/plugin-runtime` | أدوات وقت تشغيل الإضافات المشتركة | أدوات أوامر/ hooks /HTTP/التفاعلية الخاصة بالإضافات |
| `plugin-sdk/hook-runtime` | أدوات خط أنابيب hook المساعدة | أدوات خط أنابيب webhook/internal hook المشتركة |
| `plugin-sdk/lazy-runtime` | أدوات وقت التشغيل الكسول المساعدة | `createLazyRuntimeModule`, `createLazyRuntimeMethod`, `createLazyRuntimeMethodBinder`, `createLazyRuntimeNamedExport`, `createLazyRuntimeSurface` |
| `plugin-sdk/process-runtime` | أدوات العمليات المساعدة | أدوات exec المشتركة |
| `plugin-sdk/cli-runtime` | أدوات وقت تشغيل CLI المساعدة | تنسيق الأوامر، والانتظار، وأدوات الإصدار المساعدة |
| `plugin-sdk/gateway-runtime` | أدوات البوابة المساعدة | عميل البوابة وأدوات patch حالة القناة المساعدة |
| `plugin-sdk/config-runtime` | أدوات الإعداد المساعدة | أدوات تحميل/كتابة الإعداد |
| `plugin-sdk/telegram-command-config` | أدوات أوامر Telegram المساعدة | أدوات التحقق من أوامر Telegram المستقرة بالحد الأدنى عندما يكون سطح عقد Telegram المضمن غير متاح |
| `plugin-sdk/approval-runtime` | أدوات مطالبات الموافقة المساعدة | حمولة موافقة exec/plugin، وأدوات قدرة/ملف تعريف الموافقة، وأدوات توجيه/وقت تشغيل الموافقة الأصلية |
| `plugin-sdk/approval-auth-runtime` | أدوات مصادقة الموافقة المساعدة | تحليل المُوافق، ومصادقة الإجراء ضمن الدردشة نفسها |
| `plugin-sdk/approval-client-runtime` | أدوات عميل الموافقة المساعدة | أدوات ملف تعريف/تصفية الموافقة الأصلية لـ exec |
| `plugin-sdk/approval-delivery-runtime` | أدوات تسليم الموافقة المساعدة | محولات قدرة/تسليم الموافقة الأصلية |
| `plugin-sdk/approval-gateway-runtime` | أدوات بوابة الموافقة المساعدة | أداة تحليل approval gateway المشتركة |
| `plugin-sdk/approval-handler-adapter-runtime` | أدوات محول الموافقة المساعدة | أدوات تحميل محول الموافقة الأصلية خفيفة الوزن لنقاط إدخال القنوات الساخنة |
| `plugin-sdk/approval-handler-runtime` | أدوات معالج الموافقة المساعدة | أدوات وقت تشغيل معالج الموافقة الأوسع؛ فضّل واجهات adapter/gateway الأضيق عندما تكون كافية |
| `plugin-sdk/approval-native-runtime` | أدوات هدف الموافقة المساعدة | أدوات ربط هدف/حساب الموافقة الأصلية |
| `plugin-sdk/approval-reply-runtime` | أدوات رد الموافقة المساعدة | أدوات حمولة رد موافقة exec/plugin |
| `plugin-sdk/channel-runtime-context` | أدوات channel runtime-context المساعدة | أدوات register/get/watch عامة لسياق وقت تشغيل القناة |
| `plugin-sdk/security-runtime` | أدوات الأمان المساعدة | أدوات الثقة المشتركة، وبوابة DM، والمحتوى الخارجي، وجمع الأسرار |
| `plugin-sdk/ssrf-policy` | أدوات سياسة SSRF المساعدة | قائمة سماح المضيف وأدوات سياسة الشبكة الخاصة |
| `plugin-sdk/ssrf-runtime` | أدوات وقت تشغيل SSRF المساعدة | Pinned-dispatcher وguarded fetch وأدوات سياسة SSRF |
| `plugin-sdk/collection-runtime` | أدوات cache المقيّدة المساعدة | `pruneMapToMaxSize` |
| `plugin-sdk/diagnostic-runtime` | أدوات بوابة التشخيص المساعدة | `isDiagnosticFlagEnabled`, `isDiagnosticsEnabled` |
| `plugin-sdk/error-runtime` | أدوات تنسيق الأخطاء المساعدة | `formatUncaughtError`, `isApprovalNotFoundError`، وأدوات error graph |
| `plugin-sdk/fetch-runtime` | أدوات fetch/proxy المغلفة المساعدة | `resolveFetch`، وأدوات proxy المساعدة |
| `plugin-sdk/host-runtime` | أدوات تطبيع المضيف المساعدة | `normalizeHostname`, `normalizeScpRemoteHost` |
| `plugin-sdk/retry-runtime` | أدوات إعادة المحاولة المساعدة | `RetryConfig`, `retryAsync`، ومنفذات السياسات |
| `plugin-sdk/allow-from` | تنسيق قائمة السماح | `formatAllowFromLowercase` |
| `plugin-sdk/allowlist-resolution` | تعيين مدخلات قائمة السماح | `mapAllowlistResolutionInputs` |
| `plugin-sdk/command-auth` | أدوات بوابة الأوامر وسطح الأوامر المساعدة | `resolveControlCommandGate`، وأدوات تفويض المرسل المساعدة، وأدوات سجل الأوامر |
| `plugin-sdk/command-status` | عارضات حالة/مساعدة الأوامر | `buildCommandsMessage`, `buildCommandsMessagePaginated`, `buildHelpMessage` |
| `plugin-sdk/secret-input` | تحليل المدخلات السرية | أدوات المدخلات السرية المساعدة |
| `plugin-sdk/webhook-ingress` | أدوات طلبات webhook المساعدة | أدوات هدف webhook |
| `plugin-sdk/webhook-request-guards` | أدوات حماية جسم webhook المساعدة | أدوات قراءة/تحديد جسم الطلب |
| `plugin-sdk/reply-runtime` | وقت تشغيل الرد المشترك | الإرسال الوارد، وheartbeat، ومخطط الرد، والتقسيم |
| `plugin-sdk/reply-dispatch-runtime` | أدوات إرسال الرد الضيقة المساعدة | أدوات finalize + provider dispatch المساعدة |
| `plugin-sdk/reply-history` | أدوات سجل الرد المساعدة | `buildHistoryContext`, `buildPendingHistoryContextFromMap`, `recordPendingHistoryEntry`, `clearHistoryEntriesIfEnabled` |
| `plugin-sdk/inbound-envelope` | مساعدات المغلف الوارد | مساعدات المسار المشترك + منشئ المغلف |
| `plugin-sdk/inbound-reply-dispatch` | مساعدات الرد الوارد | مساعدات التسجيل والإرسال المشتركة |
| `plugin-sdk/messaging-targets` | تحليل أهداف المراسلة | مساعدات تحليل/مطابقة الأهداف |
| `plugin-sdk/outbound-media` | مساعدات الوسائط الصادرة | تحميل الوسائط الصادرة المشتركة |
| `plugin-sdk/outbound-runtime` | مساعدات وقت التشغيل الصادر | مساعدات هوية الصادر/تفويض الإرسال |
| `plugin-sdk/thread-bindings-runtime` | مساعدات ربط الخيوط | مساعدات دورة حياة ربط الخيوط والموائم |
| `plugin-sdk/agent-media-payload` | مساعدات قديمة لحمولة الوسائط | منشئ حمولة وسائط agent لتخطيطات الحقول القديمة |
| `plugin-sdk/channel-runtime` | طبقة توافق مهجورة | أدوات وقت تشغيل القناة القديمة فقط |
| `plugin-sdk/channel-send-result` | أنواع نتيجة الإرسال | أنواع نتيجة الرد |
| `plugin-sdk/runtime-store` | تخزين Plugin الدائم | `createPluginRuntimeStore` |
| `plugin-sdk/runtime` | مساعدات وقت تشغيل واسعة | مساعدات وقت التشغيل/التسجيل/النسخ الاحتياطي/تثبيت Plugin |
| `plugin-sdk/runtime-env` | مساعدات بيئة وقت التشغيل الضيقة | المجلّد/بيئة وقت التشغيل، ومساعدات المهلة وإعادة المحاولة والتراجع |
| `plugin-sdk/plugin-runtime` | مساعدات وقت تشغيل Plugin المشتركة | مساعدات أوامر/hooks/http/التفاعل الخاصة بـ Plugin |
| `plugin-sdk/hook-runtime` | مساعدات مسار hook | مساعدات مسار webhook/hook الداخلي المشتركة |
| `plugin-sdk/lazy-runtime` | مساعدات وقت التشغيل الكسول | `createLazyRuntimeModule`, `createLazyRuntimeMethod`, `createLazyRuntimeMethodBinder`, `createLazyRuntimeNamedExport`, `createLazyRuntimeSurface` |
| `plugin-sdk/process-runtime` | مساعدات العمليات | مساعدات التنفيذ المشتركة |
| `plugin-sdk/cli-runtime` | مساعدات وقت تشغيل CLI | تنسيق الأوامر، والانتظار، ومساعدات الإصدار |
| `plugin-sdk/gateway-runtime` | مساعدات Gateway | عميل Gateway ومساعدات تصحيح حالة القناة |
| `plugin-sdk/config-runtime` | مساعدات التهيئة | مساعدات تحميل/كتابة التهيئة |
| `plugin-sdk/telegram-command-config` | مساعدات أوامر Telegram | مساعدات التحقق من أوامر Telegram المستقرة احتياطيًا عندما لا يكون سطح عقد Telegram المضمّن متاحًا |
| `plugin-sdk/approval-runtime` | مساعدات مطالبة الموافقة | حمولة موافقة exec/plugin، ومساعدات إمكانية/ملف تعريف الموافقة، ومساعدات توجيه/وقت تشغيل الموافقة الأصلية |
| `plugin-sdk/approval-auth-runtime` | مساعدات مصادقة الموافقة | حل الموافق، ومصادقة الإجراء داخل المحادثة نفسها |
| `plugin-sdk/approval-client-runtime` | مساعدات عميل الموافقة | مساعدات ملف تعريف/تصفية موافقة exec الأصلية |
| `plugin-sdk/approval-delivery-runtime` | مساعدات تسليم الموافقة | موائمات إمكانية/تسليم الموافقة الأصلية |
| `plugin-sdk/approval-gateway-runtime` | مساعدات Gateway للموافقة | مساعد حل Gateway للموافقة المشتركة |
| `plugin-sdk/approval-handler-adapter-runtime` | مساعدات موائم الموافقة | مساعدات تحميل موائم الموافقة الأصلية خفيفة الوزن لنقاط إدخال القنوات السريعة |
| `plugin-sdk/approval-handler-runtime` | مساعدات معالج الموافقة | مساعدات وقت تشغيل أوسع لمعالج الموافقة؛ فضّل مسارات الموائم/Gateway الأضيق عندما تكون كافية |
| `plugin-sdk/approval-native-runtime` | مساعدات هدف الموافقة | مساعدات ربط هدف/حساب الموافقة الأصلية |
| `plugin-sdk/approval-reply-runtime` | مساعدات رد الموافقة | مساعدات حمولة رد موافقة exec/plugin |
| `plugin-sdk/channel-runtime-context` | مساعدات سياق وقت تشغيل القناة | مساعدات عامة لتسجيل/الحصول على/مراقبة سياق وقت تشغيل القناة |
| `plugin-sdk/security-runtime` | مساعدات الأمان | مساعدات الثقة المشتركة، وتقييد DM، والمحتوى الخارجي، وجمع الأسرار |
| `plugin-sdk/ssrf-policy` | مساعدات سياسة SSRF | مساعدات قائمة السماح بالمضيف وسياسة الشبكة الخاصة |
| `plugin-sdk/ssrf-runtime` | مساعدات وقت تشغيل SSRF | Pinned-dispatcher، وguarded fetch، ومساعدات سياسة SSRF |
| `plugin-sdk/collection-runtime` | مساعدات ذاكرة التخزين المحدودة | `pruneMapToMaxSize` |
| `plugin-sdk/diagnostic-runtime` | مساعدات تقييد التشخيص | `isDiagnosticFlagEnabled`, `isDiagnosticsEnabled` |
| `plugin-sdk/error-runtime` | مساعدات تنسيق الأخطاء | `formatUncaughtError`, `isApprovalNotFoundError`، ومساعدات مخطط الأخطاء |
| `plugin-sdk/fetch-runtime` | مساعدات fetch/proxy المغلفة | `resolveFetch`، ومساعدات proxy |
| `plugin-sdk/host-runtime` | مساعدات تطبيع المضيف | `normalizeHostname`, `normalizeScpRemoteHost` |
| `plugin-sdk/retry-runtime` | مساعدات إعادة المحاولة | `RetryConfig`, `retryAsync`، ومنفذات السياسات |
| `plugin-sdk/allow-from` | تنسيق Allowlist | `formatAllowFromLowercase` |
| `plugin-sdk/allowlist-resolution` | تعيين مدخلات Allowlist | `mapAllowlistResolutionInputs` |
| `plugin-sdk/command-auth` | تقييد الأوامر ومساعدات سطح الأوامر | `resolveControlCommandGate`، ومساعدات تفويض المرسل، ومساعدات سجل الأوامر |
| `plugin-sdk/command-status` | مصيّرات حالة/مساعدة الأوامر | `buildCommandsMessage`, `buildCommandsMessagePaginated`, `buildHelpMessage` |
| `plugin-sdk/secret-input` | تحليل إدخال الأسرار | مساعدات إدخال الأسرار |
| `plugin-sdk/webhook-ingress` | مساعدات طلب Webhook | أدوات هدف Webhook |
| `plugin-sdk/webhook-request-guards` | مساعدات حراسة جسم طلب Webhook | مساعدات قراءة/تحديد جسم الطلب |
| `plugin-sdk/reply-runtime` | وقت تشغيل الرد المشترك | الإرسال الوارد، وHeartbeat، ومخطط الرد، والتقسيم |
| `plugin-sdk/reply-dispatch-runtime` | مساعدات إرسال الرد الضيقة | مساعدات الإنهاء + إرسال المزوّد |
| `plugin-sdk/reply-history` | مساعدات سجل الرد | `buildHistoryContext`, `buildPendingHistoryContextFromMap`, `recordPendingHistoryEntry`, `clearHistoryEntriesIfEnabled` |
| `plugin-sdk/reply-reference` | تخطيط مرجع الرد | `createReplyReferencePlanner` |
| `plugin-sdk/reply-chunking` | أدوات تقسيم الرد المساعدة | أدوات تقسيم النص/Markdown |
| `plugin-sdk/session-store-runtime` | أدوات مخزن الجلسة المساعدة | أدوات مسار المخزن + وقت آخر تحديث |
| `plugin-sdk/state-paths` | أدوات مسارات الحالة المساعدة | أدوات مجلد الحالة وOAuth |
| `plugin-sdk/routing` | أدوات التوجيه/مفتاح الجلسة المساعدة | `resolveAgentRoute`, `buildAgentSessionKey`, `resolveDefaultAgentBoundAccountId`، وأدوات تطبيع مفتاح الجلسة |
| `plugin-sdk/status-helpers` | أدوات حالة القناة المساعدة | منشئات ملخص حالة القناة/الحساب، وافتراضيات runtime-state، وأدوات metadata الخاصة بالمشكلات |
| `plugin-sdk/target-resolver-runtime` | أدوات تحليل الوجهة المساعدة | أدوات تحليل الوجهة المشتركة |
| `plugin-sdk/string-normalization-runtime` | أدوات تطبيع السلاسل المساعدة | أدوات تطبيع slug/string |
| `plugin-sdk/request-url` | أدوات URL الطلب المساعدة | استخراج عناوين URL النصية من المدخلات الشبيهة بالطلبات |
| `plugin-sdk/run-command` | أدوات الأوامر الموقّتة المساعدة | مشغل أوامر موقّت مع stdout/stderr مطبّعين |
| `plugin-sdk/param-readers` | قارئات المعلمات | قارئات معلمات شائعة للأداة/CLI |
| `plugin-sdk/tool-payload` | استخراج حمولة الأداة | استخراج حمولات مطبّعة من كائنات نتائج الأدوات |
| `plugin-sdk/tool-send` | استخراج إرسال الأداة | استخراج حقول وجهة الإرسال القياسية من وسائط الأداة |
| `plugin-sdk/temp-path` | أدوات المسارات المؤقتة المساعدة | أدوات مشتركة لمسارات تنزيل الملفات المؤقتة |
| `plugin-sdk/logging-core` | أدوات التسجيل المساعدة | مسجل النظام الفرعي وأدوات إخفاء البيانات الحساسة |
| `plugin-sdk/markdown-table-runtime` | أدوات جداول Markdown المساعدة | أدوات أوضاع جداول Markdown |
| `plugin-sdk/reply-payload` | أنواع ردود الرسائل | أنواع حمولة الرد |
| `plugin-sdk/provider-setup` | أدوات إعداد الموفّر المحلي/المستضاف ذاتيًا المنسقة | أدوات اكتشاف/إعداد الموفّر المستضاف ذاتيًا |
| `plugin-sdk/self-hosted-provider-setup` | أدوات إعداد مركزة للموفرات المستضافة ذاتيًا المتوافقة مع OpenAI | الأدوات نفسها لاكتشاف/إعداد الموفّر المستضاف ذاتيًا |
| `plugin-sdk/provider-auth-runtime` | أدوات مصادقة وقت تشغيل الموفّر المساعدة | أدوات تحليل مفتاح API في وقت التشغيل |
| `plugin-sdk/provider-auth-api-key` | أدوات إعداد مفتاح API للموفر | أدوات onboarding/profile-write الخاصة بمفتاح API |
| `plugin-sdk/provider-auth-result` | أدوات نتائج مصادقة الموفّر المساعدة | منشئ auth-result قياسي لـ OAuth |
| `plugin-sdk/provider-auth-login` | أدوات تسجيل الدخول التفاعلي للموفّر | أدوات تسجيل الدخول التفاعلي المشتركة |
| `plugin-sdk/provider-env-vars` | أدوات متغيرات البيئة للموفّر | أدوات البحث عن متغيرات البيئة الخاصة بمصادقة الموفّر |
| `plugin-sdk/provider-model-shared` | أدوات مشتركة لنماذج/إعادة تشغيل الموفر | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`، ومنشئات replay-policy المشتركة، وأدوات provider-endpoint، وأدوات تطبيع model-id |
| `plugin-sdk/provider-catalog-shared` | أدوات مشتركة لفهرس الموفّر | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` |
| `plugin-sdk/provider-onboard` | أدوات onboarding للموفّر | أدوات إعداد onboarding المساعدة |
| `plugin-sdk/provider-http` | أدوات HTTP الخاصة بالموفّر | أدوات HTTP/قدرات endpoint العامة الخاصة بالموفّر |
| `plugin-sdk/provider-web-fetch` | أدوات web-fetch الخاصة بالموفّر | أدوات تسجيل/تخزين مؤقت لموفّر web-fetch |
| `plugin-sdk/provider-web-search-config-contract` | أدوات إعداد web-search الخاصة بالموفّر | أدوات إعداد/اعتماد ضيقة للبحث على الويب للموفرات التي لا تحتاج إلى ربط تمكين الإضافة |
| `plugin-sdk/provider-web-search-contract` | أدوات عقد web-search الخاصة بالموفّر | أدوات عقد إعداد/اعتماد ضيقة للبحث على الويب مثل `createWebSearchProviderContractFields` و`enablePluginInConfig` و`resolveProviderWebSearchPluginConfig` وأدوات تعيين/قراءة بيانات الاعتماد المقيّدة |
| `plugin-sdk/provider-web-search` | أدوات web-search الخاصة بالموفّر | أدوات تسجيل/تخزين مؤقت/وقت تشغيل لموفّر البحث على الويب |
| `plugin-sdk/provider-tools` | أدوات توافق أدوات/مخطط الموفّر | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`، وتنظيف مخطط Gemini + أدوات التشخيص، وأدوات توافق xAI مثل `resolveXaiModelCompatPatch` / `applyXaiModelCompat` |
| `plugin-sdk/provider-usage` | أدوات استخدام الموفّر | `fetchClaudeUsage`, `fetchGeminiUsage`, `fetchGithubCopilotUsage`، وأدوات استخدام موفر أخرى |
| `plugin-sdk/provider-stream` | أدوات تغليف بث الموفّر | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`، وأنواع مغلفات البث، وأدوات مغلفات مشتركة لـ Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot |
| `plugin-sdk/reply-chunking` | مساعدات تقسيم الرد | مساعدات تقسيم النص/Markdown |
| `plugin-sdk/session-store-runtime` | مساعدات مخزن الجلسات | مساعدات مسار المخزن + وقت التحديث |
| `plugin-sdk/state-paths` | مساعدات مسارات الحالة | مساعدات مجلد الحالة وOAuth |
| `plugin-sdk/routing` | مساعدات التوجيه/مفتاح الجلسة | `resolveAgentRoute`, `buildAgentSessionKey`, `resolveDefaultAgentBoundAccountId`، ومساعدات تطبيع مفتاح الجلسة |
| `plugin-sdk/status-helpers` | مساعدات حالة القناة | منشئات ملخص حالة القناة/الحساب، وافتراضيات حالة وقت التشغيل، ومساعدات بيانات المشكلات |
| `plugin-sdk/target-resolver-runtime` | مساعدات محلل الهدف | مساعدات محلل الهدف المشتركة |
| `plugin-sdk/string-normalization-runtime` | مساعدات تطبيع السلاسل | مساعدات تطبيع slug/السلاسل |
| `plugin-sdk/request-url` | مساعدات URL الطلب | استخراج عناوين URL النصية من مدخلات شبيهة بالطلب |
| `plugin-sdk/run-command` | مساعدات الأوامر الموقّتة | منفذ أوامر موقّت مع `stdout`/`stderr` مطبّعين |
| `plugin-sdk/param-readers` | قارئات المعلمات | قارئات معلمات شائعة للأدوات/CLI |
| `plugin-sdk/tool-payload` | استخراج حمولة الأداة | استخراج الحمولات المطبّعة من كائنات نتائج الأدوات |
| `plugin-sdk/tool-send` | استخراج إرسال الأداة | استخراج حقول هدف الإرسال القياسية من وسائط الأداة |
| `plugin-sdk/temp-path` | مساعدات المسارات المؤقتة | مساعدات مسارات التنزيل المؤقتة المشتركة |
| `plugin-sdk/logging-core` | مساعدات التسجيل | مساعدات مسجل النظام الفرعي وإخفاء البيانات الحساسة |
| `plugin-sdk/markdown-table-runtime` | مساعدات جداول Markdown | مساعدات أوضاع جدول Markdown |
| `plugin-sdk/reply-payload` | أنواع رد الرسائل | أنواع حمولة الرد |
| `plugin-sdk/provider-setup` | مساعدات إعداد مزوّدات محلية/مستضافة ذاتيًا منسقة | مساعدات اكتشاف/تهيئة المزوّدات المستضافة ذاتيًا |
| `plugin-sdk/self-hosted-provider-setup` | مساعدات مركزة لإعداد المزوّدات المستضافة ذاتيًا المتوافقة مع OpenAI | مساعدات اكتشاف/تهيئة المزوّدات المستضافة ذاتيًا نفسها |
| `plugin-sdk/provider-auth-runtime` | مساعدات مصادقة وقت تشغيل المزوّد | مساعدات حل مفتاح API في وقت التشغيل |
| `plugin-sdk/provider-auth-api-key` | مساعدات إعداد مفتاح API للمزوّد | مساعدات إعداد مفتاح API/كتابة الملف الشخصي |
| `plugin-sdk/provider-auth-result` | مساعدات نتيجة مصادقة المزوّد | منشئ قياسي لنتيجة مصادقة OAuth |
| `plugin-sdk/provider-auth-login` | مساعدات تسجيل الدخول التفاعلي للمزوّد | مساعدات تسجيل الدخول التفاعلي المشتركة |
| `plugin-sdk/provider-env-vars` | مساعدات متغيرات البيئة للمزوّد | مساعدات البحث عن متغيرات بيئة مصادقة المزوّد |
| `plugin-sdk/provider-model-shared` | مساعدات نموذج/إعادة تشغيل المزوّد المشتركة | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`، ومنشئات سياسات إعادة التشغيل المشتركة، ومساعدات نقطة نهاية المزوّد، ومساعدات تطبيع معرّف النموذج |
| `plugin-sdk/provider-catalog-shared` | مساعدات كتالوج المزوّد المشتركة | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` |
| `plugin-sdk/provider-onboard` | تصحيحات إعداد المزوّد | مساعدات تهيئة الإعداد |
| `plugin-sdk/provider-http` | مساعدات HTTP للمزوّد | مساعدات HTTP/إمكانيات نقطة النهاية العامة للمزوّد |
| `plugin-sdk/provider-web-fetch` | مساعدات web-fetch للمزوّد | مساعدات تسجيل/ذاكرة التخزين المؤقت لمزوّد web-fetch |
| `plugin-sdk/provider-web-search-config-contract` | مساعدات تهيئة web-search للمزوّد | مساعدات ضيقة لتهيئة/بيانات اعتماد web-search للمزوّدات التي لا تحتاج إلى ربط تمكين Plugin |
| `plugin-sdk/provider-web-search-contract` | مساعدات عقد web-search للمزوّد | مساعدات ضيقة لعقد تهيئة/بيانات اعتماد web-search مثل `createWebSearchProviderContractFields` و`enablePluginInConfig` و`resolveProviderWebSearchPluginConfig` ووظائف الضبط/الجلب المقيّدة لبيانات الاعتماد |
| `plugin-sdk/provider-web-search` | مساعدات web-search للمزوّد | مساعدات تسجيل/ذاكرة التخزين المؤقت/وقت التشغيل لمزوّد web-search |
| `plugin-sdk/provider-tools` | مساعدات توافق أداة/مخطط المزوّد | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`، وتنظيف مخطط Gemini + التشخيصات، ومساعدات توافق xAI مثل `resolveXaiModelCompatPatch` / `applyXaiModelCompat` |
| `plugin-sdk/provider-usage` | مساعدات استخدام المزوّد | `fetchClaudeUsage`, `fetchGeminiUsage`, `fetchGithubCopilotUsage`، ومساعدات استخدام المزوّد الأخرى |
| `plugin-sdk/provider-stream` | مساعدات غلاف تدفق المزوّد | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`، وأنواع أغلفة التدفق، ومساعدات الأغلفة المشتركة لـ Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot |
| `plugin-sdk/keyed-async-queue` | قائمة انتظار async مرتبة | `KeyedAsyncQueue` |
| `plugin-sdk/media-runtime` | أدوات وسائط مشتركة | أدوات جلب/تحويل/تخزين الوسائط بالإضافة إلى منشئات حمولة الوسائط |
| `plugin-sdk/media-generation-runtime` | أدوات مشتركة لتوليد الوسائط | أدوات failover المشتركة، واختيار المرشح، ورسائل النماذج المفقودة لتوليد الصور/الفيديو/الموسيقى |
| `plugin-sdk/media-understanding` | أدوات فهم الوسائط المساعدة | أنواع موفر فهم الوسائط بالإضافة إلى صادرات أدوات الصور/الصوت المواجهة للموفر |
| `plugin-sdk/text-runtime` | أدوات نصية مشتركة | إزالة النص المرئي للمساعد، وأدوات render/chunking/table الخاصة بـ Markdown، وأدوات إخفاء البيانات، وأدوات directive-tag، وأدوات النص الآمن، وغيرها من أدوات النص/التسجيل ذات الصلة |
| `plugin-sdk/text-chunking` | أدوات تقسيم النص المساعدة | أداة تقسيم النص الصادر |
| `plugin-sdk/speech` | أدوات الكلام المساعدة | أنواع موفّر الكلام بالإضافة إلى أدوات directive والسجل والتحقق المواجهة للموفّر |
| `plugin-sdk/speech-core` | نواة الكلام المشتركة | أنواع موفّر الكلام، والسجل، والتوجيهات، والتطبيع |
| `plugin-sdk/realtime-transcription` | أدوات النسخ الفوري المساعدة | أنواع الموفّر وأدوات السجل |
| `plugin-sdk/realtime-voice` | أدوات الصوت الفوري المساعدة | أنواع الموفّر وأدوات السجل |
| `plugin-sdk/image-generation-core` | نواة توليد الصور المشتركة | أنواع توليد الصور، وfailover، والمصادقة، وأدوات السجل |
| `plugin-sdk/music-generation` | أدوات توليد الموسيقى المساعدة | أنواع موفر/طلب/نتيجة توليد الموسيقى |
| `plugin-sdk/music-generation-core` | نواة توليد الموسيقى المشتركة | أنواع توليد الموسيقى، وأدوات failover المساعدة، والبحث عن الموفّر، وتحليل model-ref |
| `plugin-sdk/video-generation` | أدوات توليد الفيديو المساعدة | أنواع موفر/طلب/نتيجة توليد الفيديو |
| `plugin-sdk/video-generation-core` | نواة توليد الفيديو المشتركة | أنواع توليد الفيديو، وأدوات failover المساعدة، والبحث عن الموفّر، وتحليل model-ref |
| `plugin-sdk/interactive-runtime` | أدوات الرد التفاعلي المساعدة | تطبيع/اختزال حمولة الرد التفاعلي |
| `plugin-sdk/channel-config-primitives` | بدائيات إعداد القناة | بدائيات ضيقة لمخطط إعداد القناة |
| `plugin-sdk/channel-config-writes` | أدوات كتابة إعداد القناة المساعدة | أدوات تفويض كتابة إعداد القناة |
| `plugin-sdk/channel-plugin-common` | تمهيد القنوات المشترك | صادرات تمهيد إضافات القنوات المشتركة |
| `plugin-sdk/channel-status` | أدوات حالة القناة المساعدة | أدوات snapshot/summary المشتركة لحالة القناة |
| `plugin-sdk/allowlist-config-edit` | أدوات إعداد قائمة السماح | أدوات قراءة/تعديل إعداد قائمة السماح |
| `plugin-sdk/group-access` | أدوات الوصول للمجموعات المساعدة | أدوات القرار المشتركة للوصول إلى المجموعات |
| `plugin-sdk/direct-dm` | أدوات DM المباشر المساعدة | أدوات المصادقة/الحماية المشتركة للـ DM المباشر |
| `plugin-sdk/extension-shared` | أدوات إضافات مشتركة | بدائيات القناة/الحالة السلبية وأدوات ambient proxy المساعدة |
| `plugin-sdk/webhook-targets` | أدوات أهداف webhook المساعدة | سجل أهداف webhook وأدوات تثبيت route |
| `plugin-sdk/webhook-path` | أدوات مسار webhook المساعدة | أدوات تطبيع مسار webhook |
| `plugin-sdk/web-media` | أدوات وسائط الويب المشتركة | أدوات تحميل الوسائط البعيدة/المحلية |
| `plugin-sdk/media-runtime` | مساعدات الوسائط المشتركة | مساعدات جلب/تحويل/تخزين الوسائط بالإضافة إلى منشئات حمولة الوسائط |
| `plugin-sdk/media-generation-runtime` | مساعدات إنشاء الوسائط المشتركة | مساعدات failover المشتركة، واختيار المرشح، ورسائل النموذج المفقود لإنشاء الصور/الفيديو/الموسيقى |
| `plugin-sdk/media-understanding` | مساعدات فهم الوسائط | أنواع مزوّد فهم الوسائط بالإضافة إلى تصديرات مساعدات الصور/الصوت الموجهة للمزوّد |
| `plugin-sdk/text-runtime` | مساعدات النص المشتركة | إزالة النص المرئي للمساعد، ومساعدات العرض/التقسيم/الجداول لـ Markdown، ومساعدات الإخفاء، ومساعدات علامات التوجيه، وأدوات النص الآمنة، ومساعدات النص/التسجيل ذات الصلة |
| `plugin-sdk/text-chunking` | مساعدات تقسيم النص | مساعد تقسيم النص الصادر |
| `plugin-sdk/speech` | مساعدات الكلام | أنواع مزوّد الكلام بالإضافة إلى مساعدات التوجيه والسجل والتحقق الموجهة للمزوّد |
| `plugin-sdk/speech-core` | نواة الكلام المشتركة | أنواع مزوّد الكلام، والسجل، والتوجيهات، والتطبيع |
| `plugin-sdk/realtime-transcription` | مساعدات النسخ الفوري | أنواع المزوّد ومساعدات السجل |
| `plugin-sdk/realtime-voice` | مساعدات الصوت الفوري | أنواع المزوّد ومساعدات السجل |
| `plugin-sdk/image-generation-core` | نواة إنشاء الصور المشتركة | مساعدات أنواع إنشاء الصور، وfailover، والمصادقة، والسجل |
| `plugin-sdk/music-generation` | مساعدات إنشاء الموسيقى | أنواع مزوّد/طلب/نتيجة إنشاء الموسيقى |
| `plugin-sdk/music-generation-core` | نواة إنشاء الموسيقى المشتركة | أنواع إنشاء الموسيقى، ومساعدات failover، والبحث عن المزوّد، وتحليل model-ref |
| `plugin-sdk/video-generation` | مساعدات إنشاء الفيديو | أنواع مزوّد/طلب/نتيجة إنشاء الفيديو |
| `plugin-sdk/video-generation-core` | نواة إنشاء الفيديو المشتركة | أنواع إنشاء الفيديو، ومساعدات failover، والبحث عن المزوّد، وتحليل model-ref |
| `plugin-sdk/interactive-runtime` | مساعدات الرد التفاعلي | تطبيع/اختزال حمولة الرد التفاعلي |
| `plugin-sdk/channel-config-primitives` | أساسيات تهيئة القناة | أساسيات ضيقة لمخطط تهيئة القناة |
| `plugin-sdk/channel-config-writes` | مساعدات كتابة تهيئة القناة | مساعدات تفويض كتابة تهيئة القناة |
| `plugin-sdk/channel-plugin-common` | تمهيد القناة المشترك | تصديرات تمهيد Plugin القناة المشتركة |
| `plugin-sdk/channel-status` | مساعدات حالة القناة | مساعدات اللقطة/الملخص المشتركة لحالة القناة |
| `plugin-sdk/allowlist-config-edit` | مساعدات تهيئة Allowlist | مساعدات تعديل/قراءة تهيئة Allowlist |
| `plugin-sdk/group-access` | مساعدات وصول المجموعة | مساعدات قرارات وصول المجموعة المشتركة |
| `plugin-sdk/direct-dm` | مساعدات Direct-DM | مساعدات المصادقة/الحراسة المشتركة لـ Direct-DM |
| `plugin-sdk/extension-shared` | مساعدات extension المشتركة | أساسيات مساعدات القناة/الحالة السلبية والـ proxy المحيط |
| `plugin-sdk/webhook-targets` | مساعدات أهداف Webhook | مساعدات سجل هدف Webhook وتثبيت المسارات |
| `plugin-sdk/webhook-path` | مساعدات مسار Webhook | مساعدات تطبيع مسار Webhook |
| `plugin-sdk/web-media` | مساعدات وسائط الويب المشتركة | مساعدات تحميل الوسائط البعيدة/المحلية |
| `plugin-sdk/zod` | إعادة تصدير Zod | إعادة تصدير `zod` لمستهلكي Plugin SDK |
| `plugin-sdk/memory-core` | أدوات memory-core المضمنة | سطح أدوات memory manager/config/file/CLI |
| `plugin-sdk/memory-core-engine-runtime` | واجهة وقت تشغيل محرك الذاكرة | واجهة وقت تشغيل memory index/search |
| `plugin-sdk/memory-core-host-engine-foundation` | محرك أساس مضيف الذاكرة | صادرات محرك الأساس لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-engine-embeddings` | محرك embeddings لمضيف الذاكرة | صادرات محرك embeddings لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-engine-qmd` | محرك QMD لمضيف الذاكرة | صادرات محرك QMD لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-engine-storage` | محرك التخزين لمضيف الذاكرة | صادرات محرك التخزين لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-multimodal` | أدوات multimodal لمضيف الذاكرة | أدوات multimodal لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-query` | أدوات الاستعلام لمضيف الذاكرة | أدوات الاستعلام لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-secret` | أدوات الأسرار لمضيف الذاكرة | أدوات الأسرار لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-events` | أدوات سجل أحداث مضيف الذاكرة | أدوات سجل أحداث مضيف الذاكرة |
| `plugin-sdk/memory-core-host-status` | أدوات حالة مضيف الذاكرة | أدوات حالة مضيف الذاكرة |
| `plugin-sdk/memory-core-host-runtime-cli` | وقت تشغيل CLI لمضيف الذاكرة | أدوات وقت تشغيل CLI لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-runtime-core` | وقت تشغيل core لمضيف الذاكرة | أدوات وقت تشغيل core لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-runtime-files` | أدوات ملف/وقت تشغيل لمضيف الذاكرة | أدوات ملف/وقت تشغيل لمضيف الذاكرة |
| `plugin-sdk/memory-host-core` | اسم بديل لوقت تشغيل core لمضيف الذاكرة | اسم بديل محايد للبائع لأدوات وقت تشغيل core لمضيف الذاكرة |
| `plugin-sdk/memory-host-events` | اسم بديل لسجل أحداث مضيف الذاكرة | اسم بديل محايد للبائع لأدوات سجل أحداث مضيف الذاكرة |
| `plugin-sdk/memory-host-files` | اسم بديل لأدوات ملف/وقت تشغيل مضيف الذاكرة | اسم بديل محايد للبائع لأدوات ملف/وقت تشغيل مضيف الذاكرة |
| `plugin-sdk/memory-host-markdown` | أدوات markdown مُدارة | أدوات markdown مُدارة مشتركة للإضافات القريبة من الذاكرة |
| `plugin-sdk/memory-host-search` | واجهة بحث الذاكرة النشطة | واجهة وقت تشغيل lazy active-memory search-manager |
| `plugin-sdk/memory-host-status` | اسم بديل لحالة مضيف الذاكرة | اسم بديل محايد للبائع لأدوات حالة مضيف الذاكرة |
| `plugin-sdk/memory-lancedb` | أدوات memory-lancedb المضمنة | سطح أدوات memory-lancedb |
| `plugin-sdk/testing` | أدوات الاختبار | أدوات الاختبار وmockات |
| `plugin-sdk/memory-core` | مساعدات memory-core المضمّنة | سطح مساعدات مدير الذاكرة/التهيئة/الملفات/CLI |
| `plugin-sdk/memory-core-engine-runtime` | واجهة وقت تشغيل محرك الذاكرة | واجهة وقت تشغيل فهرسة/بحث الذاكرة |
| `plugin-sdk/memory-core-host-engine-foundation` | محرك أساس مضيف الذاكرة | تصديرات محرك أساس مضيف الذاكرة |
| `plugin-sdk/memory-core-host-engine-embeddings` | محرك التضمينات لمضيف الذاكرة | عقود تضمينات الذاكرة، والوصول إلى السجل، والمزوّد المحلي، ومساعدات الدُفعات/البعيد العامة؛ أما المزوّدات البعيدة الملموسة فتوجد في Plugins المالكة لها |
| `plugin-sdk/memory-core-host-engine-qmd` | محرك QMD لمضيف الذاكرة | تصديرات محرك QMD لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-engine-storage` | محرك التخزين لمضيف الذاكرة | تصديرات محرك التخزين لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-multimodal` | مساعدات متعدد الوسائط لمضيف الذاكرة | مساعدات متعدد الوسائط لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-query` | مساعدات الاستعلام لمضيف الذاكرة | مساعدات الاستعلام لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-secret` | مساعدات الأسرار لمضيف الذاكرة | مساعدات الأسرار لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-events` | مساعدات سجل أحداث مضيف الذاكرة | مساعدات سجل أحداث مضيف الذاكرة |
| `plugin-sdk/memory-core-host-status` | مساعدات حالة مضيف الذاكرة | مساعدات حالة مضيف الذاكرة |
| `plugin-sdk/memory-core-host-runtime-cli` | وقت تشغيل CLI لمضيف الذاكرة | مساعدات وقت تشغيل CLI لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-runtime-core` | وقت تشغيل النواة لمضيف الذاكرة | مساعدات وقت تشغيل النواة لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-runtime-files` | مساعدات ملفات/وقت تشغيل مضيف الذاكرة | مساعدات ملفات/وقت تشغيل مضيف الذاكرة |
| `plugin-sdk/memory-host-core` | اسم مستعار لوقت تشغيل نواة مضيف الذاكرة | اسم مستعار محايد تجاه المورّد لمساعدات وقت تشغيل نواة مضيف الذاكرة |
| `plugin-sdk/memory-host-events` | اسم مستعار لسجل أحداث مضيف الذاكرة | اسم مستعار محايد تجاه المورّد لمساعدات سجل أحداث مضيف الذاكرة |
| `plugin-sdk/memory-host-files` | اسم مستعار لملفات/وقت تشغيل مضيف الذاكرة | اسم مستعار محايد تجاه المورّد لمساعدات ملفات/وقت تشغيل مضيف الذاكرة |
| `plugin-sdk/memory-host-markdown` | مساعدات Markdown المُدارة | مساعدات Markdown المُدارة المشتركة لـ Plugins القريبة من الذاكرة |
| `plugin-sdk/memory-host-search` | واجهة بحث Active Memory | واجهة وقت تشغيل كسولة لمدير بحث Active Memory |
| `plugin-sdk/memory-host-status` | اسم مستعار لحالة مضيف الذاكرة | اسم مستعار محايد تجاه المورّد لمساعدات حالة مضيف الذاكرة |
| `plugin-sdk/memory-lancedb` | مساعدات memory-lancedb المضمّنة | سطح مساعدات memory-lancedb |
| `plugin-sdk/testing` | أدوات الاختبار | مساعدات الاختبار وعمليات المحاكاة |
</Accordion>
هذا الجدول هو عمدًا مجموعة الترحيل الشائعة، وليس سطح SDK الكامل.
القائمة الكاملة التي تضم أكثر من 200 نقطة دخول موجودة في
توجد القائمة الكاملة التي تضم أكثر من 200 نقطة دخول في
`scripts/lib/plugin-sdk-entrypoints.json`.
لا تزال تلك القائمة تتضمن بعض واجهات المساعدة الخاصة بالإضافات المضمنة مثل
`plugin-sdk/feishu` و`plugin-sdk/feishu-setup` و`plugin-sdk/zalo` و
`plugin-sdk/zalo-setup` و`plugin-sdk/matrix*`. لا تزال هذه الواجهات مُصدّرة
لصيانة الإضافات المضمنة والتوافق، لكنها حُذفت عمدًا من جدول الترحيل الشائع
وليست الهدف الموصى به لكتابة إضافات جديدة.
لا تزال تلك القائمة تتضمن بعض مسارات مساعدات Plugins المضمّنة مثل
`plugin-sdk/feishu` و`plugin-sdk/feishu-setup` و`plugin-sdk/zalo`
و`plugin-sdk/zalo-setup` و`plugin-sdk/matrix*`. تظل هذه المسارات مُصدّرة من أجل
صيانة Plugins المضمّنة والتوافق، لكنها حُذفت عمدًا من جدول الترحيل الشائع
وليست الهدف الموصى به لرمز Plugin الجديد.
وتنطبق القاعدة نفسها على عائلات المساعدات المضمنة الأخرى مثل:
تنطبق القاعدة نفسها على عائلات المساعدات المضمّنة الأخرى مثل:
- أدوات دعم المتصفح المساعدة: `plugin-sdk/browser-cdp`, `plugin-sdk/browser-config-runtime`, `plugin-sdk/browser-config-support`, `plugin-sdk/browser-control-auth`, `plugin-sdk/browser-node-runtime`, `plugin-sdk/browser-profiles`, `plugin-sdk/browser-security-runtime`, `plugin-sdk/browser-setup-tools`, `plugin-sdk/browser-support`
- مساعدات دعم المتصفح: `plugin-sdk/browser-cdp` و`plugin-sdk/browser-config-runtime` و`plugin-sdk/browser-config-support` و`plugin-sdk/browser-control-auth` و`plugin-sdk/browser-node-runtime` و`plugin-sdk/browser-profiles` و`plugin-sdk/browser-security-runtime` و`plugin-sdk/browser-setup-tools` و`plugin-sdk/browser-support`
- Matrix: `plugin-sdk/matrix*`
- LINE: `plugin-sdk/line*`
- IRC: `plugin-sdk/irc*`
- الأسطح المضمنة للمساعدات/الإضافات مثل `plugin-sdk/googlechat`,
و`plugin-sdk/zalouser`, و`plugin-sdk/bluebubbles*`,
و`plugin-sdk/mattermost*`, و`plugin-sdk/msteams`,
و`plugin-sdk/nextcloud-talk`, و`plugin-sdk/nostr`, و`plugin-sdk/tlon`,
و`plugin-sdk/twitch`,
و`plugin-sdk/github-copilot-login`, و`plugin-sdk/github-copilot-token`,
و`plugin-sdk/diagnostics-otel`, و`plugin-sdk/diffs`, و`plugin-sdk/llm-task`,
و`plugin-sdk/thread-ownership`, و`plugin-sdk/voice-call`
- أسطح المساعدات/Plugins المضمّنة مثل `plugin-sdk/googlechat`
و`plugin-sdk/zalouser` و`plugin-sdk/bluebubbles*`
و`plugin-sdk/mattermost*` و`plugin-sdk/msteams`
و`plugin-sdk/nextcloud-talk` و`plugin-sdk/nostr` و`plugin-sdk/tlon`
و`plugin-sdk/twitch`
و`plugin-sdk/github-copilot-login` و`plugin-sdk/github-copilot-token`
و`plugin-sdk/diagnostics-otel` و`plugin-sdk/diffs` و`plugin-sdk/llm-task`
و`plugin-sdk/thread-ownership` و`plugin-sdk/voice-call`
يكشف `plugin-sdk/github-copilot-token` حاليًا عن
سطح أدوات الرموز الضيق `DEFAULT_COPILOT_API_BASE_URL`,
و`deriveCopilotApiBaseUrlFromToken`، و`resolveCopilotApiToken`.
سطح مساعد الرمز الضيق `DEFAULT_COPILOT_API_BASE_URL`
و`deriveCopilotApiBaseUrlFromToken` و`resolveCopilotApiToken`.
استخدم أضيق استيراد يطابق المهمة. إذا لم تتمكن من العثور على عنصر مُصدَّر،
استخدم أضيق عملية استيراد تطابق المهمة. إذا لم تتمكن من العثور على تصدير،
فتحقق من المصدر في `src/plugin-sdk/` أو اسأل في Discord.
## الجدول الزمني للإزالة
| متى | ما الذي يحدث |
| متى | ماذا يحدث |
| ---------------------- | ----------------------------------------------------------------------- |
| **الآن** | تصدر الأسطح المهجورة تحذيرات وقت التشغيل |
| **الإصدار الرئيسي التالي** | ستُزال الأسطح المهجورة؛ وستفشل الإضافات التي لا تزال تستخدمها |
| **الآن** | تُصدر الأسطح المهجورة تحذيرات وقت التشغيل |
| **الإصدار الرئيسي التالي** | ستُزال الأسطح المهجورة؛ وستفشل Plugins التي لا تزال تستخدمها |
تم بالفعل ترحيل جميع الإضافات الأساسية. يجب على الإضافات الخارجية الترحيل
لقد تم بالفعل ترحيل جميع Plugins الأساسية. يجب على Plugins الخارجية الترحيل
قبل الإصدار الرئيسي التالي.
## إخفاء التحذيرات مؤقتًا
@ -397,13 +396,13 @@ OPENCLAW_SUPPRESS_PLUGIN_SDK_COMPAT_WARNING=1 openclaw gateway run
OPENCLAW_SUPPRESS_EXTENSION_API_WARNING=1 openclaw gateway run
```
هذا مخرج مؤقت، وليس حلًا دائمًا.
هذا منفذ هروب مؤقت، وليس حلًا دائمًا.
## ذو صلة
- [البدء](/ar/plugins/building-plugins) — أنشئ إضافتك الأولى
- [نظرة عامة على SDK](/ar/plugins/sdk-overview) — مرجع كامل لعمليات الاستيراد حسب المسار الفرعي
- [إضافات القنوات](/ar/plugins/sdk-channel-plugins) — بناء إضافات القنوات
- [إضافات الموفّرات](/ar/plugins/sdk-provider-plugins) — بناء إضافات الموفّرات
- [الهيكل الداخلي للإضافات](/ar/plugins/architecture) — نظرة معمارية متعمقة
- [بيان الإضافة](/ar/plugins/manifest) — مرجع مخطط البيان
- [البدء](/ar/plugins/building-plugins) — ابنِ أول Plugin لك
- [نظرة عامة على SDK](/ar/plugins/sdk-overview) — المرجع الكامل لعمليات الاستيراد عبر المسارات الفرعية
- [Plugins القنوات](/ar/plugins/sdk-channel-plugins) — بناء Plugins القنوات
- [Plugins المزوّدات](/ar/plugins/sdk-provider-plugins) — بناء Plugins المزوّدات
- [الأجزاء الداخلية للـ Plugin](/ar/plugins/architecture) — نظرة معمقة على البنية
- [بيان Plugin](/ar/plugins/manifest) — مرجع مخطط البيان

View File

@ -1,30 +1,30 @@
---
read_when:
- تحتاج إلى معرفة أي مسار فرعي من SDK يجب الاستيراد منه
- تريد مرجعًا لكل طرائق التسجيل في OpenClawPluginApi
- أنت تبحث عن تصدير محدد من SDK
- تريد مرجعًا لجميع أساليب التسجيل في `OpenClawPluginApi`
- أنت تبحث عن تصدير محدد في SDK
sidebarTitle: SDK Overview
summary: خريطة الاستيراد، مرجع API للتسجيل، وبنية SDK
title: نظرة عامة على Plugin SDK
x-i18n:
generated_at: "2026-04-11T02:46:58Z"
generated_at: "2026-04-17T07:17:56Z"
model: gpt-5.4
provider: openai
source_hash: 4bfeb5896f68e3e4ee8cf434d43a019e0d1fe5af57f5bf7a5172847c476def0c
source_hash: b177fdb6830f415d998a24812bc2c7db8124d3ba77b0174c9a67ac7d747f7e5a
source_path: plugins/sdk-overview.md
workflow: 15
---
# نظرة عامة على Plugin SDK
تُعد Plugin SDK العقد المطبّق بالأنواع بين plugins وcore. وهذه الصفحة هي
يمثل Plugin SDK العقد المطبوع بين المكونات الإضافية والنواة. تُعد هذه الصفحة
المرجع الخاص بـ **ما الذي يجب استيراده** و**ما الذي يمكنك تسجيله**.
<Tip>
**هل تبحث عن دليل عملي؟**
- أول plugin؟ ابدأ من [البدء](/ar/plugins/building-plugins)
- plugin قناة؟ راجع [Channel Plugins](/ar/plugins/sdk-channel-plugins)
- plugin مزوّد؟ راجع [Provider Plugins](/ar/plugins/sdk-provider-plugins)
**هل تبحث عن دليل إرشادي؟**
- أول مكوّن إضافي؟ ابدأ من [البدء](/ar/plugins/building-plugins)
- مكوّن إضافي للقنوات؟ راجع [المكونات الإضافية للقنوات](/ar/plugins/sdk-channel-plugins)
- مكوّن إضافي للموفّر؟ راجع [المكونات الإضافية للموفّر](/ar/plugins/sdk-provider-plugins)
</Tip>
## اصطلاح الاستيراد
@ -36,332 +36,332 @@ import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
import { defineChannelPluginEntry } from "openclaw/plugin-sdk/channel-core";
```
كل مسار فرعي هو وحدة صغيرة مستقلة ذاتيًا. وهذا يحافظ على سرعة بدء التشغيل
كل مسار فرعي هو وحدة صغيرة مستقلة بذاتها. يساعد ذلك في إبقاء بدء التشغيل سريعًا
ويمنع مشكلات التبعيات الدائرية. بالنسبة إلى مساعدات الإدخال/البناء الخاصة بالقنوات،
ففضّل `openclaw/plugin-sdk/channel-core`؛ واحتفظ بـ `openclaw/plugin-sdk/core`
للواجهة الشاملة الأوسع والمساعدات المشتركة مثل
فإن المسار المفضّل هو `openclaw/plugin-sdk/channel-core`؛ واحتفظ بـ `openclaw/plugin-sdk/core`
للسطح الأشمل والمساعدات المشتركة مثل
`buildChannelConfigSchema`.
لا تضف أو تعتمد على واجهات تسهيلية مسماة باسم المزوّد مثل
لا تُضف أو تعتمد على مسارات ربط مريحة تحمل أسماء موفّرين مثل
`openclaw/plugin-sdk/slack` أو `openclaw/plugin-sdk/discord` أو
`openclaw/plugin-sdk/signal` أو `openclaw/plugin-sdk/whatsapp`، أو
واجهات مساعدة تحمل علامة قناة معينة. ينبغي أن تركّب plugins المضمّنة
المسارات الفرعية العامة لـ SDK داخل ملفاتها `api.ts` أو `runtime-api.ts`،
ويجب على core إما استخدام هذه الملفات المحلية الخاصة بالplugin أو إضافة
عقد SDK عامًا ضيقًا عندما تكون الحاجة فعلًا عابرة للقنوات.
`openclaw/plugin-sdk/signal` أو `openclaw/plugin-sdk/whatsapp` أو
مسارات المساعدات ذات العلامات الخاصة بالقنوات. يجب على المكونات الإضافية المضمّنة
تجميع المسارات الفرعية العامة من SDK داخل ملفات `api.ts` أو `runtime-api.ts`
الخاصة بها، ويجب على النواة إما استخدام هذه الملفات المحلية الخاصة بالمكوّن الإضافي
أو إضافة عقد عام ضيق في SDK عندما تكون الحاجة فعلًا عابرة للقنوات.
لا تزال خريطة التصدير المُولّدة تحتوي على مجموعة صغيرة من واجهات المساعدة
الخاصة بالplugins المضمّنة مثل `plugin-sdk/feishu` و`plugin-sdk/feishu-setup`
و`plugin-sdk/zalo` و`plugin-sdk/zalo-setup` و`plugin-sdk/matrix*`. توجد
هذه المسارات الفرعية لصيانة plugins المضمّنة والتوافق فقط؛ وهي مُستبعدة
عن قصد من الجدول الشائع أدناه وليست مسار الاستيراد الموصى به للplugins
الجديدة التابعة لجهات خارجية.
لا تزال خريطة التصدير المُولَّدة تحتوي على مجموعة صغيرة من مسارات المساعدات الخاصة
بالمكونات الإضافية المضمّنة مثل `plugin-sdk/feishu` و`plugin-sdk/feishu-setup`
و`plugin-sdk/zalo` و`plugin-sdk/zalo-setup` و`plugin-sdk/matrix*`. توجد هذه
المسارات الفرعية فقط لصيانة المكونات الإضافية المضمّنة والتوافق، ولذلك أُزيلت عمدًا
من الجدول الشائع أدناه وليست مسار الاستيراد الموصى به للمكونات الإضافية الجديدة من
جهات خارجية.
## مرجع المسارات الفرعية
أكثر المسارات الفرعية استخدامًا، مجمعة حسب الغرض. وتوجد القائمة الكاملة
المولّدة التي تضم أكثر من 200 مسار فرعي في `scripts/lib/plugin-sdk-entrypoints.json`.
أكثر المسارات الفرعية استخدامًا، مجمّعة حسب الغرض. توجد القائمة الكاملة
المُولَّدة التي تضم أكثر من 200 مسار فرعي في `scripts/lib/plugin-sdk-entrypoints.json`.
لا تزال المسارات الفرعية المحجوزة لمساعدات plugins المضمّنة تظهر في تلك
القائمة المولّدة. تعامل معها على أنها أسطح تنفيذ/توافق ما لم تروّج صفحة
توثيق لها صراحة على أنها عامة.
لا تزال مسارات المساعدات المحجوزة الخاصة بالمكونات الإضافية المضمّنة تظهر في تلك
القائمة المُولَّدة. تعامل معها على أنها أسطح تنفيذ داخلية/توافقية ما لم تروّج لها
صفحة توثيق صراحةً باعتبارها عامة.
### إدخال plugin
### إدخال المكوّن الإضافي
| المسار الفرعي | التصديرات الأساسية |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `plugin-sdk/plugin-entry` | `definePluginEntry` |
| المسار الفرعي | أهم التصديرات |
| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `plugin-sdk/plugin-entry` | `definePluginEntry` |
| `plugin-sdk/core` | `defineChannelPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase`, `defineSetupPluginEntry`, `buildChannelConfigSchema` |
| `plugin-sdk/config-schema` | `OpenClawSchema` |
| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` |
| `plugin-sdk/config-schema` | `OpenClawSchema` |
| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` |
<AccordionGroup>
<Accordion title="المسارات الفرعية للقنوات">
| المسار الفرعي | التصديرات الأساسية |
| المسار الفرعي | أهم التصديرات |
| --- | --- |
| `plugin-sdk/channel-core` | `defineChannelPluginEntry`, `defineSetupPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase` |
| `plugin-sdk/config-schema` | تصدير مخطط Zod الجذري لـ `openclaw.json` (`OpenClawSchema`) |
| `plugin-sdk/config-schema` | تصدير مخطط Zod الجذري لـ `openclaw.json` (`OpenClawSchema`) |
| `plugin-sdk/channel-setup` | `createOptionalChannelSetupSurface`, `createOptionalChannelSetupAdapter`, `createOptionalChannelSetupWizard`، بالإضافة إلى `DEFAULT_ACCOUNT_ID`, `createTopLevelChannelDmPolicy`, `setSetupChannelEnabled`, `splitSetupEntries` |
| `plugin-sdk/setup` | مساعدات معالج الإعداد المشتركة، ومطالبات allowlist، وبناة حالة الإعداد |
| `plugin-sdk/setup` | مساعدات معالج الإعداد المشتركة، ومطالبات قائمة السماح، وبناة حالة الإعداد |
| `plugin-sdk/setup-runtime` | `createPatchedAccountSetupAdapter`, `createEnvPatchedAccountSetupAdapter`, `createSetupInputPresenceValidator`, `noteChannelLookupFailure`, `noteChannelLookupSummary`, `promptResolvedAllowFrom`, `splitSetupEntries`, `createAllowlistSetupWizardProxy`, `createDelegatedSetupWizardProxy` |
| `plugin-sdk/setup-adapter-runtime` | `createEnvPatchedAccountSetupAdapter` |
| `plugin-sdk/setup-tools` | `formatCliCommand`, `detectBinary`, `extractArchive`, `resolveBrewExecutable`, `formatDocsLink`, `CONFIG_DIR` |
| `plugin-sdk/account-core` | مساعدات إعداد/بوابة إجراءات متعددة الحسابات، ومساعدات الرجوع الاحتياطي للحساب الافتراضي |
| `plugin-sdk/account-core` | مساعدات تهيئة/بوابة إجراءات متعددة الحسابات، ومساعدات الرجوع إلى الحساب الافتراضي |
| `plugin-sdk/account-id` | `DEFAULT_ACCOUNT_ID`، ومساعدات تطبيع معرّف الحساب |
| `plugin-sdk/account-resolution` | مساعدات البحث عن الحساب + الرجوع الاحتياطي الافتراضي |
| `plugin-sdk/account-resolution` | مساعدات البحث عن الحساب + الرجوع الافتراضي |
| `plugin-sdk/account-helpers` | مساعدات ضيقة لقائمة الحسابات/إجراءات الحساب |
| `plugin-sdk/channel-pairing` | `createChannelPairingController` |
| `plugin-sdk/channel-reply-pipeline` | `createChannelReplyPipeline` |
| `plugin-sdk/channel-config-helpers` | `createHybridChannelConfigAdapter` |
| `plugin-sdk/channel-config-schema` | أنواع مخطط إعداد القناة |
| `plugin-sdk/telegram-command-config` | مساعدات تطبيع/تحقق أوامر Telegram المخصصة مع رجوع احتياطي للعقد المضمّن |
| `plugin-sdk/channel-config-schema` | أنواع مخطط تهيئة القناة |
| `plugin-sdk/telegram-command-config` | مساعدات تطبيع/تحقق الأوامر المخصصة في Telegram مع الرجوع إلى العقد المضمّن |
| `plugin-sdk/channel-policy` | `resolveChannelGroupRequireMention` |
| `plugin-sdk/channel-lifecycle` | `createAccountStatusSink` |
| `plugin-sdk/inbound-envelope` | مساعدات مشتركة لتوجيه الوارد وبناء المغلف |
| `plugin-sdk/inbound-envelope` | مساعدات مشتركة لتوجيه الوارد + بناء الغلاف |
| `plugin-sdk/inbound-reply-dispatch` | مساعدات مشتركة لتسجيل الوارد وإرساله |
| `plugin-sdk/messaging-targets` | مساعدات تحليل/مطابقة الأهداف |
| `plugin-sdk/outbound-media` | مساعدات مشتركة لتحميل الوسائط الصادرة |
| `plugin-sdk/outbound-runtime` | مساعدات هوية/تفويض الإرسال الصادر |
| `plugin-sdk/thread-bindings-runtime` | مساعدات دورة حياة ربط الخيوط والمهايئات |
| `plugin-sdk/agent-media-payload` | باني حمولة وسائط الوكيل القديم |
| `plugin-sdk/conversation-runtime` | مساعدات المحادثة/ربط الخيوط/الاقتران/الربط المهيأ |
| `plugin-sdk/runtime-config-snapshot` | مساعد إعدادات وقت التشغيل الملتقطة |
| `plugin-sdk/runtime-group-policy` | مساعدات حل سياسة المجموعات في وقت التشغيل |
| `plugin-sdk/channel-status` | مساعدات مشتركة للّقطة/الملخص الخاص بحالة القناة |
| `plugin-sdk/channel-config-primitives` | بدائيات ضيقة لمخطط إعداد القناة |
| `plugin-sdk/channel-config-writes` | مساعدات تفويض كتابة إعداد القناة |
| `plugin-sdk/channel-plugin-common` | تصديرات تمهيد مشتركة لـ plugin القناة |
| `plugin-sdk/allowlist-config-edit` | مساعدات تعديل/قراءة إعداد allowlist |
| `plugin-sdk/outbound-runtime` | مساعدات هوية الإرسال/مفوّض الإرسال الصادر |
| `plugin-sdk/thread-bindings-runtime` | دورة حياة ربط الخيوط ومساعدات المهايئ |
| `plugin-sdk/agent-media-payload` | بانٍ قديم لحمولة وسائط الوكيل |
| `plugin-sdk/conversation-runtime` | مساعدات ربط المحادثة/الخيط، والاقتران، والربط المهيأ |
| `plugin-sdk/runtime-config-snapshot` | مساعد لقطة تهيئة وقت التشغيل |
| `plugin-sdk/runtime-group-policy` | مساعدات حل سياسة المجموعة في وقت التشغيل |
| `plugin-sdk/channel-status` | مساعدات مشتركة للقطات/ملخصات حالة القناة |
| `plugin-sdk/channel-config-primitives` | أوليات ضيقة لمخطط تهيئة القناة |
| `plugin-sdk/channel-config-writes` | مساعدات تفويض كتابة تهيئة القناة |
| `plugin-sdk/channel-plugin-common` | تصديرات تمهيدية مشتركة للمكونات الإضافية للقنوات |
| `plugin-sdk/allowlist-config-edit` | مساعدات قراءة/تحرير تهيئة قائمة السماح |
| `plugin-sdk/group-access` | مساعدات مشتركة لقرارات الوصول إلى المجموعات |
| `plugin-sdk/direct-dm` | مساعدات مشتركة لمصادقة/حماية الرسائل الخاصة المباشرة |
| `plugin-sdk/interactive-runtime` | مساعدات تطبيع/اختزال حمولات الرد التفاعلي |
| `plugin-sdk/channel-inbound` | مساعدات إزالة الارتداد للوارد، ومطابقة الإشارات، وسياسة الإشارة، ومساعدات المغلف |
| `plugin-sdk/direct-dm` | مساعدات مشتركة للمصادقة/الحماية الخاصة بالرسائل المباشرة |
| `plugin-sdk/interactive-runtime` | مساعدات تطبيع/اختزال حمولة الرد التفاعلي |
| `plugin-sdk/channel-inbound` | مساعدات إلغاء الارتداد للوارد، ومطابقة الإشارات، وسياسات الإشارة، ومساعدات الغلاف |
| `plugin-sdk/channel-send-result` | أنواع نتائج الرد |
| `plugin-sdk/channel-actions` | `createMessageToolButtonsSchema`, `createMessageToolCardSchema` |
| `plugin-sdk/channel-targets` | مساعدات تحليل/مطابقة الأهداف |
| `plugin-sdk/channel-contract` | أنواع عقد القناة |
| `plugin-sdk/channel-feedback` | توصيلات الملاحظات/التفاعلات |
| `plugin-sdk/channel-feedback` | ربط الملاحظات/التفاعلات |
| `plugin-sdk/channel-secret-runtime` | مساعدات ضيقة لعقد الأسرار مثل `collectSimpleChannelFieldAssignments`, `getChannelSurface`, `pushAssignment`، وأنواع أهداف الأسرار |
</Accordion>
<Accordion title="المسارات الفرعية للمزوّدين">
| المسار الفرعي | التصديرات الأساسية |
<Accordion title="المسارات الفرعية للموفّر">
| المسار الفرعي | أهم التصديرات |
| --- | --- |
| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` |
| `plugin-sdk/provider-setup` | مساعدات إعداد منسقة للمزوّدات المحلية/المستضافة ذاتيًا |
| `plugin-sdk/self-hosted-provider-setup` | مساعدات مركّزة لإعداد مزوّدات OpenAI-compatible المستضافة ذاتيًا |
| `plugin-sdk/cli-backend` | إعدادات CLI الخلفية الافتراضية + ثوابت watchdog |
| `plugin-sdk/provider-auth-runtime` | مساعدات حل API-key في وقت التشغيل لمكونات provider plugin |
| `plugin-sdk/provider-auth-api-key` | مساعدات onboarding/profile-write الخاصة بـ API-key مثل `upsertApiKeyProfile` |
| `plugin-sdk/provider-auth-result` | باني نتائج مصادقة OAuth القياسي |
| `plugin-sdk/provider-auth-login` | مساعدات تسجيل الدخول التفاعلي المشتركة لـ provider plugins |
| `plugin-sdk/provider-env-vars` | مساعدات البحث عن متغيرات env الخاصة بمصادقة المزوّد |
| `plugin-sdk/provider-setup` | مساعدات إعداد منسّقة للموفّرين المحليين/المستضافين ذاتيًا |
| `plugin-sdk/self-hosted-provider-setup` | مساعدات إعداد مركزة للموفّر المستضاف ذاتيًا والمتوافق مع OpenAI |
| `plugin-sdk/cli-backend` | إعدادات CLI الخلفية الافتراضية + ثوابت المراقبة |
| `plugin-sdk/provider-auth-runtime` | مساعدات حل مفتاح API وقت التشغيل للمكونات الإضافية للموفّرين |
| `plugin-sdk/provider-auth-api-key` | مساعدات إعداد/كتابة ملف تعريف مفتاح API مثل `upsertApiKeyProfile` |
| `plugin-sdk/provider-auth-result` | بانٍ قياسي لنتائج مصادقة OAuth |
| `plugin-sdk/provider-auth-login` | مساعدات تسجيل الدخول التفاعلي المشتركة للمكونات الإضافية للموفّرين |
| `plugin-sdk/provider-env-vars` | مساعدات البحث عن متغيرات البيئة لمصادقة الموفّر |
| `plugin-sdk/provider-auth` | `createProviderApiKeyAuthMethod`, `ensureApiKeyFromOptionEnvOrPrompt`, `upsertAuthProfile`, `upsertApiKeyProfile`, `writeOAuthCredentials` |
| `plugin-sdk/provider-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`، وبناة replay-policy المشتركون، ومساعدات نقاط نهاية المزوّد، ومساعدات تطبيع معرّف النموذج مثل `normalizeNativeXaiModelId` |
| `plugin-sdk/provider-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`، وبناة سياسات إعادة التشغيل المشتركة، ومساعدات نقاط نهاية الموفّر، ومساعدات تطبيع معرّف النموذج مثل `normalizeNativeXaiModelId` |
| `plugin-sdk/provider-catalog-shared` | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` |
| `plugin-sdk/provider-http` | مساعدات عامة لقدرات HTTP/نقطة النهاية الخاصة بالمزوّد |
| `plugin-sdk/provider-web-fetch-contract` | مساعدات ضيقة لعقد إعداد/اختيار web-fetch مثل `enablePluginInConfig` و`WebFetchProviderPlugin` |
| `plugin-sdk/provider-web-fetch` | مساعدات تسجيل/ذاكرة تخزين مؤقت/وقت تشغيل مزوّد web-fetch |
| `plugin-sdk/provider-web-search-config-contract` | مساعدات ضيقة لإعداد/بيانات اعتماد web-search للمزوّدات التي لا تحتاج إلى توصيل تمكين plugin |
| `plugin-sdk/provider-web-search-contract` | مساعدات ضيقة لعقد إعداد/بيانات اعتماد web-search مثل `createWebSearchProviderContractFields`, `enablePluginInConfig`, `resolveProviderWebSearchPluginConfig`، وضبط/جلب بيانات الاعتماد المقيّدة |
| `plugin-sdk/provider-web-search` | مساعدات تسجيل/ذاكرة تخزين مؤقت/وقت تشغيل مزوّد web-search |
| `plugin-sdk/provider-tools` | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`، وتنظيف مخطط Gemini + التشخيصات، ومساعدات توافق xAI مثل `resolveXaiModelCompatPatch` / `applyXaiModelCompat` |
| `plugin-sdk/provider-http` | مساعدات عامة لإمكانات HTTP/نقاط نهاية الموفّر |
| `plugin-sdk/provider-web-fetch-contract` | مساعدات ضيقة لعقد تهيئة/اختيار الجلب عبر الويب مثل `enablePluginInConfig` و`WebFetchProviderPlugin` |
| `plugin-sdk/provider-web-fetch` | مساعدات تسجيل/تخزين مؤقت لموفّر الجلب عبر الويب |
| `plugin-sdk/provider-web-search-config-contract` | مساعدات ضيقة لتهيئة/اعتماد البحث عبر الويب للموفّرين الذين لا يحتاجون إلى ربط تمكين المكوّن الإضافي |
| `plugin-sdk/provider-web-search-contract` | مساعدات ضيقة لعقد تهيئة/اعتماد البحث عبر الويب مثل `createWebSearchProviderContractFields`, `enablePluginInConfig`, `resolveProviderWebSearchPluginConfig`، وضبط/جلب بيانات الاعتماد ضمن النطاق |
| `plugin-sdk/provider-web-search` | مساعدات وقت التشغيل/التخزين المؤقت/التسجيل لموفّر البحث عبر الويب |
| `plugin-sdk/provider-tools` | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`، وتنظيف مخطط Gemini + التشخيصات، ومساعدات التوافق الخاصة بـ xAI مثل `resolveXaiModelCompatPatch` / `applyXaiModelCompat` |
| `plugin-sdk/provider-usage` | `fetchClaudeUsage` وما شابه |
| `plugin-sdk/provider-stream` | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`، وأنواع مغلّفات التدفق، ومساعدات المغلّفات المشتركة لـ Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot |
| `plugin-sdk/provider-onboard` | مساعدات ترقيع إعداد onboarding |
| `plugin-sdk/global-singleton` | مساعدات singleton/map/cache المحلية للعملية |
| `plugin-sdk/provider-stream` | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`، وأنواع مغلفات التدفق، ومساعدات المغلفات المشتركة لـ Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot |
| `plugin-sdk/provider-onboard` | مساعدات تصحيح تهيئة الإعداد الأولي |
| `plugin-sdk/global-singleton` | مساعدات العملية المحلية للمفردات/الخرائط/التخزين المؤقت |
</Accordion>
<Accordion title="المسارات الفرعية للمصادقة والأمان">
| المسار الفرعي | التصديرات الأساسية |
| المسار الفرعي | أهم التصديرات |
| --- | --- |
| `plugin-sdk/command-auth` | `resolveControlCommandGate`، ومساعدات سجل الأوامر، ومساعدات تفويض المرسِل |
| `plugin-sdk/command-auth` | `resolveControlCommandGate`، ومساعدات سجل الأوامر، ومساعدات تفويض المرسل |
| `plugin-sdk/command-status` | بُناة رسائل الأوامر/المساعدة مثل `buildCommandsMessagePaginated` و`buildHelpMessage` |
| `plugin-sdk/approval-auth-runtime` | مساعدات حل المعتمِد ومصادقة الإجراءات داخل الدردشة نفسها |
| `plugin-sdk/approval-client-runtime` | مساعدات ملف تعريف/تصفية موافقات exec الأصلية |
| `plugin-sdk/approval-delivery-runtime` | مهايئات قدرات/تسليم الموافقات الأصلية |
| `plugin-sdk/approval-gateway-runtime` | مساعد حل البوابة المشتركة للموافقات |
| `plugin-sdk/approval-handler-adapter-runtime` | مساعدات خفيفة لتحميل مهايئات الموافقة الأصلية لنقاط إدخال القنوات السريعة |
| `plugin-sdk/approval-handler-runtime` | مساعدات أوسع لوقت تشغيل معالج الموافقات؛ فضّل الواجهات الأضيق للمهايئ/البوابة عندما تكون كافية |
| `plugin-sdk/approval-native-runtime` | مساعدات الأهداف الأصلية للموافقة وربط الحساب |
| `plugin-sdk/approval-reply-runtime` | مساعدات حمولة رد الموافقة لـ exec/plugin |
| `plugin-sdk/command-auth-native` | مساعدات مصادقة الأوامر الأصلية وأهداف الجلسات الأصلية |
| `plugin-sdk/approval-auth-runtime` | مساعدات حلّ المعتمِد ومصادقة الإجراءات داخل نفس الدردشة |
| `plugin-sdk/approval-client-runtime` | مساعدات ملف التعريف/المرشّح للموافقة على التنفيذ الأصلي |
| `plugin-sdk/approval-delivery-runtime` | مهايئات إمكانات/تسليم الموافقة الأصلية |
| `plugin-sdk/approval-gateway-runtime` | مساعد مشترك لحل Gateway الخاص بالموافقات |
| `plugin-sdk/approval-handler-adapter-runtime` | مساعدات خفيفة لتحميل مهايئ الموافقة الأصلية لنقاط إدخال القنوات السريعة |
| `plugin-sdk/approval-handler-runtime` | مساعدات أشمل لوقت تشغيل معالج الموافقة؛ يُفضَّل استخدام مسارات المهايئ/Gateway الأضيق عندما تكون كافية |
| `plugin-sdk/approval-native-runtime` | مساعدات الهدف الأصلي للموافقة + ربط الحساب |
| `plugin-sdk/approval-reply-runtime` | مساعدات حمولة الرد الخاصة بموافقات التنفيذ/Plugin |
| `plugin-sdk/command-auth-native` | مساعدات المصادقة الأصلية للأوامر + هدف الجلسة الأصلي |
| `plugin-sdk/command-detection` | مساعدات مشتركة لاكتشاف الأوامر |
| `plugin-sdk/command-surface` | تطبيع نص الأمر ومساعدات واجهة الأوامر |
| `plugin-sdk/command-surface` | مساعدات تطبيع جسم الأمر وسطح الأمر |
| `plugin-sdk/allow-from` | `formatAllowFromLowercase` |
| `plugin-sdk/channel-secret-runtime` | مساعدات ضيقة لجمع عقود الأسرار لأسطح أسرار القناة/الplugin |
| `plugin-sdk/secret-ref-runtime` | مساعدات ضيقة لـ `coerceSecretRef` ومساعدات كتابة الأنواع لـ SecretRef لتحليل عقود الأسرار/الإعداد |
| `plugin-sdk/security-runtime` | مساعدات مشتركة للثقة، وتقييد الرسائل الخاصة، والمحتوى الخارجي، وجمع الأسرار |
| `plugin-sdk/ssrf-policy` | مساعدات allowlist للمضيفين وسياسة SSRF للشبكات الخاصة |
| `plugin-sdk/ssrf-runtime` | مساعدات pinned-dispatcher وfetch المحمي من SSRF وسياسة SSRF |
| `plugin-sdk/secret-input` | مساعدات تحليل مدخلات الأسرار |
| `plugin-sdk/webhook-ingress` | مساعدات الطلب/الهدف الخاصة بـ webhook |
| `plugin-sdk/webhook-request-guards` | مساعدات حجم/مهلة نص الطلب |
| `plugin-sdk/channel-secret-runtime` | مساعدات ضيقة لتجميع عقود الأسرار لأسطح أسرار القنوات/Plugin |
| `plugin-sdk/secret-ref-runtime` | `coerceSecretRef` الضيق ومساعدات كتابة SecretRef لتحليل عقود الأسرار/التهيئة |
| `plugin-sdk/security-runtime` | مساعدات مشتركة للثقة، وتقييد الرسائل المباشرة، والمحتوى الخارجي، وتجميع الأسرار |
| `plugin-sdk/ssrf-policy` | مساعدات سياسة SSRF لقائمة السماح بالمضيفين والشبكات الخاصة |
| `plugin-sdk/ssrf-runtime` | مساعدات المرسِل المثبّت، وfetch المحمي من SSRF، وسياسات SSRF |
| `plugin-sdk/secret-input` | مساعدات تحليل إدخال الأسرار |
| `plugin-sdk/webhook-ingress` | مساعدات الطلب/الهدف الخاصة بـ Webhook |
| `plugin-sdk/webhook-request-guards` | مساعدات حجم جسم الطلب/المهلة الزمنية |
</Accordion>
<Accordion title="المسارات الفرعية لوقت التشغيل والتخزين">
| المسار الفرعي | التصديرات الأساسية |
| المسار الفرعي | أهم التصديرات |
| --- | --- |
| `plugin-sdk/runtime` | مساعدات واسعة لوقت التشغيل/التسجيل/النسخ الاحتياطي/تثبيت plugins |
| `plugin-sdk/runtime-env` | مساعدات ضيقة لبيئة وقت التشغيل، وlogger، والمهلة، وإعادة المحاولة، وbackoff |
| `plugin-sdk/channel-runtime-context` | مساعدات عامة لتسجيل والبحث عن سياق وقت تشغيل القناة |
| `plugin-sdk/runtime` | مساعدات عامة لوقت التشغيل/التسجيل/النسخ الاحتياطي/تثبيت المكونات الإضافية |
| `plugin-sdk/runtime-env` | مساعدات ضيقة لبيئة وقت التشغيل، والمسجل، والمهلة الزمنية، وإعادة المحاولة، والتراجع التدريجي |
| `plugin-sdk/channel-runtime-context` | مساعدات عامة لتسجيل سياق وقت تشغيل القناة والبحث عنه |
| `plugin-sdk/runtime-store` | `createPluginRuntimeStore` |
| `plugin-sdk/plugin-runtime` | مساعدات مشتركة لأوامر/hooks/HTTP/‏التفاعل الخاصة بالplugin |
| `plugin-sdk/hook-runtime` | مساعدات مشتركة لخط أنابيب webhook/internal hook |
| `plugin-sdk/plugin-runtime` | مساعدات مشتركة للأوامر/الخطافات/HTTP/التفاعل الخاصة بـ Plugin |
| `plugin-sdk/hook-runtime` | مساعدات مشتركة لخط أنابيب Webhook/الخطافات الداخلية |
| `plugin-sdk/lazy-runtime` | مساعدات الاستيراد/الربط الكسول لوقت التشغيل مثل `createLazyRuntimeModule` و`createLazyRuntimeMethod` و`createLazyRuntimeSurface` |
| `plugin-sdk/process-runtime` | مساعدات تنفيذ العملية |
| `plugin-sdk/process-runtime` | مساعدات تنفيذ العمليات |
| `plugin-sdk/cli-runtime` | مساعدات تنسيق CLI والانتظار والإصدار |
| `plugin-sdk/gateway-runtime` | مساعدات عميل Gateway وترقيع حالة القناة |
| `plugin-sdk/config-runtime` | مساعدات تحميل/كتابة الإعداد |
| `plugin-sdk/telegram-command-config` | تطبيع اسم/وصف أمر Telegram والتحقق من التكرار/التعارض، حتى عند عدم توفر سطح عقد Telegram المضمّن |
| `plugin-sdk/approval-runtime` | مساعدات الموافقة لـ exec/plugin، وبناة قدرات الموافقة، ومساعدات المصادقة/الملف التعريفي، ومساعدات التوجيه/وقت التشغيل الأصلية |
| `plugin-sdk/reply-runtime` | مساعدات مشتركة لوقت تشغيل الوارد/الرد، والتجزئة، والإرسال، وheartbeat، ومخطط الرد |
| `plugin-sdk/gateway-runtime` | مساعدات عميل Gateway وتصحيح حالة القناة |
| `plugin-sdk/config-runtime` | مساعدات تحميل/كتابة التهيئة |
| `plugin-sdk/telegram-command-config` | تطبيع اسم/وصف أوامر Telegram وفحوصات التكرار/التعارض، حتى عندما لا يكون سطح عقد Telegram المضمّن متاحًا |
| `plugin-sdk/approval-runtime` | مساعدات موافقات التنفيذ/Plugin، وبناة إمكانات الموافقة، ومساعدات المصادقة/الملف التعريفي، ومساعدات التوجيه/وقت التشغيل الأصلية |
| `plugin-sdk/reply-runtime` | مساعدات مشتركة لوقت تشغيل الوارد/الرد، والتجزئة، والإرسال، وHeartbeat، ومخطط الرد |
| `plugin-sdk/reply-dispatch-runtime` | مساعدات ضيقة لإرسال/إنهاء الرد |
| `plugin-sdk/reply-history` | مساعدات مشتركة لسجل الردود ضمن نافذة قصيرة مثل `buildHistoryContext` و`recordPendingHistoryEntry` و`clearHistoryEntriesIfEnabled` |
| `plugin-sdk/reply-history` | مساعدات مشتركة لسجل الرد ضمن نافذة قصيرة مثل `buildHistoryContext` و`recordPendingHistoryEntry` و`clearHistoryEntriesIfEnabled` |
| `plugin-sdk/reply-reference` | `createReplyReferencePlanner` |
| `plugin-sdk/reply-chunking` | مساعدات ضيقة لتجزئة النص/Markdown |
| `plugin-sdk/session-store-runtime` | مساعدات مسار مخزن الجلسة و`updated-at` |
| `plugin-sdk/state-paths` | مساعدات مسارات دليل الحالة/OAuth |
| `plugin-sdk/session-store-runtime` | مساعدات مسار مخزن الجلسة + `updated-at` |
| `plugin-sdk/state-paths` | مساعدات مسارات دليل الحالة/OAuth |
| `plugin-sdk/routing` | مساعدات التوجيه/مفتاح الجلسة/ربط الحساب مثل `resolveAgentRoute` و`buildAgentSessionKey` و`resolveDefaultAgentBoundAccountId` |
| `plugin-sdk/status-helpers` | مساعدات مشتركة لملخصات حالة القناة/الحساب، وافتراضيات حالة وقت التشغيل، ومساعدات بيانات المشكلات الوصفية |
| `plugin-sdk/target-resolver-runtime` | مساعدات مشتركة لحل الأهداف |
| `plugin-sdk/status-helpers` | مساعدات مشتركة لملخص حالة القناة/الحساب، والقيم الافتراضية لحالة وقت التشغيل، ومساعدات بيانات التعريف الخاصة بالمشكلات |
| `plugin-sdk/target-resolver-runtime` | مساعدات مشتركة لحلّ الأهداف |
| `plugin-sdk/string-normalization-runtime` | مساعدات تطبيع slug/السلاسل النصية |
| `plugin-sdk/request-url` | استخراج عناوين URL النصية من مدخلات شبيهة بـ fetch/request |
| `plugin-sdk/run-command` | مشغّل أوامر موقّت مع نتائج stdout/stderr مطبّعة |
| `plugin-sdk/run-command` | مشغّل أوامر مؤقّت بنتائج `stdout`/`stderr` مطبّعة |
| `plugin-sdk/param-readers` | قارئات معلمات شائعة للأدوات/CLI |
| `plugin-sdk/tool-payload` | استخراج الحمولات المطبّعة من كائنات نتائج الأدوات |
| `plugin-sdk/tool-send` | استخراج حقول هدف الإرسال القياسية من وسائط الأداة |
| `plugin-sdk/tool-send` | استخراج حقول هدف الإرسال القياسية من وسائط الأدوات |
| `plugin-sdk/temp-path` | مساعدات مشتركة لمسارات التنزيل المؤقت |
| `plugin-sdk/logging-core` | مساعدات logger للنظام الفرعي وإخفاء البيانات |
| `plugin-sdk/logging-core` | مساعدات مسجل النظام الفرعي والتنقيح |
| `plugin-sdk/markdown-table-runtime` | مساعدات أوضاع جداول Markdown |
| `plugin-sdk/json-store` | مساعدات صغيرة لقراءة/كتابة حالة JSON |
| `plugin-sdk/file-lock` | مساعدات file-lock قابلة لإعادة الدخول |
| `plugin-sdk/persistent-dedupe` | مساعدات ذاكرة تخزين مؤقت لإزالة التكرار مدعومة بالقرص |
| `plugin-sdk/acp-runtime` | مساعدات وقت تشغيل/جلسة ACP وإرسال الرد |
| `plugin-sdk/agent-config-primitives` | بدائيات ضيقة لمخطط إعداد وقت تشغيل الوكيل |
| `plugin-sdk/boolean-param` | قارئ مرن للمعلمات المنطقية |
| `plugin-sdk/file-lock` | مساعدات إعادة الدخول لقفل الملفات |
| `plugin-sdk/persistent-dedupe` | مساعدات ذاكرة التخزين المؤقت لإزالة التكرار المدعومة بالقرص |
| `plugin-sdk/acp-runtime` | مساعدات وقت تشغيل ACP/الجلسة وإرسال الرد |
| `plugin-sdk/agent-config-primitives` | أوليات ضيقة لمخطط تهيئة وقت تشغيل الوكيل |
| `plugin-sdk/boolean-param` | قارئ مرن لمعلمات boolean |
| `plugin-sdk/dangerous-name-runtime` | مساعدات حل مطابقة الأسماء الخطرة |
| `plugin-sdk/device-bootstrap` | مساعدات تهيئة الجهاز ورمز الاقتران |
| `plugin-sdk/extension-shared` | بدائيات مساعدة مشتركة للقنوات السلبية والحالة والوكيل المحيطي |
| `plugin-sdk/models-provider-runtime` | مساعدات الرد الخاصة بأمر `/models`/المزوّد |
| `plugin-sdk/skill-commands-runtime` | مساعدات سرد أوامر Skills |
| `plugin-sdk/native-command-registry` | مساعدات بناء/تسلسل/سجل الأوامر الأصلية |
| `plugin-sdk/agent-harness` | سطح تجريبي للplugins الموثوقة الخاصة بأحزمة الوكيل منخفضة المستوى: أنواع الحزام، ومساعدات التوجيه/الإلغاء للتشغيلات النشطة، وجسر أدوات OpenClaw، وأدوات نتيجة المحاولة |
| `plugin-sdk/provider-zai-endpoint` | مساعدات اكتشاف نقطة نهاية Z.A.I |
| `plugin-sdk/infra-runtime` | مساعدات أحداث النظام/heartbeat |
| `plugin-sdk/extension-shared` | أوليات مساعدة مشتركة للقناة السلبية، والحالة، والوكيل المحيطي |
| `plugin-sdk/models-provider-runtime` | مساعدات الرد الخاصة بأمر `/models`/الموفّر |
| `plugin-sdk/skill-commands-runtime` | مساعدات عرض أوامر Skills |
| `plugin-sdk/native-command-registry` | مساعدات السجل/البناء/التسلسل للأوامر الأصلية |
| `plugin-sdk/agent-harness` | سطح تجريبي موثوق لـ Plugin لأحزمة الوكيل منخفضة المستوى: أنواع الحزام، ومساعدات التوجيه/الإيقاف للتشغيل النشط، وجسر أدوات OpenClaw، وأدوات نتائج المحاولات |
| `plugin-sdk/provider-zai-endpoint` | مساعدات اكتشاف نقاط نهاية Z.A.I |
| `plugin-sdk/infra-runtime` | مساعدات أحداث النظام/Heartbeat |
| `plugin-sdk/collection-runtime` | مساعدات صغيرة لذاكرة تخزين مؤقت محدودة |
| `plugin-sdk/diagnostic-runtime` | مساعدات أعلام وأحداث التشخيص |
| `plugin-sdk/error-runtime` | الرسم البياني للأخطاء، والتنسيق، ومساعدات تصنيف الأخطاء المشتركة، و`isApprovalNotFoundError` |
| `plugin-sdk/fetch-runtime` | مساعدات fetch المغلّف، والوكيل، والبحث المثبّت |
| `plugin-sdk/diagnostic-runtime` | مساعدات الأعلام والأحداث التشخيصية |
| `plugin-sdk/error-runtime` | مساعدات رسم الأخطاء، والتنسيق، وتصنيف الأخطاء المشتركة، و`isApprovalNotFoundError` |
| `plugin-sdk/fetch-runtime` | مساعدات fetch المغلف، والوكيل، والبحث المثبّت |
| `plugin-sdk/host-runtime` | مساعدات تطبيع اسم المضيف ومضيف SCP |
| `plugin-sdk/retry-runtime` | مساعدات إعداد وتشغيل إعادة المحاولة |
| `plugin-sdk/retry-runtime` | مساعدات تهيئة إعادة المحاولة ومشغّل إعادة المحاولة |
| `plugin-sdk/agent-runtime` | مساعدات دليل الوكيل/الهوية/مساحة العمل |
| `plugin-sdk/directory-runtime` | استعلام/إزالة تكرار الدلائل المعتمد على الإعداد |
| `plugin-sdk/directory-runtime` | الاستعلام عن الدليل المعتمد على التهيئة/إزالة التكرار |
| `plugin-sdk/keyed-async-queue` | `KeyedAsyncQueue` |
</Accordion>
<Accordion title="المسارات الفرعية للقدرات والاختبار">
| المسار الفرعي | التصديرات الأساسية |
| المسار الفرعي | أهم التصديرات |
| --- | --- |
| `plugin-sdk/media-runtime` | مساعدات مشتركة لجلب/تحويل/تخزين الوسائط بالإضافة إلى بُناة حمولات الوسائط |
| `plugin-sdk/media-generation-runtime` | مساعدات مشتركة للرجوع الاحتياطي في توليد الوسائط، واختيار المرشحين، ورسائل النماذج المفقودة |
| `plugin-sdk/media-understanding` | أنواع مزوّدات فهم الوسائط بالإضافة إلى تصديرات مساعدات الصور/الصوت الموجهة للمزوّد |
| `plugin-sdk/text-runtime` | مساعدات مشتركة للنص/Markdown/التسجيل مثل إزالة النص المرئي للمساعد، ومساعدات عرض/تجزئة/جداول Markdown، ومساعدات إخفاء البيانات، ومساعدات وسوم التوجيه، وأدوات النص الآمن |
| `plugin-sdk/media-generation-runtime` | مساعدات مشتركة للتجاوز عند الفشل في توليد الوسائط، واختيار المرشحين، ورسائل النماذج المفقودة |
| `plugin-sdk/media-understanding` | أنواع موفّر فهم الوسائط بالإضافة إلى تصديرات المساعدات الخاصة بالصور/الصوت الموجّهة للموفّرين |
| `plugin-sdk/text-runtime` | مساعدات مشتركة للنص/Markdown/التسجيل مثل إزالة النص المرئي للمساعد، ومساعدات العرض/التجزئة/الجداول في Markdown، ومساعدات التنقيح، ومساعدات وسم التوجيهات، وأدوات النص الآمن |
| `plugin-sdk/text-chunking` | مساعد تجزئة النص الصادر |
| `plugin-sdk/speech` | أنواع مزوّدات الكلام بالإضافة إلى مساعدات التوجيه والسجل والتحقق الموجهة للمزوّد |
| `plugin-sdk/speech-core` | أنواع مزوّدات الكلام المشتركة، والسجل، والتوجيه، ومساعدات التطبيع |
| `plugin-sdk/realtime-transcription` | أنواع مزوّدات النسخ الفوري ومساعدات السجل |
| `plugin-sdk/realtime-voice` | أنواع مزوّدات الصوت الفوري ومساعدات السجل |
| `plugin-sdk/image-generation` | أنواع مزوّدات توليد الصور |
| `plugin-sdk/image-generation-core` | أنواع توليد الصور المشتركة، والرجوع الاحتياطي، والمصادقة، ومساعدات السجل |
| `plugin-sdk/music-generation` | أنواع مزوّدات/طلبات/نتائج توليد الموسيقى |
| `plugin-sdk/music-generation-core` | أنواع توليد الموسيقى المشتركة، ومساعدات الرجوع الاحتياطي، والبحث عن المزوّد، وتحليل مراجع النماذج |
| `plugin-sdk/video-generation` | أنواع مزوّدات/طلبات/نتائج توليد الفيديو |
| `plugin-sdk/video-generation-core` | أنواع توليد الفيديو المشتركة، ومساعدات الرجوع الاحتياطي، والبحث عن المزوّد، وتحليل مراجع النماذج |
| `plugin-sdk/webhook-targets` | سجل أهداف webhook ومساعدات تثبيت المسارات |
| `plugin-sdk/webhook-path` | مساعدات تطبيع مسار webhook |
| `plugin-sdk/speech` | أنواع موفّر الكلام بالإضافة إلى التوجيهات، والسجل، ومساعدات التحقق الموجّهة للموفّرين |
| `plugin-sdk/speech-core` | أنواع موفّر الكلام المشتركة، والسجل، والتوجيهات، ومساعدات التطبيع |
| `plugin-sdk/realtime-transcription` | أنواع موفّر النسخ الفوري ومساعدات السجل |
| `plugin-sdk/realtime-voice` | أنواع موفّر الصوت الفوري ومساعدات السجل |
| `plugin-sdk/image-generation` | أنواع موفّر توليد الصور |
| `plugin-sdk/image-generation-core` | الأنواع المشتركة لتوليد الصور، ومساعدات التجاوز عند الفشل، والمصادقة، والسجل |
| `plugin-sdk/music-generation` | أنواع موفّر/طلب/نتيجة توليد الموسيقى |
| `plugin-sdk/music-generation-core` | الأنواع المشتركة لتوليد الموسيقى، ومساعدات التجاوز عند الفشل، والبحث عن الموفّر، وتحليل مرجع النموذج |
| `plugin-sdk/video-generation` | أنواع موفّر/طلب/نتيجة توليد الفيديو |
| `plugin-sdk/video-generation-core` | الأنواع المشتركة لتوليد الفيديو، ومساعدات التجاوز عند الفشل، والبحث عن الموفّر، وتحليل مرجع النموذج |
| `plugin-sdk/webhook-targets` | سجل أهداف Webhook ومساعدات تثبيت المسارات |
| `plugin-sdk/webhook-path` | مساعدات تطبيع مسار Webhook |
| `plugin-sdk/web-media` | مساعدات مشتركة لتحميل الوسائط البعيدة/المحلية |
| `plugin-sdk/zod` | إعادة تصدير `zod` لمستهلكي Plugin SDK |
| `plugin-sdk/testing` | `installCommonResolveTargetErrorCases`, `shouldAckReaction` |
</Accordion>
<Accordion title="المسارات الفرعية للذاكرة">
| المسار الفرعي | التصديرات الأساسية |
| المسار الفرعي | أهم التصديرات |
| --- | --- |
| `plugin-sdk/memory-core` | سطح مساعد memory-core المضمّن لمساعدات المدير/الإعداد/الملف/CLI |
| `plugin-sdk/memory-core-engine-runtime` | واجهة وقت تشغيل فهرسة/بحث الذاكرة |
| `plugin-sdk/memory-core` | سطح مساعد memory-core المضمّن لمساعدات المدير/التهيئة/الملف/CLI |
| `plugin-sdk/memory-core-engine-runtime` | واجهة وقت تشغيل لفهرسة/بحث الذاكرة |
| `plugin-sdk/memory-core-host-engine-foundation` | تصديرات محرك الأساس لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-engine-embeddings` | تصديرات محرك embeddings لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-engine-embeddings` | عقود تضمينات مضيف الذاكرة، والوصول إلى السجل، والموفّر المحلي، ومساعدات الدفعات/المهام البعيدة العامة |
| `plugin-sdk/memory-core-host-engine-qmd` | تصديرات محرك QMD لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-engine-storage` | تصديرات محرك التخزين لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-multimodal` | مساعدات متعددة الوسائط لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-query` | مساعدات استعلام لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-secret` | مساعدات أسرار لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-events` | مساعدات سجل أحداث لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-status` | مساعدات حالة لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-query` | مساعدات الاستعلام لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-secret` | مساعدات الأسرار لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-events` | مساعدات دفتر يوميات الأحداث لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-status` | مساعدات حالة مضيف الذاكرة |
| `plugin-sdk/memory-core-host-runtime-cli` | مساعدات وقت تشغيل CLI لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-runtime-core` | مساعدات وقت التشغيل الأساسية لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-runtime-files` | مساعدات الملفات/وقت التشغيل لمضيف الذاكرة |
| `plugin-sdk/memory-host-core` | اسم بديل محايد للمورّد لمساعدات وقت التشغيل الأساسية لمضيف الذاكرة |
| `plugin-sdk/memory-host-events` | اسم بديل محايد للمورّد لمساعدات سجل أحداث مضيف الذاكرة |
| `plugin-sdk/memory-host-files` | اسم بديل محايد للمورّد لمساعدات ملفات/وقت تشغيل مضيف الذاكرة |
| `plugin-sdk/memory-host-markdown` | مساعدات managed-markdown مشتركة للplugins المجاورة للذاكرة |
| `plugin-sdk/memory-host-search` | واجهة وقت تشغيل الذاكرة النشطة للوصول إلى search-manager |
| `plugin-sdk/memory-host-status` | اسم بديل محايد للمورّد لمساعدات حالة مضيف الذاكرة |
| `plugin-sdk/memory-host-core` | اسم بديل محايد تجاه المورّد لمساعدات وقت التشغيل الأساسية لمضيف الذاكرة |
| `plugin-sdk/memory-host-events` | اسم بديل محايد تجاه المورّد لمساعدات دفتر يوميات الأحداث لمضيف الذاكرة |
| `plugin-sdk/memory-host-files` | اسم بديل محايد تجاه المورّد لمساعدات الملفات/وقت التشغيل لمضيف الذاكرة |
| `plugin-sdk/memory-host-markdown` | مساعدات Markdown المُدار المشتركة للمكونات الإضافية المرتبطة بالذاكرة |
| `plugin-sdk/memory-host-search` | واجهة Active Memory لوقت التشغيل للوصول إلى مدير البحث |
| `plugin-sdk/memory-host-status` | اسم بديل محايد تجاه المورّد لمساعدات حالة مضيف الذاكرة |
| `plugin-sdk/memory-lancedb` | سطح مساعد memory-lancedb المضمّن |
</Accordion>
<Accordion title="المسارات الفرعية المحجوزة للمساعدات المضمّنة">
| العائلة | المسارات الفرعية الحالية | الاستخدام المقصود |
| --- | --- | --- |
| Browser | `plugin-sdk/browser-cdp`, `plugin-sdk/browser-config-runtime`, `plugin-sdk/browser-config-support`, `plugin-sdk/browser-control-auth`, `plugin-sdk/browser-node-runtime`, `plugin-sdk/browser-profiles`, `plugin-sdk/browser-security-runtime`, `plugin-sdk/browser-setup-tools`, `plugin-sdk/browser-support` | مساعدات دعم plugin الـ browser المضمّن (`browser-support` يبقى حزمة التوافق) |
| Browser | `plugin-sdk/browser-cdp`, `plugin-sdk/browser-config-runtime`, `plugin-sdk/browser-config-support`, `plugin-sdk/browser-control-auth`, `plugin-sdk/browser-node-runtime`, `plugin-sdk/browser-profiles`, `plugin-sdk/browser-security-runtime`, `plugin-sdk/browser-setup-tools`, `plugin-sdk/browser-support` | مساعدات دعم Plugin المضمّن للمتصفح (`browser-support` يبقى حزمة التوافق) |
| Matrix | `plugin-sdk/matrix`, `plugin-sdk/matrix-helper`, `plugin-sdk/matrix-runtime-heavy`, `plugin-sdk/matrix-runtime-shared`, `plugin-sdk/matrix-runtime-surface`, `plugin-sdk/matrix-surface`, `plugin-sdk/matrix-thread-bindings` | سطح المساعدة/وقت التشغيل المضمّن لـ Matrix |
| Line | `plugin-sdk/line`, `plugin-sdk/line-core`, `plugin-sdk/line-runtime`, `plugin-sdk/line-surface` | سطح المساعدة/وقت التشغيل المضمّن لـ LINE |
| IRC | `plugin-sdk/irc`, `plugin-sdk/irc-surface` | سطح المساعدة المضمّن لـ IRC |
| مساعدات خاصة بالقنوات | `plugin-sdk/googlechat`, `plugin-sdk/zalouser`, `plugin-sdk/bluebubbles`, `plugin-sdk/bluebubbles-policy`, `plugin-sdk/mattermost`, `plugin-sdk/mattermost-policy`, `plugin-sdk/feishu-conversation`, `plugin-sdk/msteams`, `plugin-sdk/nextcloud-talk`, `plugin-sdk/nostr`, `plugin-sdk/tlon`, `plugin-sdk/twitch` | واجهات توافق/مساعدة للقنوات المضمّنة |
| مساعدات خاصة بالمصادقة/الplugin | `plugin-sdk/github-copilot-login`, `plugin-sdk/github-copilot-token`, `plugin-sdk/diagnostics-otel`, `plugin-sdk/diffs`, `plugin-sdk/llm-task`, `plugin-sdk/thread-ownership`, `plugin-sdk/voice-call` | واجهات مساعدة للميزات/الplugins المضمّنة؛ ويصدّر `plugin-sdk/github-copilot-token` حاليًا `DEFAULT_COPILOT_API_BASE_URL` و`deriveCopilotApiBaseUrlFromToken` و`resolveCopilotApiToken` |
| مساعدات خاصة بالقنوات | `plugin-sdk/googlechat`, `plugin-sdk/zalouser`, `plugin-sdk/bluebubbles`, `plugin-sdk/bluebubbles-policy`, `plugin-sdk/mattermost`, `plugin-sdk/mattermost-policy`, `plugin-sdk/feishu-conversation`, `plugin-sdk/msteams`, `plugin-sdk/nextcloud-talk`, `plugin-sdk/nostr`, `plugin-sdk/tlon`, `plugin-sdk/twitch` | مسارات توافق/مساعدة مضمّنة للقنوات |
| مساعدات خاصة بالمصادقة/Plugin | `plugin-sdk/github-copilot-login`, `plugin-sdk/github-copilot-token`, `plugin-sdk/diagnostics-otel`, `plugin-sdk/diffs`, `plugin-sdk/llm-task`, `plugin-sdk/thread-ownership`, `plugin-sdk/voice-call` | مسارات مساعدة مضمّنة للميزات/Plugin؛ يصدّر `plugin-sdk/github-copilot-token` حاليًا `DEFAULT_COPILOT_API_BASE_URL` و`deriveCopilotApiBaseUrlFromToken` و`resolveCopilotApiToken` |
</Accordion>
</AccordionGroup>
## API التسجيل
تتلقى دالة الاستدعاء `register(api)` كائن `OpenClawPluginApi` بهذه
الطرائق:
يتلقى رد النداء `register(api)` كائن `OpenClawPluginApi` بهذه
الأساليب:
### تسجيل القدرات
| الطريقة | ما الذي تسجله |
| ------------------------------------------------ | -------------------------------------- |
| `api.registerProvider(...)` | الاستدلال النصي (LLM) |
| `api.registerAgentHarness(...)` | منفّذ وكيل منخفض المستوى تجريبي |
| `api.registerCliBackend(...)` | خلفية CLI محلية للاستدلال |
| `api.registerChannel(...)` | قناة مراسلة |
| `api.registerSpeechProvider(...)` | تحويل النص إلى كلام / توليف STT |
| `api.registerRealtimeTranscriptionProvider(...)` | نسخ فوري مباشر |
| `api.registerRealtimeVoiceProvider(...)` | جلسات صوتية فورية ثنائية الاتجاه |
| `api.registerMediaUnderstandingProvider(...)` | تحليل الصور/الصوت/الفيديو |
| `api.registerImageGenerationProvider(...)` | توليد الصور |
| `api.registerMusicGenerationProvider(...)` | توليد الموسيقى |
| `api.registerVideoGenerationProvider(...)` | توليد الفيديو |
| `api.registerWebFetchProvider(...)` | مزوّد جلب / كشط الويب |
| `api.registerWebSearchProvider(...)` | بحث الويب |
| الأسلوب | ما الذي يسجله |
| ------------------------------------------------ | -------------------------------- |
| `api.registerProvider(...)` | استدلال النص (LLM) |
| `api.registerAgentHarness(...)` | منفّذ وكيل منخفض المستوى تجريبي |
| `api.registerCliBackend(...)` | واجهة CLI خلفية محلية للاستدلال |
| `api.registerChannel(...)` | قناة مراسلة |
| `api.registerSpeechProvider(...)` | تحويل النص إلى كلام / توليف STT |
| `api.registerRealtimeTranscriptionProvider(...)` | نسخ فوري متدفق |
| `api.registerRealtimeVoiceProvider(...)` | جلسات صوت فوري ثنائية الاتجاه |
| `api.registerMediaUnderstandingProvider(...)` | تحليل الصور/الصوت/الفيديو |
| `api.registerImageGenerationProvider(...)` | توليد الصور |
| `api.registerMusicGenerationProvider(...)` | توليد الموسيقى |
| `api.registerVideoGenerationProvider(...)` | توليد الفيديو |
| `api.registerWebFetchProvider(...)` | موفّر جلب / كشط الويب |
| `api.registerWebSearchProvider(...)` | البحث على الويب |
### الأدوات والأوامر
| الطريقة | ما الذي تسجله |
| ------------------------------- | ---------------------------------------------- |
| `api.registerTool(tool, opts?)` | أداة وكيل (إلزامية أو `{ optional: true }`) |
| `api.registerCommand(def)` | أمر مخصص (يتجاوز LLM) |
| الأسلوب | ما الذي يسجله |
| ------------------------------- | --------------------------------------------- |
| `api.registerTool(tool, opts?)` | أداة وكيل (مطلوبة أو `{ optional: true }`) |
| `api.registerCommand(def)` | أمر مخصص (يتجاوز LLM) |
### البنية التحتية
| الطريقة | ما الذي تسجله |
| ---------------------------------------------- | ------------------------------------- |
| `api.registerHook(events, handler, opts?)` | hook حدث |
| `api.registerHttpRoute(params)` | نقطة نهاية HTTP للـ Gateway |
| `api.registerGatewayMethod(name, handler)` | طريقة Gateway RPC |
| `api.registerCli(registrar, opts?)` | أمر فرعي في CLI |
| `api.registerService(service)` | خدمة في الخلفية |
| `api.registerInteractiveHandler(registration)` | معالج تفاعلي |
| `api.registerMemoryPromptSupplement(builder)` | قسم prompt إضافي مجاور للذاكرة |
| `api.registerMemoryCorpusSupplement(adapter)` | corpus إضافي للبحث/القراءة في الذاكرة |
| الأسلوب | ما الذي يسجله |
| ---------------------------------------------- | ----------------------------------- |
| `api.registerHook(events, handler, opts?)` | خطاف أحداث |
| `api.registerHttpRoute(params)` | نقطة نهاية HTTP لـ Gateway |
| `api.registerGatewayMethod(name, handler)` | أسلوب RPC لـ Gateway |
| `api.registerCli(registrar, opts?)` | أمر فرعي في CLI |
| `api.registerService(service)` | خدمة في الخلفية |
| `api.registerInteractiveHandler(registration)` | معالج تفاعلي |
| `api.registerMemoryPromptSupplement(builder)` | قسم إضافي في المطالبة مجاور للذاكرة |
| `api.registerMemoryCorpusSupplement(adapter)` | متن إضافي للبحث/القراءة في الذاكرة |
تظل مساحات الأسماء الإدارية المحجوزة في core (`config.*` و`exec.approvals.*` و`wizard.*` و
`update.*`) دائمًا `operator.admin`، حتى لو حاول plugin تعيين
نطاق أضيق لطريقة gateway. ويفضَّل استخدام بادئات خاصة بالplugin
للطرائق المملوكة للplugin.
تظل مساحات أسماء الإدارة الأساسية المحجوزة (`config.*`, `exec.approvals.*`, `wizard.*`,
`update.*`) دائمًا `operator.admin` حتى إذا حاول Plugin تعيين نطاق أضيق
لأسلوب Gateway. استخدم بادئات خاصة بـ Plugin
للأساليب التي يملكها Plugin.
### بيانات تسجيل CLI الوصفية
### بيانات تعريف تسجيل CLI
تقبل `api.registerCli(registrar, opts?)` نوعين من البيانات الوصفية على المستوى الأعلى:
يقبل `api.registerCli(registrar, opts?)` نوعين من بيانات التعريف عالية المستوى:
- `commands`: جذور أوامر صريحة يملكها المسجّل
- `descriptors`: واصفات أوامر في وقت التحليل تُستخدم لمساعدة CLI الجذرية،
والتوجيه، وتسجيل CLI الكسول للplugin
- `commands`: جذور أوامر صريحة يملكها المسجِّل
- `descriptors`: واصفات أوامر وقت التحليل المستخدمة لمساعدة CLI الجذرية،
والتوجيه، وتسجيل CLI الكسول للمكوّنات الإضافية
إذا كنت تريد أن يظل أمر plugin محمّلًا كسولًا في مسار CLI الجذري المعتاد،
فقدّم `descriptors` تغطي كل جذر أمر على المستوى الأعلى يكشفه ذلك
المسجّل.
إذا كنت تريد أن يبقى أمر Plugin محمّلًا بكسل في مسار CLI الجذري العادي،
فقدّم `descriptors` تغطي كل جذر أمر عالي المستوى يكشفه
ذلك المسجِّل.
```typescript
api.registerCli(
@ -373,7 +373,7 @@ api.registerCli(
descriptors: [
{
name: "matrix",
description: "إدارة حسابات Matrix، والتحقق، والأجهزة، وحالة الملف التعريفي",
description: "إدارة حسابات Matrix، والتحقق، والأجهزة، وحالة الملف الشخصي",
hasSubcommands: true,
},
],
@ -382,134 +382,136 @@ api.registerCli(
```
استخدم `commands` بمفرده فقط عندما لا تحتاج إلى تسجيل CLI جذري كسول.
ويظل مسار التوافق المتلهف هذا مدعومًا، لكنه لا يثبت عناصر نائبة مدعومة
بـ descriptor من أجل التحميل الكسول في وقت التحليل.
لا يزال مسار التوافق المتعجل هذا مدعومًا، لكنه لا يثبت
عناصر نائبة مدعومة بواصفات للتحميل الكسول في وقت التحليل.
### تسجيل خلفية CLI
### تسجيل الواجهة الخلفية لـ CLI
تتيح `api.registerCliBackend(...)` لـ plugin امتلاك الإعداد الافتراضي
لخلفية CLI محلية للذكاء الاصطناعي مثل `codex-cli`.
يتيح `api.registerCliBackend(...)` لـ Plugin امتلاك التهيئة الافتراضية
لواجهة CLI خلفية محلية للذكاء الاصطناعي مثل `codex-cli`.
- يصبح `id` الخاص بالخلفية بادئة المزوّد في مراجع النماذج مثل `codex-cli/gpt-5`.
- يستخدم `config` الخاص بالخلفية نفس الشكل المستخدم في `agents.defaults.cliBackends.<id>`.
- يظل إعداد المستخدم هو الفائز. يدمج OpenClaw قيمة `agents.defaults.cliBackends.<id>` فوق
القيمة الافتراضية للplugin قبل تشغيل CLI.
- استخدم `normalizeConfig` عندما تحتاج الخلفية إلى إعادة كتابة توافق بعد الدمج
(على سبيل المثال تطبيع أشكال الأعلام القديمة).
- يصبح `id` الخاص بالواجهة الخلفية بادئة الموفّر في مراجع النماذج مثل `codex-cli/gpt-5`.
- تستخدم `config` الخاصة بالواجهة الخلفية البنية نفسها مثل `agents.defaults.cliBackends.<id>`.
- تظل تهيئة المستخدم لها الأولوية. يدمج OpenClaw `agents.defaults.cliBackends.<id>` فوق
القيمة الافتراضية الخاصة بـ Plugin قبل تشغيل CLI.
- استخدم `normalizeConfig` عندما تحتاج واجهة خلفية إلى إعادة كتابة توافقية بعد الدمج
(على سبيل المثال تطبيع الأشكال القديمة للأعلام).
### الفتحات الحصرية
### الخانات الحصرية
| الطريقة | ما الذي تسجله |
| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `api.registerContextEngine(id, factory)` | محرك سياق (واحد فقط نشط في كل مرة). يتلقى رد النداء `assemble()` كلاً من `availableTools` و`citationsMode` حتى يتمكن المحرك من تخصيص إضافات prompt. |
| `api.registerMemoryCapability(capability)` | قدرة ذاكرة موحدة |
| `api.registerMemoryPromptSection(builder)` | باني قسم prompt للذاكرة |
| `api.registerMemoryFlushPlan(resolver)` | محلّل خطة تفريغ الذاكرة |
| `api.registerMemoryRuntime(runtime)` | مهايئ وقت تشغيل الذاكرة |
| الأسلوب | ما الذي يسجله |
| ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| `api.registerContextEngine(id, factory)` | محرك السياق (واحد فقط نشط في كل مرة). يتلقى رد النداء `assemble()` القيمتين `availableTools` و`citationsMode` حتى يتمكن المحرك من تكييف إضافات المطالبة. |
| `api.registerMemoryCapability(capability)` | قدرة ذاكرة موحّدة |
| `api.registerMemoryPromptSection(builder)` | بانٍ لقسم مطالبة الذاكرة |
| `api.registerMemoryFlushPlan(resolver)` | محلّل خطة تفريغ الذاكرة |
| `api.registerMemoryRuntime(runtime)` | مهايئ وقت تشغيل الذاكرة |
### مهايئات تضمين الذاكرة
| الطريقة | ما الذي تسجله |
| ---------------------------------------------- | --------------------------------------------- |
| `api.registerMemoryEmbeddingProvider(adapter)` | مهايئ تضمين الذاكرة للplugin النشط |
| الأسلوب | ما الذي يسجله |
| ---------------------------------------------- | --------------------------------------- |
| `api.registerMemoryEmbeddingProvider(adapter)` | مهايئ تضمين الذاكرة الخاص بـ Plugin النشط |
- تُعد `registerMemoryCapability` هي API المفضلة والحصرية الخاصة بـ plugin الذاكرة.
- قد تكشف `registerMemoryCapability` أيضًا عن `publicArtifacts.listArtifacts(...)`
بحيث تتمكن plugins المرافقة من استهلاك عناصر الذاكرة المصدّرة عبر
`openclaw/plugin-sdk/memory-host-core` بدلًا من الوصول إلى
التخطيط الخاص الداخلي لـ plugin ذاكرة معيّن.
- تُعد `registerMemoryPromptSection` و`registerMemoryFlushPlan` و
`registerMemoryRuntime` واجهات API قديمة متوافقة وحصرية لـ plugin الذاكرة.
- تتيح `registerMemoryEmbeddingProvider` لـ plugin الذاكرة النشط تسجيل
- `registerMemoryCapability` هو API الذاكرة الحصري المفضّل لـ Plugin.
- قد يكشف `registerMemoryCapability` أيضًا `publicArtifacts.listArtifacts(...)`
بحيث يمكن للمكونات الإضافية المصاحبة استهلاك عناصر الذاكرة المُصدّرة عبر
`openclaw/plugin-sdk/memory-host-core` بدلًا من الوصول إلى التخطيط الخاص
الداخلي لمكوّن ذاكرة إضافي محدد.
- إن `registerMemoryPromptSection` و`registerMemoryFlushPlan` و
`registerMemoryRuntime` هي واجهات API حصرية للمكوّنات الإضافية الخاصة بالذاكرة
ومتوافقة مع الأنظمة القديمة.
- يتيح `registerMemoryEmbeddingProvider` لمكوّن الذاكرة الإضافي النشط تسجيل
معرّف مهايئ تضمين واحد أو أكثر (مثل `openai` أو `gemini` أو معرّف
مخصص يعرّفه plugin).
مخصص يعرّفه Plugin).
- تُحل إعدادات المستخدم مثل `agents.defaults.memorySearch.provider` و
`agents.defaults.memorySearch.fallback` مقابل معرّفات المهايئات المسجلة هذه.
`agents.defaults.memorySearch.fallback` في مقابل معرّفات المهايئات
المسجّلة تلك.
### الأحداث ودورة الحياة
| الطريقة | ما الذي تفعله |
| -------------------------------------------- | -------------------------- |
| `api.on(hookName, handler, opts?)` | hook دورة حياة مطبّق بالأنواع |
| `api.onConversationBindingResolved(handler)` | رد نداء ربط المحادثة |
| الأسلوب | ما الذي يفعله |
| -------------------------------------------- | ------------------------ |
| `api.on(hookName, handler, opts?)` | خطاف دورة حياة مضبوط الأنواع |
| `api.onConversationBindingResolved(handler)` | رد نداء ربط المحادثة |
### دلالات قرار الـ hook
### دلالات قرار الخطاف
- `before_tool_call`: يكون الإرجاع `{ block: true }` نهائيًا. وبمجرد أن يضبطه أي معالج، يتم تخطي المعالجات ذات الأولوية الأقل.
- `before_tool_call`: يُعامل الإرجاع `{ block: false }` على أنه بلا قرار (مثل حذف `block`) وليس كتجاوز.
- `before_install`: يكون الإرجاع `{ block: true }` نهائيًا. وبمجرد أن يضبطه أي معالج، يتم تخطي المعالجات ذات الأولوية الأقل.
- `before_install`: يُعامل الإرجاع `{ block: false }` على أنه بلا قرار (مثل حذف `block`) وليس كتجاوز.
- `reply_dispatch`: يكون الإرجاع `{ handled: true, ... }` نهائيًا. وبمجرد أن يدّعي أي معالج مسؤولية الإرسال، يتم تخطي المعالجات ذات الأولوية الأقل ومسار إرسال النموذج الافتراضي.
- `message_sending`: يكون الإرجاع `{ cancel: true }` نهائيًا. وبمجرد أن يضبطه أي معالج، يتم تخطي المعالجات ذات الأولوية الأقل.
- `message_sending`: يُعامل الإرجاع `{ cancel: false }` على أنه بلا قرار (مثل حذف `cancel`) وليس كتجاوز.
- `before_tool_call`: إن إرجاع `{ block: true }` نهائي. بمجرد أن يضبط أي معالج هذه القيمة، يتم تخطي المعالجات ذات الأولوية الأقل.
- `before_tool_call`: إن إرجاع `{ block: false }` يُعامل على أنه بلا قرار (مثل حذف `block`)، وليس كتجاوز.
- `before_install`: إن إرجاع `{ block: true }` نهائي. بمجرد أن يضبط أي معالج هذه القيمة، يتم تخطي المعالجات ذات الأولوية الأقل.
- `before_install`: إن إرجاع `{ block: false }` يُعامل على أنه بلا قرار (مثل حذف `block`)، وليس كتجاوز.
- `reply_dispatch`: إن إرجاع `{ handled: true, ... }` نهائي. بمجرد أن يعلن أي معالج أنه تولى الإرسال، يتم تخطي المعالجات ذات الأولوية الأقل ومسار إرسال النموذج الافتراضي.
- `message_sending`: إن إرجاع `{ cancel: true }` نهائي. بمجرد أن يضبط أي معالج هذه القيمة، يتم تخطي المعالجات ذات الأولوية الأقل.
- `message_sending`: إن إرجاع `{ cancel: false }` يُعامل على أنه بلا قرار (مثل حذف `cancel`)، وليس كتجاوز.
### حقول كائن API
| الحقل | النوع | الوصف |
| ----------------------- | ------------------------- | ---------------------------------------------------------------------------------------------- |
| `api.id` | `string` | معرّف plugin |
| `api.name` | `string` | اسم العرض |
| `api.version` | `string?` | إصدار plugin (اختياري) |
| `api.description` | `string?` | وصف plugin (اختياري) |
| `api.source` | `string` | مسار مصدر plugin |
| `api.rootDir` | `string?` | الدليل الجذري لـ plugin (اختياري) |
| `api.config` | `OpenClawConfig` | لقطة الإعداد الحالية (لقطة وقت التشغيل النشطة داخل الذاكرة عند توفرها) |
| `api.pluginConfig` | `Record<string, unknown>` | الإعداد الخاص بالplugin من `plugins.entries.<id>.config` |
| `api.runtime` | `PluginRuntime` | [مساعدات وقت التشغيل](/ar/plugins/sdk-runtime) |
| `api.logger` | `PluginLogger` | logger مقيّد النطاق (`debug` و`info` و`warn` و`error`) |
| `api.registrationMode` | `PluginRegistrationMode` | وضع التحميل الحالي؛ تمثل `"setup-runtime"` نافذة البدء/الإعداد الخفيفة قبل الإدخال الكامل |
| `api.resolvePath(input)` | `(string) => string` | حل المسار نسبةً إلى جذر plugin |
| الحقل | النوع | الوصف |
| ------------------------ | ------------------------- | ----------------------------------------------------------------------------------------- |
| `api.id` | `string` | معرّف Plugin |
| `api.name` | `string` | اسم العرض |
| `api.version` | `string?` | إصدار Plugin (اختياري) |
| `api.description` | `string?` | وصف Plugin (اختياري) |
| `api.source` | `string` | مسار مصدر Plugin |
| `api.rootDir` | `string?` | الدليل الجذري لـ Plugin (اختياري) |
| `api.config` | `OpenClawConfig` | لقطة التهيئة الحالية (لقطة وقت التشغيل النشطة داخل الذاكرة عند توفرها) |
| `api.pluginConfig` | `Record<string, unknown>` | تهيئة خاصة بـ Plugin من `plugins.entries.<id>.config` |
| `api.runtime` | `PluginRuntime` | [مساعدات وقت التشغيل](/ar/plugins/sdk-runtime) |
| `api.logger` | `PluginLogger` | مسجل ضمن النطاق (`debug`, `info`, `warn`, `error`) |
| `api.registrationMode` | `PluginRegistrationMode` | وضع التحميل الحالي؛ تشير `"setup-runtime"` إلى نافذة البدء/الإعداد الخفيفة قبل الإدخال الكامل |
| `api.resolvePath(input)` | `(string) => string` | حل المسار بالنسبة إلى جذر Plugin |
## اصطلاح الوحدات الداخلية
داخل plugin الخاص بك، استخدم ملفات barrel محلية للاستيرادات الداخلية:
داخل Plugin الخاص بك، استخدم ملفات barrel محلية للاستيراد الداخلي:
```
my-plugin/
api.ts # تصديرات عامة للمستهلكين الخارجيين
runtime-api.ts # تصديرات داخلية فقط لوقت التشغيل
index.ts # نقطة إدخال plugin
index.ts # نقطة إدخال Plugin
setup-entry.ts # إدخال خفيف للإعداد فقط (اختياري)
```
<Warning>
لا تستورد plugin الخاص بك مطلقًا عبر `openclaw/plugin-sdk/<your-plugin>`
لا تستورد Plugin الخاص بك أبدًا عبر `openclaw/plugin-sdk/<your-plugin>`
من كود الإنتاج. وجّه الاستيرادات الداخلية عبر `./api.ts` أو
`./runtime-api.ts`. فمسار SDK هو العقد الخارجي فقط.
`./runtime-api.ts`. مسار SDK هو العقد الخارجي فقط.
</Warning>
تُفضّل الآن الأسطح العامة للplugin المضمّن المحمّلة عبر الواجهة (`api.ts` و`runtime-api.ts`،
و`index.ts`، و`setup-entry.ts`، وملفات الإدخال العامة المشابهة) استخدام
لقطة إعداد وقت التشغيل النشطة عندما يكون OpenClaw قيد التشغيل بالفعل. وإذا لم
توجد لقطة وقت تشغيل بعد، فإنها تعود إلى ملف الإعداد المحلول على القرص.
تفضّل الآن الأسطح العامة للمكونات الإضافية المضمّنة المحمّلة عبر الواجهة (`api.ts` و`runtime-api.ts`
و`index.ts` و`setup-entry.ts` وملفات الإدخال العامة المشابهة)
لقطة تهيئة وقت التشغيل النشطة عندما يكون OpenClaw قيد التشغيل بالفعل. وإذا لم تكن
لقطة وقت التشغيل موجودة بعد، فإنها ترجع إلى ملف التهيئة المحلول على القرص.
يمكن لـ provider plugins أيضًا كشف barrel محلي ضيق خاص بالplugin عندما يكون
أحد المساعدات خاصًا عمدًا بالمزوّد ولا ينتمي بعد إلى مسار فرعي عام في SDK.
والمثال المضمّن الحالي: يحتفظ مزوّد Anthropic بمساعدات Claude stream الخاصة به
داخل واجهته العامة `api.ts` / `contract-api.ts` بدلًا من
ترقية منطق رؤوس Anthropic التجريبية و`service_tier` إلى عقد عام
يمكن لمكونات الموفّر الإضافية أيضًا كشف حزمة عقد محلية ضيقة خاصة بـ Plugin عندما
يكون أحد المساعدات خاصًا بالموفّر عمدًا ولا ينتمي بعد إلى مسار فرعي عام في SDK.
المثال المضمّن الحالي: يحتفظ موفّر Anthropic بمساعدات تدفق Claude
في مساره العام الخاص `api.ts` / `contract-api.ts` بدلًا من
ترقية منطق رأس Anthropic التجريبي و`service_tier` إلى عقد عام
`plugin-sdk/*`.
أمثلة مضمّنة حالية أخرى:
- `@openclaw/openai-provider`: يصدّر `api.ts` بُناة المزوّد،
ومساعدات النموذج الافتراضي، وبُناة مزوّدات الوقت الفعلي
- `@openclaw/openrouter-provider`: يصدّر `api.ts` باني المزوّد بالإضافة إلى
مساعدات onboarding/config
- `@openclaw/openai-provider`: يصدّر `api.ts` بُناة الموفّر،
ومساعدات النموذج الافتراضي، وبُناة الموفّر الفوري
- `@openclaw/openrouter-provider`: يصدّر `api.ts` باني الموفّر بالإضافة إلى
مساعدات الإعداد الأولي/التهيئة
<Warning>
يجب أن يتجنب كود إنتاج extension أيضًا استيراد
يجب على كود الإنتاج الخاص بالامتدادات أيضًا تجنّب استيرادات
`openclaw/plugin-sdk/<other-plugin>`.
إذا كان أحد المساعدات مشتركًا فعلًا، فارفعه إلى مسار فرعي محايد في SDK
مثل `openclaw/plugin-sdk/speech` أو `.../provider-model-shared` أو سطح آخر
موجّه حسب القدرة بدلًا من ربط pluginين معًا.
موجّه حسب القدرة بدلًا من ربط مكوّنين إضافيين معًا.
</Warning>
## ذو صلة
- [نقاط الإدخال](/ar/plugins/sdk-entrypoints) — خيارات `definePluginEntry` و`defineChannelPluginEntry`
- [مساعدات وقت التشغيل](/ar/plugins/sdk-runtime) — المرجع الكامل لمساحة الأسماء `api.runtime`
- [الإعداد والتهيئة](/ar/plugins/sdk-setup) — التغليف وmanifest ومخططات الإعداد
- [الإعداد والتهيئة](/ar/plugins/sdk-setup) — التغليف، والبيانات الوصفية، ومخططات التهيئة
- [الاختبار](/ar/plugins/sdk-testing) — أدوات الاختبار وقواعد lint
- [ترحيل SDK](/ar/plugins/sdk-migration) — الترحيل من الأسطح المهجورة
- [الأجزاء الداخلية للplugin](/ar/plugins/architecture) — البنية العميقة ونموذج القدرات
- [الخصائص الداخلية لـ Plugin](/ar/plugins/architecture) — البنية العميقة ونموذج القدرات

View File

@ -1,117 +1,121 @@
---
read_when:
- ضبط التفكير، أو تحليل توجيهات الوضع السريع، أو الوضع المفصل، أو القيم الافتراضية الخاصة بها
summary: صياغة التوجيهات لأوامر /think و/fast و/verbose و/trace وإظهار الاستدلال
- ضبط تحليل توجيهات التفكير أو الوضع السريع أو الإسهاب أو إعداداتها الافتراضية
summary: صياغة التوجيهات لأوامر `/think` و`/fast` و`/verbose` و`/trace` وإظهار الاستدلال
title: مستويات التفكير
x-i18n:
generated_at: "2026-04-12T23:33:56Z"
generated_at: "2026-04-17T07:17:51Z"
model: gpt-5.4
provider: openai
source_hash: 4f3b1341281f07ba4e9061e3355845dca234be04cc0d358594312beeb7676e68
source_hash: 1cb44a7bf75546e5a8c3204e12f3297221449b881161d173dea4983da3921649
source_path: tools/thinking.md
workflow: 15
---
# مستويات التفكير (/think directives)
# مستويات التفكير (توجيهات `/think`)
## ما الذي يفعله
- توجيه مضمن داخل أي نص وارد: `/t <level>` أو `/think:<level>` أو `/thinking <level>`.
- المستويات (والأسماء المستعارة): `off | minimal | low | medium | high | xhigh | adaptive`
- minimal → «تفكير»
- low → «فكّر بجد»
- medium → «فكّر بجدية أكبر»
- high → «ultrathink» (الحد الأقصى للميزانية)
- xhigh → «ultrathink+» (لنماذج GPT-5.2 + Codex فقط)
- adaptive → ميزانية استدلال تكيفية يديرها المزوّد (مدعومة لعائلة نماذج Anthropic Claude 4.6)
- يتم تعيين `x-high` و`x_high` و`extra-high` و`extra high` و`extra_high` إلى `xhigh`.
- يتم تعيين `highest` و`max` إلى `high`.
- توجيه مضمن في أي نص وارد: `/t <level>` أو `/think:<level>` أو `/thinking <level>`.
- المستويات (الأسماء البديلة): `off | minimal | low | medium | high | xhigh | adaptive`
- `minimal` ← “think”
- `low` ← “think hard”
- `medium` ← “think harder”
- `high` ← “ultrathink” (أقصى ميزانية)
- `xhigh` ← “ultrathink+” (GPT-5.2 + نماذج Codex ومستوى جهد Anthropic Claude Opus 4.7)
- `adaptive` ← تفكير تكيفي مُدار من المزوّد (مدعوم في Anthropic Claude 4.6 وOpus 4.7)
- يتم تحويل `x-high` و`x_high` و`extra-high` و`extra high` و`extra_high` إلى `xhigh`.
- يتم تحويل `highest` و`max` إلى `high`.
- ملاحظات المزوّد:
- تستخدم نماذج Anthropic Claude 4.6 القيمة الافتراضية `adaptive` عندما لا يتم ضبط مستوى تفكير صريح.
- يستخدم MiniMax (`minimax/*`) على مسار البث المتوافق مع Anthropic القيمة الافتراضية `thinking: { type: "disabled" }` ما لم تضبط التفكير صراحةً في معلمات النموذج أو معلمات الطلب. وهذا يتجنب تسرب فروق `reasoning_content` من تنسيق بث Anthropic غير الأصلي في MiniMax.
- لا يدعم Z.AI (`zai/*`) إلا التفكير الثنائي (`on`/`off`). ويُعامل أي مستوى غير `off` على أنه `on` (ويُعيّن إلى `low`).
- يعيّن Moonshot (`moonshot/*`) الأمر `/think off` إلى `thinking: { type: "disabled" }` وأي مستوى غير `off` إلى `thinking: { type: "enabled" }`. وعند تفعيل التفكير، لا يقبل Moonshot إلا `tool_choice` بالقيم `auto|none`؛ ويقوم OpenClaw بتطبيع القيم غير المتوافقة إلى `auto`.
- تستخدم نماذج Anthropic Claude 4.6 قيمة `adaptive` افتراضيًا عندما لا يتم تعيين مستوى تفكير صريح.
- لا يستخدم Anthropic Claude Opus 4.7 التفكير التكيفي افتراضيًا. وتبقى قيمة الجهد الافتراضية في API مملوكة للمزوّد ما لم تُعيّن مستوى تفكير صريحًا.
- يربط Anthropic Claude Opus 4.7 الأمر `/think xhigh` بالتفكير التكيفي بالإضافة إلى `output_config.effort: "xhigh"`، لأن `/think` هو توجيه تفكير و`xhigh` هو إعداد الجهد في Opus 4.7.
- يستخدم MiniMax (`minimax/*`) على مسار البث المتوافق مع Anthropic القيمة الافتراضية `thinking: { type: "disabled" }` ما لم تُعيّن التفكير صراحةً في معاملات النموذج أو معاملات الطلب. وهذا يمنع تسرب فوارق `reasoning_content` من تنسيق بث Anthropic غير الأصلي في MiniMax.
- يدعم Z.AI (`zai/*`) التفكير الثنائي فقط (`on`/`off`). وتُعامل أي قيمة غير `off` على أنها `on` (وتُحوَّل إلى `low`).
- يربط Moonshot (`moonshot/*`) الأمر `/think off` بالقيمة `thinking: { type: "disabled" }`، وأي قيمة غير `off` بالقيمة `thinking: { type: "enabled" }`. وعند تفعيل التفكير، لا يقبل Moonshot إلا `tool_choice` بالقيمتين `auto|none`؛ ويقوم OpenClaw بتطبيع القيم غير المتوافقة إلى `auto`.
## ترتيب الحل
## ترتيب الحسم
1. التوجيه المضمن في الرسالة (ينطبق على تلك الرسالة فقط).
2. تجاوز الجلسة (يُضبط بإرسال رسالة تحتوي فقط على توجيه).
3. الافتراضي لكل وكيل (`agents.list[].thinkingDefault` في الإعداد).
4. الافتراضي العام (`agents.defaults.thinkingDefault` في الإعداد).
5. الرجوع الاحتياطي: `adaptive` لنماذج Anthropic Claude 4.6، و`low` للنماذج الأخرى القادرة على الاستدلال، و`off` بخلاف ذلك.
1. التوجيه المضمن في الرسالة (يُطبَّق على تلك الرسالة فقط).
2. تجاوز الجلسة (يُضبط بإرسال رسالة تحتوي على التوجيه فقط).
3. الإعداد الافتراضي لكل وكيل (`agents.list[].thinkingDefault` في config).
4. الإعداد الافتراضي العام (`agents.defaults.thinkingDefault` في config).
5. الاحتياطي: `adaptive` لنماذج Anthropic Claude 4.6، و`off` لـ Anthropic Claude Opus 4.7 ما لم يتم تكوينه صراحةً، و`low` للنماذج الأخرى القادرة على الاستدلال، و`off` بخلاف ذلك.
## ضبط افتراضي للجلسة
## تعيين إعداد افتراضي للجلسة
- أرسل رسالة تكون **فقط** التوجيه (مع السماح بالمسافات البيضاء)، مثل `/think:medium` أو `/t high`.
- يظل ذلك ثابتًا للجلسة الحالية (لكل مرسل افتراضيًا)؛ ويتم مسحه بواسطة `/think:off` أو عند إعادة ضبط خمول الجلسة.
- يتم إرسال رد تأكيد (`Thinking level set to high.` / `Thinking disabled.`). وإذا كان المستوى غير صالح (مثل `/thinking big`)، فيتم رفض الأمر مع تلميح وتبقى حالة الجلسة من دون تغيير.
- أرسل `/think` (أو `/think:`) من دون وسيطة لرؤية مستوى التفكير الحالي.
- أرسل رسالة تحتوي **فقط** على التوجيه (مع السماح بالمسافات البيضاء)، مثل `/think:medium` أو `/t high`.
- يظل هذا الإعداد ثابتًا للجلسة الحالية (لكل مُرسِل افتراضيًا)؛ ويُمسح عبر `/think:off` أو عند إعادة تعيين خمول الجلسة.
- يتم إرسال رد تأكيد (`Thinking level set to high.` / `Thinking disabled.`). وإذا كان المستوى غير صالح (مثل `/thinking big`) فسيتم رفض الأمر مع تلميح، وتبقى حالة الجلسة دون تغيير.
- أرسل `/think` (أو `/think:`) من دون وسيطة لمعرفة مستوى التفكير الحالي.
## التطبيق حسب الوكيل
- **Pi المضمّن**: يتم تمرير المستوى المحلول إلى وقت تشغيل وكيل Pi داخل العملية.
- **Pi المضمّن**: يتم تمرير المستوى الذي تم حسمه إلى بيئة تشغيل وكيل Pi داخل العملية.
## الوضع السريع (/fast)
- المستويات: `on|off`.
- تقوم رسالة تحتوي فقط على التوجيه بتبديل تجاوز الوضع السريع للجلسة والرد بـ `Fast mode enabled.` / `Fast mode disabled.`.
- أرسل `/fast` (أو `/fast status`) من دون وضع لرؤية حالة الوضع السريع الفعالة الحالية.
- يحل OpenClaw الوضع السريع بهذا الترتيب:
1. `/fast on|off` مضمن/توجيه فقط
- تؤدي الرسالة التي تحتوي على التوجيه فقط إلى تبديل تجاوز الوضع السريع للجلسة، مع الرد `Fast mode enabled.` / `Fast mode disabled.`.
- أرسل `/fast` (أو `/fast status`) من دون وضع لمعرفة حالة الوضع السريع الفعّالة الحالية.
- يحسم OpenClaw الوضع السريع بهذا الترتيب:
1. `/fast on|off` المضمن أو الموجود في رسالة توجيه فقط
2. تجاوز الجلسة
3. الافتراضي لكل وكيل (`agents.list[].fastModeDefault`)
4. إعداد كل نموذج: `agents.defaults.models["<provider>/<model>"].params.fastMode`
5. الرجوع الاحتياطي: `off`
- بالنسبة إلى `openai/*`، يعيّن الوضع السريع إلى معالجة أولوية OpenAI بإرسال `service_tier=priority` في طلبات Responses المدعومة.
- بالنسبة إلى `openai-codex/*`، يرسل الوضع السريع العلامة نفسها `service_tier=priority` في Codex Responses. ويحافظ OpenClaw على مفتاح تبديل `/fast` مشترك واحد عبر مساري المصادقة.
- بالنسبة إلى طلبات `anthropic/*` العامة المباشرة، بما في ذلك الحركة المرسلة إلى `api.anthropic.com` بعد المصادقة عبر OAuth، يعيّن الوضع السريع إلى مستويات خدمة Anthropic: حيث يضبط `/fast on` القيمة `service_tier=auto` ويضبط `/fast off` القيمة `service_tier=standard_only`.
3. الإعداد الافتراضي لكل وكيل (`agents.list[].fastModeDefault`)
4. تكوين لكل نموذج: `agents.defaults.models["<provider>/<model>"].params.fastMode`
5. الاحتياطي: `off`
- بالنسبة إلى `openai/*`، يربط الوضع السريع بين معالجة الأولوية في OpenAI عبر إرسال `service_tier=priority` في طلبات Responses المدعومة.
- بالنسبة إلى `openai-codex/*`، يرسل الوضع السريع العلامة نفسها `service_tier=priority` في Codex Responses. ويحافظ OpenClaw على تبديل `/fast` مشترك واحد عبر مساري المصادقة.
- بالنسبة إلى طلبات `anthropic/*` العامة المباشرة، بما في ذلك الحركة الموثقة عبر OAuth المرسلة إلى `api.anthropic.com`، يربط الوضع السريع بين مستويات خدمة Anthropic: يعيّن `/fast on` القيمة `service_tier=auto`، ويعيّن `/fast off` القيمة `service_tier=standard_only`.
- بالنسبة إلى `minimax/*` على المسار المتوافق مع Anthropic، يعيد `/fast on` (أو `params.fastMode: true`) كتابة `MiniMax-M2.7` إلى `MiniMax-M2.7-highspeed`.
- تتجاوز معلمات النموذج الصريحة `serviceTier` / `service_tier` الخاصة بـ Anthropic القيمة الافتراضية للوضع السريع عند ضبط الاثنين معًا. ولا يزال OpenClaw يتجاوز حقن مستوى خدمة Anthropic لعناوين URL الأساسية الخاصة بالـ proxy غير التابعة لـ Anthropic.
- تتجاوز معاملات نموذج Anthropic الصريحة `serviceTier` / `service_tier` إعداد الوضع السريع الافتراضي عند تعيينهما معًا. ومع ذلك، يواصل OpenClaw تخطي حقن مستوى خدمة Anthropic لعناوين URL الأساسية غير التابعة لـ Anthropic.
## التوجيهات المفصلة (/verbose أو /v)
## توجيهات الإسهاب (/verbose أو /v)
- المستويات: `on` (حد أدنى) | `full` | `off` (الافتراضي).
- تقوم رسالة تحتوي فقط على التوجيه بتبديل الوضع المفصل للجلسة والرد بـ `Verbose logging enabled.` / `Verbose logging disabled.`؛ وتعطي المستويات غير الصالحة تلميحًا من دون تغيير الحالة.
- يؤثر التوجيه المضمن على تلك الرسالة فقط؛ وتُطبَّق افتراضيات الجلسة/الافتراضيات العامة بخلاف ذلك.
- أرسل `/verbose` (أو `/verbose:`) من دون وسيطة لرؤية المستوى المفصل الحالي.
- عند تفعيل الوضع المفصل، ترسل الوكلاء التي تُخرج نتائج أدوات مهيكلة (مثل Pi ووكلاء JSON الآخرين) كل استدعاء أداة كرسالة منفصلة خاصة بالبيانات الوصفية، مع بادئة `<emoji> <tool-name>: <arg>` عند توفرها (المسار/الأمر). وتُرسل هذه الملخصات الخاصة بالأدوات بمجرد بدء كل أداة (فقاعات منفصلة)، وليس كفروق بث.
- تظل ملخصات فشل الأدوات مرئية في الوضع العادي، لكن لواحق تفاصيل الأخطاء الخام تُخفى ما لم يكن `verbose` مضبوطًا على `on` أو `full`.
- عندما تكون قيمة `verbose` هي `full`، يتم أيضًا تمرير مخرجات الأدوات بعد اكتمالها (فقاعة منفصلة، مقصوصة إلى طول آمن). وإذا بدّلت `/verbose on|full|off` أثناء وجود تشغيل جارٍ، فإن فقاعات الأدوات اللاحقة تحترم الإعداد الجديد.
- تؤدي الرسالة التي تحتوي على التوجيه فقط إلى تبديل الإسهاب للجلسة، مع الرد `Verbose logging enabled.` / `Verbose logging disabled.`؛ وتُرجع المستويات غير الصالحة تلميحًا من دون تغيير الحالة.
- يخزن `/verbose off` تجاوزًا صريحًا للجلسة؛ ويمكنك مسحه عبر واجهة المستخدم Sessions باختيار `inherit`.
- يؤثر التوجيه المضمن على تلك الرسالة فقط؛ وتُطبَّق الإعدادات الافتراضية على مستوى الجلسة/العامة بخلاف ذلك.
- أرسل `/verbose` (أو `/verbose:`) من دون وسيطة لمعرفة مستوى الإسهاب الحالي.
- عند تفعيل الإسهاب، ترسل الوكلاء التي تصدر نتائج أدوات مهيكلة (Pi، ووكلاء JSON الآخرون) كل استدعاء أداة مرة أخرى كرسالة مستقلة خاصة بالبيانات الوصفية فقط، ومسبوقة عند التوفر بـ `<emoji> <tool-name>: <arg>` (المسار/الأمر). وتُرسل ملخصات الأدوات هذه فور بدء كل أداة (في فقاعات مستقلة)، وليس كفوارق بث.
- تظل ملخصات فشل الأدوات مرئية في الوضع العادي، لكن لواحق تفاصيل الخطأ الخام تكون مخفية ما لم يكن الإسهاب `on` أو `full`.
- عندما يكون الإسهاب `full`، يتم أيضًا تمرير مخرجات الأدوات بعد الاكتمال (في فقاعة مستقلة، مع اقتطاعها إلى طول آمن). وإذا بدّلت `/verbose on|full|off` أثناء وجود تشغيل جارٍ، فستلتزم فقاعات الأدوات اللاحقة بالإعداد الجديد.
## توجيهات تتبع Plugin (/trace)
- المستويات: `on` | `off` (الافتراضي).
- تقوم رسالة تحتوي فقط على التوجيه بتبديل إخراج تتبع Plugin للجلسة والرد بـ `Plugin trace enabled.` / `Plugin trace disabled.`.
- يؤثر التوجيه المضمن على تلك الرسالة فقط؛ وتُطبَّق افتراضيات الجلسة/الافتراضيات العامة بخلاف ذلك.
- أرسل `/trace` (أو `/trace:`) من دون وسيطة لرؤية مستوى التتبع الحالي.
- يُعد `/trace` أضيق من `/verbose`: فهو يكشف فقط أسطر التتبع/التصحيح المملوكة للـ Plugin مثل ملخصات تصحيح Active Memory.
- يمكن أن تظهر أسطر التتبع في `/status` وكـ رسالة تشخيص لاحقة بعد رد المساعد العادي.
- تؤدي الرسالة التي تحتوي على التوجيه فقط إلى تبديل خرج تتبع Plugin للجلسة، مع الرد `Plugin trace enabled.` / `Plugin trace disabled.`.
- يؤثر التوجيه المضمن على تلك الرسالة فقط؛ وتُطبَّق الإعدادات الافتراضية على مستوى الجلسة/العامة بخلاف ذلك.
- أرسل `/trace` (أو `/trace:`) من دون وسيطة لمعرفة مستوى التتبع الحالي.
- `/trace` أضيق من `/verbose`: فهو يكشف فقط أسطر التتبع/التصحيح المملوكة لـ Plugin مثل ملخصات تصحيح Active Memory.
- قد تظهر أسطر التتبع في `/status` وكـرسالة تشخيصية لاحقة بعد رد المساعد العادي.
## إظهار الاستدلال (/reasoning)
- المستويات: `on|off|stream`.
- تقوم رسالة تحتوي فقط على التوجيه بتبديل ما إذا كانت كتل التفكير تُعرض في الردود.
- تؤدي الرسالة التي تحتوي على التوجيه فقط إلى تبديل ما إذا كانت كتل التفكير ستظهر في الردود.
- عند التفعيل، يُرسل الاستدلال كـ **رسالة منفصلة** مسبوقة بـ `Reasoning:`.
- `stream` (على Telegram فقط): يبث الاستدلال إلى فقاعة المسودة في Telegram أثناء إنشاء الرد، ثم يرسل الإجابة النهائية من دون الاستدلال.
- الاسم المستعار: `/reason`.
- أرسل `/reasoning` (أو `/reasoning:`) من دون وسيطة لرؤية مستوى الاستدلال الحالي.
- ترتيب الحل: التوجيه المضمن، ثم تجاوز الجلسة، ثم الافتراضي لكل وكيل (`agents.list[].reasoningDefault`)، ثم الرجوع الاحتياطي (`off`).
- `stream` (في Telegram فقط): يبث الاستدلال داخل فقاعة المسودة في Telegram أثناء إنشاء الرد، ثم يرسل الإجابة النهائية من دون الاستدلال.
- الاسم البديل: `/reason`.
- أرسل `/reasoning` (أو `/reasoning:`) من دون وسيطة لمعرفة مستوى الاستدلال الحالي.
- ترتيب الحسم: التوجيه المضمن، ثم تجاوز الجلسة، ثم الإعداد الافتراضي لكل وكيل (`agents.list[].reasoningDefault`)، ثم الاحتياطي (`off`).
## ذو صلة
- توجد مستندات الوضع المرتفع في [Elevated mode](/ar/tools/elevated).
- توجد وثائق الوضع المرفوع في [الوضع المرفوع](/ar/tools/elevated).
## Heartbeat
- نص فحص Heartbeat هو موجه Heartbeat المُعدّ (الافتراضي: `Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.`). وتُطبّق التوجيهات المضمنة في رسالة Heartbeat كالمعتاد (لكن تجنب تغيير افتراضيات الجلسة من رسائل Heartbeat).
- يستخدم تسليم Heartbeat افتراضيًا الحمولة النهائية فقط. ولإرسال رسالة `Reasoning:` المنفصلة أيضًا (عند توفرها)، اضبط `agents.defaults.heartbeat.includeReasoning: true` أو لكل وكيل `agents.list[].heartbeat.includeReasoning: true`.
- نص فحص Heartbeat هو موجّه Heartbeat المكوّن (الافتراضي: `Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.`). تُطبَّق التوجيهات المضمنة في رسالة Heartbeat كالمعتاد (لكن تجنب تغيير الإعدادات الافتراضية للجلسة من رسائل Heartbeat).
- يقتصر تسليم Heartbeat افتراضيًا على الحمولة النهائية فقط. ولإرسال رسالة `Reasoning:` المنفصلة أيضًا (عند توفرها)، عيّن `agents.defaults.heartbeat.includeReasoning: true` أو `agents.list[].heartbeat.includeReasoning: true` لكل وكيل.
## واجهة دردشة الويب
- يعكس محدد التفكير في واجهة دردشة الويب المستوى المخزّن للجلسة من مخزن الجلسات/الإعداد الوارد عند تحميل الصفحة.
- يؤدي اختيار مستوى آخر إلى كتابة تجاوز الجلسة فورًا عبر `sessions.patch`؛ ولا ينتظر الإرسال التالي، كما أنه ليس تجاوزًا لمرة واحدة من نوع `thinkingOnce`.
- يكون الخيار الأول دائمًا `Default (<resolved level>)`، حيث يأتي المستوى الافتراضي المحلول من نموذج الجلسة النشط: `adaptive` لـ Claude 4.6 على Anthropic/Bedrock، و`low` للنماذج الأخرى القادرة على الاستدلال، و`off` بخلاف ذلك.
- يعكس محدد التفكير في دردشة الويب المستوى المخزن للجلسة من مخزن الجلسات/الإعدادات الواردة عند تحميل الصفحة.
- يؤدي اختيار مستوى آخر إلى كتابة تجاوز الجلسة فورًا عبر `sessions.patch`؛ ولا ينتظر الإرسال التالي، كما أنه ليس تجاوز `thinkingOnce` لمرة واحدة.
- يكون الخيار الأول دائمًا `Default (<resolved level>)`، حيث يأتي الإعداد الافتراضي المحسوم من نموذج الجلسة النشط: `adaptive` لـ Claude 4.6 على Anthropic، و`off` لـ Anthropic Claude Opus 4.7 ما لم يتم تكوينه، و`low` للنماذج الأخرى القادرة على الاستدلال، و`off` بخلاف ذلك.
- يظل المحدد مدركًا للمزوّد:
- تعرض معظم المزوّدات `off | minimal | low | medium | high | adaptive`
- يعرض Z.AI القيم الثنائية `off | on`
- لا يزال `/think:<level>` يعمل ويحدّث مستوى الجلسة المخزّن نفسه، بحيث تبقى توجيهات الدردشة والمحدد متزامنين.
- يعرض Anthropic Claude Opus 4.7 القيم `off | minimal | low | medium | high | xhigh | adaptive`
- يعرض Z.AI قيمًا ثنائية `off | on`
- ما زال `/think:<level>` يعمل ويحدّث مستوى الجلسة المخزن نفسه، بحيث تبقى توجيهات الدردشة والمحدد متزامنين.