chore(i18n): refresh ar translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-04-08 07:22:23 +00:00
parent 1bf37284fe
commit a8e15e49ff
6 changed files with 1351 additions and 1319 deletions

File diff suppressed because it is too large Load Diff

View File

@ -2,109 +2,117 @@
read_when:
- تريد أن يعمل ترقية الذاكرة تلقائيًا
- تريد فهم ما الذي تفعله كل مرحلة من مراحل الحلم
- تريد ضبط التجميع دون تلويث `MEMORY.md`
summary: تجميع الذاكرة في الخلفية مع مراحل خفيفة وعميقة وREM بالإضافة إلى يوميات الأحلام
- تريد ضبط الدمج دون تلويث `MEMORY.md`
summary: دمج ذاكرة في الخلفية بمراحل خفيفة وعميقة وREM بالإضافة إلى يوميات الأحلام
title: الحلم (تجريبي)
x-i18n:
generated_at: "2026-04-06T07:17:51Z"
generated_at: "2026-04-08T07:16:29Z"
model: gpt-5.4
provider: openai
source_hash: 36c4b1e70801d662090dc8ce20608c2f141c23cd7ce53c54e3dcf332c801fd4e
source_hash: 0254f3b0949158264e583c12f36f2b1a83d1b44dc4da01a1b272422d38e8655d
source_path: concepts/dreaming.md
workflow: 15
---
# الحلم (تجريبي)
الحلم هو نظام تجميع الذاكرة في الخلفية ضمن `memory-core`.
يساعد OpenClaw على نقل الإشارات القصيرة المدى القوية إلى ذاكرة دائمة مع
الحفاظ على العملية قابلة للتفسير والمراجعة.
الحلم هو نظام دمج الذاكرة في الخلفية ضمن `memory-core`.
يساعد OpenClaw على نقل الإشارات القوية قصيرة الأمد إلى ذاكرة دائمة مع
الحفاظ على أن تكون العملية قابلة للتفسير والمراجعة.
الحلم **اختياري** ومُعطّل افتراضيًا.
الحلم **اختياري** وهو معطّل افتراضيًا.
## ما الذي يكتبه الحلم
يحتفظ الحلم بنوعين من المخرجات:
- **حالة الآلة** في `memory/.dreams/` (مخزن الاستدعاء، إشارات المراحل، نقاط تحقق الإدخال، الأقفال).
- **مخرجات قابلة للقراءة البشرية** في `DREAMS.md` (أو `dreams.md` الموجود) وملفات تقارير مراحل اختيارية ضمن `memory/dreaming/<phase>/YYYY-MM-DD.md`.
- **حالة الآلة** في `memory/.dreams/` (مخزن الاستدعاء، إشارات المراحل، نقاط تحقق الاستيعاب، الأقفال).
- **مخرجات قابلة للقراءة البشرية** في `DREAMS.md` (أو `dreams.md` الموجود) وملفات تقارير المراحل الاختيارية ضمن `memory/dreaming/<phase>/YYYY-MM-DD.md`.
تظل الترقية إلى الذاكرة طويلة المدى تكتب فقط إلى `MEMORY.md`.
لا تزال الترقية إلى الذاكرة طويلة الأمد تكتب فقط إلى `MEMORY.md`.
## نموذج المراحل
يستخدم الحلم ثلاث مراحل تعاونية:
| المرحلة | الغرض | الكتابة الدائمة |
| ------- | ---------------------------------------- | ------------------- |
| الخفيفة | فرز وتجهيز المواد القصيرة المدى الحديثة | لا |
| العميقة | تقييم المرشحين الدائمين وترقيتهم | نعم (`MEMORY.md`) |
| REM | التأمل في السمات والأفكار المتكررة | لا |
| المرحلة | الغرض | الكتابة الدائمة |
| ----- | ----------------------------------------- | ----------------- |
| الخفيفة | فرز المواد قصيرة الأمد الحديثة وتجهيزها | لا |
| العميقة | تقييم المرشحين الدائمين وترقيتهم | نعم (`MEMORY.md`) |
| REM | التأمل في الأنماط والأفكار المتكررة | لا |
هذه المراحل هي تفاصيل تنفيذ داخلية وليست "أوضاعًا" منفصلة يضبطها المستخدم.
هذه المراحل تفاصيل تنفيذ داخلية وليست "أوضاعًا" منفصلة يضبطها المستخدم.
### المرحلة الخفيفة
تقوم المرحلة الخفيفة بإدخال إشارات الذاكرة اليومية الحديثة وآثار الاستدعاء، وإزالة التكرار منها،
وتجهيز الأسطر المرشحة.
تستوعب المرحلة الخفيفة إشارات الذاكرة اليومية الحديثة وآثار الاستدعاء، وتزيل التكرارات منها،
وتجهز أسطرًا مرشحة.
- تقرأ من حالة الاستدعاء القصير المدى وملفات الذاكرة اليومية الحديثة.
- تكتب كتلة `## Light Sleep` مُدارة عندما يتضمن التخزين مخرجات مضمنة.
- تقرأ من حالة الاستدعاء قصيرة الأمد، وملفات الذاكرة اليومية الحديثة، ونصوص الجلسات المنقحة عند توفرها.
- تكتب كتلة `## Light Sleep` مُدارة عندما يتضمن التخزين مخرجات مضمّنة.
- تسجل إشارات تعزيز لاستخدامها لاحقًا في الترتيب العميق.
- لا تكتب أبدًا إلى `MEMORY.md`.
### المرحلة العميقة
تقرر المرحلة العميقة ما الذي يصبح ذاكرة طويلة المدى.
تقرر المرحلة العميقة ما الذي يصبح ذاكرة طويلة الأمد.
- ترتب المرشحين باستخدام تقييم مرجّح وبوابات حدود دنيا.
- ترتب المرشحين باستخدام تقييم مرجّح وبوابات عتبة.
- تتطلب اجتياز `minScore` و`minRecallCount` و`minUniqueQueries`.
- تعيد ترطيب المقاطع من الملفات اليومية الحية قبل الكتابة، لذلك يتم تخطي المقاطع القديمة أو المحذوفة.
- تلحق الإدخالات المُرقّاة إلى `MEMORY.md`.
- تكتب ملخص `## Deep Sleep` في `DREAMS.md` وتكتب اختياريًا إلى `memory/dreaming/deep/YYYY-MM-DD.md`.
- تعيد إماهة المقتطفات من الملفات اليومية الحية قبل الكتابة، لذلك يتم تخطي المقتطفات القديمة/المحذوفة.
- تُلحق الإدخالات المُرقّاة إلى `MEMORY.md`.
- تكتب ملخص `## Deep Sleep` داخل `DREAMS.md` وتكتب اختياريًا إلى `memory/dreaming/deep/YYYY-MM-DD.md`.
### مرحلة REM
تستخرج مرحلة REM الأنماط والإشارات التأملية.
- تنشئ ملخصات للسمات والتأملات من آثار الذاكرة القصيرة المدى الحديثة.
- تكتب كتلة `## REM Sleep` مُدارة عندما يتضمن التخزين مخرجات مضمنة.
- تبني ملخصات للموضوعات والتأملات من الآثار قصيرة الأمد الحديثة.
- تكتب كتلة `## REM Sleep` مُدارة عندما يتضمن التخزين مخرجات مضمّنة.
- تسجل إشارات تعزيز REM المستخدمة في الترتيب العميق.
- لا تكتب أبدًا إلى `MEMORY.md`.
## استيعاب نصوص الجلسات
يمكن للحلم استيعاب نصوص الجلسات المنقحة ضمن مادة الحلم. عند
توفر النصوص، يتم تمريرها إلى المرحلة الخفيفة إلى جانب إشارات الذاكرة
اليومية وآثار الاستدعاء. تتم تنقيح المحتوى الشخصي والحساس
قبل الاستيعاب.
## يوميات الأحلام
يحتفظ الحلم أيضًا بسرد قصصي بعنوان **يوميات الأحلام** في `DREAMS.md`.
بعد أن تمتلك كل مرحلة مادة كافية، يشغّل `memory-core` بشكل أفضل جهد ممكن
دورة وكيل فرعي في الخلفية (باستخدام نموذج وقت التشغيل الافتراضي) ويلحق إدخالًا قصيرًا إلى اليوميات.
يحتفظ الحلم أيضًا بـ **يوميات أحلام** سردية في `DREAMS.md`.
بعد أن تتوفر مادة كافية لكل مرحلة، يقوم `memory-core` بتشغيل
دورة وكيل فرعي في الخلفية بأفضل جهد (باستخدام نموذج وقت التشغيل الافتراضي)
ويُلحق إدخال يوميات قصيرًا.
هذه اليوميات مخصصة للقراءة البشرية في واجهة Dreams، وليست مصدرًا للترقية.
## إشارات الترتيب العميق
يستخدم الترتيب العميق ست إشارات أساسية مرجّحة بالإضافة إلى تعزيز المراحل:
يستخدم الترتيب العميق ست إشارات أساسية مرجحة بالإضافة إلى تعزيز المراحل:
| الإشارة | الوزن | الوصف |
| ------------------- | ----- | -------------------------------------------------- |
| التكرار | 0.24 | عدد إشارات الذاكرة القصيرة المدى التي راكمها الإدخال |
| الصلة | 0.30 | متوسط جودة الاسترجاع للإدخال |
| تنوع الاستعلامات | 0.15 | سياقات الاستعلام/اليوم المختلفة التي أظهرته |
| الحداثة | 0.15 | درجة حداثة متناقصة بمرور الوقت |
| التجميع | 0.10 | قوة التكرار عبر أيام متعددة |
| الثراء المفاهيمي | 0.06 | كثافة وسوم المفاهيم من المقطع/المسار |
| الإشارة | الوزن | الوصف |
| ------------------- | ------ | ------------------------------------------------- |
| التكرار | 0.24 | عدد الإشارات قصيرة الأمد التي راكمها الإدخال |
| الصلة | 0.30 | متوسط جودة الاسترجاع للإدخال |
| تنوع الاستعلامات | 0.15 | سياقات الاستعلام/اليوم المميزة التي أظهرته |
| الحداثة | 0.15 | درجة حداثة متناقصة بمرور الوقت |
| الدمج | 0.10 | قوة التكرار عبر أيام متعددة |
| الثراء المفاهيمي | 0.06 | كثافة وسوم المفاهيم من المقتطف/المسار |
تضيف إصابات المرحلتين الخفيفة وREM تعزيزًا صغيرًا متناقصًا بمرور الوقت للحداثة من
تضيف إصابات المرحلتين الخفيفة وREM دفعة صغيرة متناقصة بمرور الوقت من
`memory/.dreams/phase-signals.json`.
## الجدولة
عند التفعيل، يدير `memory-core` تلقائيًا مهمة cron واحدة لعملية
حلم كاملة. تشغّل كل عملية المراحل بالترتيب: الخفيفة -> REM -> العميقة.
عند التفعيل، يدير `memory-core` تلقائيًا مهمة cron واحدة لاكتساح حلم كامل.
ينفذ كل اكتساح المراحل بالترتيب: الخفيفة -> REM -> العميقة.
سلوك الوتيرة الافتراضي:
سلوك الوتيرة الافتراضية:
| الإعداد | الافتراضي |
| -------------------- | ---------- |
| الإعداد | الافتراضي |
| -------------------- | ----------- |
| `dreaming.frequency` | `0 3 * * *` |
## البدء السريع
@ -127,7 +135,7 @@ x-i18n:
}
```
فعّل الحلم مع وتيرة عملية مخصصة:
فعّل الحلم مع وتيرة اكتساح مخصصة:
```json
{
@ -167,17 +175,17 @@ openclaw memory promote --limit 5
openclaw memory status --deep
```
يستخدم `memory promote` اليدوي حدود المرحلة العميقة افتراضيًا ما لم يتم تجاوزها
بأعلام CLI.
يستخدم `memory promote` اليدوي عتبات المرحلة العميقة افتراضيًا ما لم يتم تجاوزها
بعلامات CLI.
اشرح سبب ترقية مرشح محدد أو عدم ترقيته:
اشرح لماذا قد تتم أو لا تتم ترقية مرشح معيّن:
```bash
openclaw memory promote-explain "router vlan"
openclaw memory promote-explain "router vlan" --json
```
عاين تأملات REM، والحقائق المرشحة، ومخرجات الترقية العميقة من دون
عاين تأملات REM، والحقائق المرشحة، ومخرجات الترقية العميقة بدون
كتابة أي شيء:
```bash
@ -189,24 +197,24 @@ openclaw memory rem-harness --json
توجد جميع الإعدادات ضمن `plugins.entries.memory-core.config.dreaming`.
| المفتاح | الافتراضي |
| ----------- | ---------- |
| `enabled` | `false` |
| المفتاح | الافتراضي |
| ----------- | ----------- |
| `enabled` | `false` |
| `frequency` | `0 3 * * *` |
سياسة المراحل، والحدود، وسلوك التخزين هي تفاصيل تنفيذ داخلية
سياسة المراحل، والعتبات، وسلوك التخزين هي تفاصيل تنفيذ داخلية
(وليست إعدادات موجهة للمستخدم).
راجع [مرجع إعدادات الذاكرة](/ar/reference/memory-config#dreaming-experimental)
للحصول على قائمة المفاتيح الكاملة.
للاطلاع على القائمة الكاملة للمفاتيح.
## واجهة Dreams
عند التفعيل، تعرض علامة تبويب **Dreams** في Gateway ما يلي:
- حالة تفعيل الحلم الحالية
- الحالة على مستوى المرحلة ووجود العملية المُدارة
- أعداد الذاكرة القصيرة المدى، وطويلة المدى، والمُرقّاة اليوم
- الحالة على مستوى المرحلة ووجود الاكتساح المُدار
- أعداد الذاكرة قصيرة الأمد وطويلة الأمد والمُرقّاة اليوم
- توقيت التشغيل المجدول التالي
- قارئ يوميات أحلام قابل للتوسيع ومدعوم بواسطة `doctor.memory.dreamDiary`

File diff suppressed because it is too large Load Diff

View File

@ -1,30 +1,30 @@
---
read_when:
- تحتاج إلى معرفة المسار الفرعي في SDK الذي يجب الاستيراد منه
- تحتاج إلى معرفة أي مسار فرعي من SDK يجب الاستيراد منه
- تريد مرجعًا لجميع أساليب التسجيل على OpenClawPluginApi
- تبحث عن تصدير محدد في SDK
sidebarTitle: SDK Overview
summary: خريطة الاستيراد، ومرجع API للتسجيل، وبنية SDK
summary: خريطة الاستيراد، ومرجع واجهة برمجة تطبيقات التسجيل، وبنية SDK
title: نظرة عامة على Plugin SDK
x-i18n:
generated_at: "2026-04-08T02:18:17Z"
generated_at: "2026-04-08T07:18:00Z"
model: gpt-5.4
provider: openai
source_hash: c5a41bd82d165dfbb7fbd6e4528cf322e9133a51efe55fa8518a7a0a626d9d30
source_hash: a9141dc0303c91974fe693ce48ad9f7dc4179418ae262a96011ad565aae87d21
source_path: plugins/sdk-overview.md
workflow: 15
---
# نظرة عامة على Plugin SDK
Plugin SDK هو العقد المطبّع بين الإضافات والنواة. هذه الصفحة هي
المرجع الخاص بـ **ما الذي يجب استيراده** و**ما الذي يمكنك تسجيله**.
يُعد plugin SDK العقد المطبّع بين plugins والنواة. هذه الصفحة هي
المرجع الخاص بـ **ما يجب استيراده** و**ما الذي يمكنك تسجيله**.
<Tip>
**هل تبحث عن دليل عملي؟**
- أول إضافة؟ ابدأ من [البدء](/ar/plugins/building-plugins)
- إضافة قناة؟ راجع [إضافات القنوات](/ar/plugins/sdk-channel-plugins)
- إضافة موفّر؟ راجع [إضافات الموفّرات](/ar/plugins/sdk-provider-plugins)
**هل تبحث عن دليل إرشادي؟**
- أول plugin؟ ابدأ من [البدء](/ar/plugins/building-plugins)
- Channel plugin؟ راجع [إضافات القنوات](/ar/plugins/sdk-channel-plugins)
- Provider plugin؟ راجع [إضافات المزوّدين](/ar/plugins/sdk-provider-plugins)
</Tip>
## اصطلاح الاستيراد
@ -36,39 +36,38 @@ 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`، أو
مسارات مساعدات تحمل علامة قناة محددة. يجب على الإضافات المضمّنة أن تركّب
مسارات SDK الفرعية العامة داخل ملفات `api.ts` أو `runtime-api.ts` الخاصة بها، ويجب على النواة
إما استخدام هذه الملفات المحلية للإضافة أو إضافة عقد SDK عام ضيّق
عندما تكون الحاجة عابرة للقنوات فعلًا.
لا تضف أو تعتمد على واجهات ملاءمة مسماة بأسماء المزوّدين مثل
`openclaw/plugin-sdk/slack`, `openclaw/plugin-sdk/discord`,
`openclaw/plugin-sdk/signal`, `openclaw/plugin-sdk/whatsapp`، أو
واجهات المساعدة المميّزة بعلامات القنوات. يجب على bundled plugins تركيب
المسارات الفرعية العامة لـ SDK داخل ملفات `api.ts` أو `runtime-api.ts` الخاصة بها، ويجب
على النواة إما استخدام هذه الملفات المحلية الخاصة بالplugin أو إضافة عقد SDK عام ضيق
عندما تكون الحاجة فعلًا مشتركة بين عدة قنوات.
لا تزال خريطة التصدير المولدة تحتوي على مجموعة صغيرة من
مسارات المساعدات الخاصة بالإضافات المضمّنة مثل `plugin-sdk/feishu` و`plugin-sdk/feishu-setup`،
و`plugin-sdk/zalo` و`plugin-sdk/zalo-setup` و`plugin-sdk/matrix*`. هذه
المسارات الفرعية موجودة فقط لصيانة الإضافات المضمّنة والتوافق؛ وهي
مستبعدة عمدًا من الجدول الشائع أدناه وليست مسار الاستيراد
الموصى به للإضافات الخارجية الجديدة.
لا تزال خريطة التصدير المولّدة تحتوي على مجموعة صغيرة من
واجهات المساعدة الخاصة بـ bundled plugins مثل `plugin-sdk/feishu`,
`plugin-sdk/feishu-setup`, `plugin-sdk/zalo`, `plugin-sdk/zalo-setup`, و `plugin-sdk/matrix*`. توجد
هذه المسارات الفرعية فقط من أجل صيانة bundled plugins والتوافق؛ وقد أُزيلت عمدًا من الجدول الشائع أدناه
وليست هي مسار الاستيراد الموصى به لـ plugins الخارجية الجديدة.
## مرجع المسارات الفرعية
أكثر المسارات الفرعية استخدامًا، مجمّعة حسب الغرض. القائمة الكاملة المولدة والتي تضم
أكثر من 200 مسار فرعي موجودة في `scripts/lib/plugin-sdk-entrypoints.json`.
أكثر المسارات الفرعية استخدامًا، مجمّعة حسب الغرض. وتوجد القائمة الكاملة المولّدة
التي تتضمن أكثر من 200 مسار فرعي في `scripts/lib/plugin-sdk-entrypoints.json`.
لا تزال المسارات الفرعية المحجوزة الخاصة بمساعدات الإضافات المضمّنة تظهر في تلك القائمة المولدة.
تعامل مع هذه المسارات على أنها تفاصيل تنفيذ/أسطح توافق إلا إذا
روّجت لها صفحة توثيق صراحة على أنها عامة.
لا تزال المسارات الفرعية المحجوزة لمساعدات bundled plugins تظهر في تلك القائمة المولدة.
تعامل معها على أنها تفاصيل تنفيذ/أسطح توافق ما لم تكن صفحة توثيق
تروّج صراحةً لواحد منها على أنه عام.
### إدخال الإضافة
### إدخال plugin
| المسار الفرعي | الصادرات الأساسية |
| المسار الفرعي | أهم التصديرات |
| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `plugin-sdk/plugin-entry` | `definePluginEntry` |
| `plugin-sdk/core` | `defineChannelPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase`, `defineSetupPluginEntry`, `buildChannelConfigSchema` |
@ -77,285 +76,285 @@ import { defineChannelPluginEntry } from "openclaw/plugin-sdk/channel-core";
<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` | مساعدات معالج الإعداد المشتركة، ومطالبات قائمة السماح، وبناة حالة الإعداد |
| `plugin-sdk/setup` | مساعدات معالج الإعداد المشتركة، ومطالبات allowlist، وبناة حالة الإعداد |
| `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 مع الرجوع إلى bundled contract |
| `plugin-sdk/channel-policy` | `resolveChannelGroupRequireMention` |
| `plugin-sdk/channel-lifecycle` | `createAccountStatusSink` |
| `plugin-sdk/inbound-envelope` | مساعدات بناء المسار والمغلف المشترك للرسائل الواردة |
| `plugin-sdk/inbound-reply-dispatch` | مساعدات التسجيل والإرسال المشتركة للرسائل الواردة |
| `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/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/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/channel-status` | مساعدات مشتركة للّقطة/الملخص لحالة القناة |
| `plugin-sdk/channel-config-primitives` | أوليات ضيقة لمخطط تهيئة القناة |
| `plugin-sdk/channel-config-writes` | مساعدات تفويض كتابة تهيئة القناة |
| `plugin-sdk/channel-plugin-common` | تصديرات تمهيدية مشتركة لـ channel plugin |
| `plugin-sdk/allowlist-config-edit` | مساعدات قراءة/تعديل تهيئة allowlist |
| `plugin-sdk/group-access` | مساعدات مشتركة لاتخاذ قرار الوصول إلى المجموعة |
| `plugin-sdk/direct-dm` | مساعدات مشتركة للمصادقة/الحماية في الرسائل المباشرة |
| `plugin-sdk/interactive-runtime` | مساعدات تطبيع/اختزال حمولة الرد التفاعلي |
| `plugin-sdk/channel-inbound` | مساعدات إزالة الارتداد، ومطابقة الذكر، وسياسة الذكر للرسائل الواردة، ومساعدات المغلف |
| `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-secret-runtime` | مساعدات ضيقة لعقد الأسرار مثل `collectSimpleChannelFieldAssignments` و`getChannelSurface` و`pushAssignment` وأنواع أهداف الأسرار |
| `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 |
| `plugin-sdk/cli-backend` | القيم الافتراضية للواجهة الخلفية لـ CLI + ثوابت المراقبة |
| `plugin-sdk/provider-auth-runtime` | مساعدات حل مفاتيح API وقت التشغيل لإضافات الموفّرات |
| `plugin-sdk/provider-auth-api-key` | مساعدات الإلحاق/الكتابة في الملف الشخصي لمفتاح API مثل `upsertApiKeyProfile` |
| `plugin-sdk/provider-setup` | مساعدات منسّقة لإعداد المزوّدين المحليين/المستضافين ذاتيًا |
| `plugin-sdk/self-hosted-provider-setup` | مساعدات مركّزة لإعداد مزوّدات متوافقة مع OpenAI ومُستضافة ذاتيًا |
| `plugin-sdk/cli-backend` | إعدادات CLI الخلفية الافتراضية + ثوابت watchdog |
| `plugin-sdk/provider-auth-runtime` | مساعدات حل مفاتيح API في وقت التشغيل لـ provider plugins |
| `plugin-sdk/provider-auth-api-key` | مساعدات ضمّ API key/الكتابة إلى الملف الشخصي مثل `upsertApiKeyProfile` |
| `plugin-sdk/provider-auth-result` | باني نتيجة مصادقة OAuth القياسي |
| `plugin-sdk/provider-auth-login` | مساعدات تسجيل الدخول التفاعلية المشتركة لإضافات الموفّرات |
| `plugin-sdk/provider-env-vars` | مساعدات البحث عن متغيرات بيئة مصادقة الموفّر |
| `plugin-sdk/provider-auth-login` | مساعدات تسجيل الدخول التفاعلي المشتركة لـ provider plugins |
| `plugin-sdk/provider-env-vars` | مساعدات البحث عن متغيرات البيئة لمصادقة المزوّد |
| `plugin-sdk/provider-auth` | `createProviderApiKeyAuthMethod`, `ensureApiKeyFromOptionEnvOrPrompt`, `upsertAuthProfile`, `upsertApiKeyProfile`, `writeOAuthCredentials` |
| `plugin-sdk/provider-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`، وبناة سياسة الإعادة المشتركة، ومساعدات نقطة نهاية الموفّر، ومساعدات تطبيع معرّف النموذج مثل `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-contract` | مساعدات ضيقة لعقود تكوين/بيانات اعتماد web-search مثل `enablePluginInConfig` و`resolveProviderWebSearchPluginConfig` وضبط/جلب بيانات الاعتماد ذات النطاق |
| `plugin-sdk/provider-web-search` | مساعدات التسجيل/الذاكرة المؤقتة/وقت التشغيل لموفّر 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` | مساعدات ترقيع تكوين الإعداد الأولي |
| `plugin-sdk/global-singleton` | مساعدات القيم المفردة/الخرائط/الذاكرات المؤقتة المحلية للعملية |
| `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-contract` | مساعدات ضيقة لعقد تهيئة/بيانات اعتماد web-search مثل `enablePluginInConfig`, `resolveProviderWebSearchPluginConfig`، وواضعات/جالبات بيانات اعتماد ضمن النطاق |
| `plugin-sdk/provider-web-search` | مساعدات تسجيل/تخزين مؤقت/وقت تشغيل لمزوّد 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` | مساعدات تصحيح التهيئة الخاصة بالإعداد الأولي |
| `plugin-sdk/global-singleton` | مساعدات singleton/map/cache محلية على مستوى العملية |
</Accordion>
<Accordion title="المسارات الفرعية للمصادقة والأمان">
| المسار الفرعي | الصادرات الأساسية |
| المسار الفرعي | أهم التصديرات |
| --- | --- |
| `plugin-sdk/command-auth` | `resolveControlCommandGate`، ومساعدات سجل الأوامر، ومساعدات تفويض المرسِل |
| `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-sdk/command-auth-native` | مساعدات مصادقة الأوامر الأصلية + أهداف الجلسات الأصلية |
| `plugin-sdk/approval-auth-runtime` | مساعدات حل المعتمِد ومصادقة الإجراءات ضمن نفس المحادثة |
| `plugin-sdk/approval-client-runtime` | مساعدات الملف الشخصي/المرشّح لاعتماد التنفيذ الأصلي |
| `plugin-sdk/approval-delivery-runtime` | محولات قدرة/تسليم الاعتماد الأصلية |
| `plugin-sdk/approval-gateway-runtime` | مساعد مشترك لحل approval gateway |
| `plugin-sdk/approval-handler-adapter-runtime` | مساعدات خفيفة لتحميل محوّل الاعتماد الأصلي لنقاط دخول القنوات السريعة |
| `plugin-sdk/approval-handler-runtime` | مساعدات أوسع لمعالِج الاعتماد في وقت التشغيل؛ فضّل الواجهات الأضيق للمحوّل/البوابة عندما تكون كافية |
| `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/allow-from` | `formatAllowFromLowercase` |
| `plugin-sdk/channel-secret-runtime` | مساعدات ضيقة لتجميع عقود الأسرار لأسطح أسرار القناة/الإضافة |
| `plugin-sdk/secret-ref-runtime` | مساعدات ضيقة لـ `coerceSecretRef` وكتابة SecretRef لتحليل عقود الأسرار/التكوين |
| `plugin-sdk/security-runtime` | مساعدات مشتركة للثقة، وبوابات الرسائل المباشرة، والمحتوى الخارجي، وتجميع الأسرار |
| `plugin-sdk/ssrf-policy` | مساعدات قائمة السماح للمضيف وسياسة SSRF للشبكات الخاصة |
| `plugin-sdk/ssrf-runtime` | مساعدات المرسِل المثبّت، والجلب المحمي بـ SSRF، وسياسة SSRF |
| `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` | مساعدات pinned-dispatcher وfetch المحمي من SSRF وسياسة SSRF |
| `plugin-sdk/secret-input` | مساعدات تحليل إدخال الأسرار |
| `plugin-sdk/webhook-ingress` | مساعدات طلب/هدف Webhook |
| `plugin-sdk/webhook-request-guards` | مساعدات حجم جسم الطلب/المهلة الزمنية |
| `plugin-sdk/webhook-ingress` | مساعدات طلب/هدف webhook |
| `plugin-sdk/webhook-request-guards` | مساعدات حجم/مهلة جسم الطلب |
</Accordion>
<Accordion title="المسارات الفرعية لوقت التشغيل والتخزين">
| المسار الفرعي | الصادرات الأساسية |
| المسار الفرعي | أهم التصديرات |
| --- | --- |
| `plugin-sdk/runtime` | مساعدات عامة لوقت التشغيل/السجلات/النسخ الاحتياطي/تثبيت الإضافات |
| `plugin-sdk/runtime-env` | مساعدات ضيقة لبيئة وقت التشغيل، والمسجل، والمهلة، وإعادة المحاولة، وbackoff |
| `plugin-sdk/channel-runtime-context` | مساعدات عامة لتسجيل والبحث عن سياق وقت تشغيل القناة |
| `plugin-sdk/runtime` | مساعدات واسعة لوقت التشغيل/التسجيل/النسخ الاحتياطي/تثبيت plugin |
| `plugin-sdk/runtime-env` | مساعدات ضيقة لبيئة وقت التشغيل، والمسجّل، والمهلة، وإعادة المحاولة، والتراجع التدريجي |
| `plugin-sdk/channel-runtime-context` | مساعدات عامة لتسجيل سياق وقت تشغيل القناة والبحث عنه |
| `plugin-sdk/runtime-store` | `createPluginRuntimeStore` |
| `plugin-sdk/plugin-runtime` | مساعدات مشتركة لأوامر/خطافات/http/التفاعل الخاصة بالإضافةات |
| `plugin-sdk/hook-runtime` | مساعدات مشتركة لمسار Webhook/الخطافات الداخلية |
| `plugin-sdk/lazy-runtime` | مساعدات الاستيراد/الربط الكسول لوقت التشغيل مثل `createLazyRuntimeModule` و`createLazyRuntimeMethod` و`createLazyRuntimeSurface` |
| `plugin-sdk/process-runtime` | مساعدات تنفيذ العملية |
| `plugin-sdk/cli-runtime` | مساعدات التنسيق والانتظار والإصدار لـ CLI |
| `plugin-sdk/gateway-runtime` | مساعدات عميل البوابة وترقيعات حالة القناة |
| `plugin-sdk/config-runtime` | مساعدات تحميل/كتابة التكوين |
| `plugin-sdk/telegram-command-config` | تطبيع اسم/وصف أمر Telegram وفحوصات التكرار/التعارض، حتى عند غياب سطح عقد Telegram المضمّن |
| `plugin-sdk/approval-runtime` | مساعدات موافقات exec/الإضافة، وبناة قدرات الموافقة، ومساعدات المصادقة/الملف الشخصي، ومساعدات التوجيه/وقت التشغيل الأصلية |
| `plugin-sdk/reply-runtime` | مساعدات مشتركة لوقت تشغيل الوارد/الرد، والتجزئة، والإرسال، والنبض، ومخطط الرد |
| `plugin-sdk/reply-dispatch-runtime` | مساعدات ضيقة لإرسال/إنهاء الرد |
| `plugin-sdk/reply-history` | مساعدات مشتركة لسجل الردود ذي النافذة القصيرة مثل `buildHistoryContext` و`recordPendingHistoryEntry` و`clearHistoryEntriesIfEnabled` |
| `plugin-sdk/plugin-runtime` | مساعدات مشتركة لأوامر/خطافات/HTTP/تفاعلية plugin |
| `plugin-sdk/hook-runtime` | مساعدات مشتركة لخط أنابيب webhook/الخطاف الداخلي |
| `plugin-sdk/lazy-runtime` | مساعدات الربط/الاستيراد الكسول لوقت التشغيل مثل `createLazyRuntimeModule`, `createLazyRuntimeMethod`, و `createLazyRuntimeSurface` |
| `plugin-sdk/process-runtime` | مساعدات تنفيذ العمليات |
| `plugin-sdk/cli-runtime` | مساعدات تنسيق CLI والانتظار والإصدار |
| `plugin-sdk/gateway-runtime` | مساعدات عميل البوابة وتصحيح حالة القناة |
| `plugin-sdk/config-runtime` | مساعدات تحميل/كتابة التهيئة |
| `plugin-sdk/telegram-command-config` | تطبيع اسم/وصف أوامر Telegram وفحوصات التكرار/التعارض، حتى عند عدم توفر سطح عقد Telegram المضمّن |
| `plugin-sdk/approval-runtime` | مساعدات اعتماد التنفيذ/الplugin، وبناة قدرات الاعتماد، ومساعدات المصادقة/الملف الشخصي، ومساعدات التوجيه الأصلي/وقت التشغيل |
| `plugin-sdk/reply-runtime` | مساعدات مشتركة لوقت تشغيل الإدخال/الرد، والتقسيم، والتوزيع، والنبض، ومخطط الرد |
| `plugin-sdk/reply-dispatch-runtime` | مساعدات ضيقة لتوزيع/إنهاء الرد |
| `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/routing` | مساعدات المسار/مفتاح الجلسة/ربط الحساب مثل `resolveAgentRoute` و`buildAgentSessionKey` و`resolveDefaultAgentBoundAccountId` |
| `plugin-sdk/status-helpers` | مساعدات مشتركة لملخص حالة القناة/الحساب، والقيم الافتراضية لحالة وقت التشغيل، ومساعدات بيانات تعريف المشكلات |
| `plugin-sdk/reply-chunking` | مساعدات ضيقة لتقسيم النص/Markdown |
| `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/string-normalization-runtime` | مساعدات تطبيع السلاسل/slug |
| `plugin-sdk/string-normalization-runtime` | مساعدات تطبيع slug/string |
| `plugin-sdk/request-url` | استخراج عناوين URL النصية من مدخلات شبيهة بـ fetch/request |
| `plugin-sdk/run-command` | مشغل أوامر مؤقت بنتائج stdout/stderr مطبعة |
| `plugin-sdk/param-readers` | قارئات معلمات شائعة للأدوات/CLI |
| `plugin-sdk/tool-send` | استخراج حقول هدف الإرسال القياسية من وسائط الأداة |
| `plugin-sdk/temp-path` | مساعدات مشتركة لمسار التنزيل المؤقت |
| `plugin-sdk/logging-core` | مساعدات المسجل الفرعي والتنقيح |
| `plugin-sdk/run-command` | مشغّل أوامر موقّت بنتائج stdout/stderr مطبّعة |
| `plugin-sdk/param-readers` | قارئات شائعة لمعاملات الأداة/CLI |
| `plugin-sdk/tool-send` | استخراج حقول هدف الإرسال القياسية من وسيطات الأداة |
| `plugin-sdk/temp-path` | مساعدات مشتركة لمسارات التنزيل المؤقت |
| `plugin-sdk/logging-core` | مسجّل النظام الفرعي ومساعدات إخفاء البيانات الحساسة |
| `plugin-sdk/markdown-table-runtime` | مساعدات أوضاع جداول Markdown |
| `plugin-sdk/json-store` | مساعدات صغيرة لقراءة/كتابة حالة JSON |
| `plugin-sdk/file-lock` | مساعدات إعادة الدخول لقفل الملفات |
| `plugin-sdk/persistent-dedupe` | مساعدات ذاكرة التخزين المؤقت لإزالة التكرار المدعومة بالقرص |
| `plugin-sdk/acp-runtime` | مساعدات ACP وقت التشغيل/الجلسة وإرسال الرد |
| `plugin-sdk/agent-config-primitives` | بدائيات ضيقة لمخطط تكوين وقت تشغيل الوكيل |
| `plugin-sdk/boolean-param` | قارئ معلمات منطقي مرن |
| `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` | مساعدات bootstrap للجهاز ورمز الإقران |
| `plugin-sdk/extension-shared` | بدائيات مشتركة لمساعدات القنوات السلبية، والحالة، والوكيل المحيط |
| `plugin-sdk/models-provider-runtime` | مساعدات أوامر `/models` / ردود الموفّر |
| `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/provider-zai-endpoint` | مساعدات اكتشاف نقطة نهاية Z.A.I |
| `plugin-sdk/native-command-registry` | مساعدات سجل الأوامر الأصلية/بنائه/تسلسله |
| `plugin-sdk/provider-zai-endpoint` | مساعدات اكتشاف نقاط نهاية Z.AI |
| `plugin-sdk/infra-runtime` | مساعدات أحداث النظام/النبض |
| `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/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/media-runtime` | مساعدات مشتركة لجلب/تحويل/تخزين الوسائط بالإضافة إلى بُناة حمولات الوسائط |
| `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` | أنواع توليد الموسيقى المشتركة، ومساعدات الفشل المتتابع، والبحث عن المزوّد، وتحليل model-ref |
| `plugin-sdk/video-generation` | أنواع مزوّد/طلب/نتيجة توليد الفيديو |
| `plugin-sdk/video-generation-core` | أنواع توليد الفيديو المشتركة، ومساعدات الفشل المتتابع، والبحث عن المزوّد، وتحليل model-ref |
| `plugin-sdk/webhook-targets` | سجل أهداف webhook ومساعدات تثبيت المسارات |
| `plugin-sdk/webhook-path` | مساعدات تطبيع مسار webhook |
| `plugin-sdk/web-media` | مساعدات مشتركة لتحميل الوسائط البعيدة/المحلية |
| `plugin-sdk/zod` | إعادة تصدير `zod` لمستهلكي Plugin SDK |
| `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-host-engine-foundation` | صادرات محرك الأساس لمضيف الذاكرة |
| `plugin-sdk/memory-core-host-engine-embeddings` | صادرات محرك 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` | سطح مساعد 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-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-events` | مساعدات سجل أحداث مضيف الذاكرة |
| `plugin-sdk/memory-core-host-status` | مساعدات حالة مضيف الذاكرة |
| `plugin-sdk/memory-core-host-runtime-cli` | مساعدات CLI وقت التشغيل لمضيف الذاكرة |
| `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` | مساعدات Markdown المُدار المشتركة للإضافات المجاورة للذاكرة |
| `plugin-sdk/memory-host-search` | واجهة وقت تشغيل الذاكرة النشطة للوصول إلى مدير البحث |
| `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` | مساعدات مشتركة لـ managed-markdown لـ plugins المجاورة للذاكرة |
| `plugin-sdk/memory-host-search` | واجهة وقت تشغيل الذاكرة النشطة للوصول إلى search-manager |
| `plugin-sdk/memory-host-status` | اسم بديل محايد تجاه المورّد لمساعدات حالة مضيف الذاكرة |
| `plugin-sdk/memory-lancedb` | سطح مساعد memory-lancedb المضمّن |
</Accordion>
<Accordion title="المسارات الفرعية المحجوزة للمساعدات المضمّنة">
| العائلة | المسارات الفرعية الحالية | الاستخدام المقصود |
| --- | --- | --- |
| المتصفح | `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` | مساعدات دعم إضافة المتصفح المضمّنة (`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-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` |
| 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` | مساعدات دعم bundled browser 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` | سطح المساعدة/وقت التشغيل الخاص بـ bundled Matrix |
| Line | `plugin-sdk/line`, `plugin-sdk/line-core`, `plugin-sdk/line-runtime`, `plugin-sdk/line-surface` | سطح المساعدة/وقت التشغيل الخاص بـ bundled LINE |
| IRC | `plugin-sdk/irc`, `plugin-sdk/irc-surface` | سطح المساعدة الخاص بـ bundled 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` |
</Accordion>
</AccordionGroup>
## API التسجيل
## واجهة برمجة تطبيقات التسجيل
يتلقى استدعاء `register(api)` كائن `OpenClawPluginApi` بهذه
يتلقى رد النداء `register(api)` كائن `OpenClawPluginApi` بهذه
الأساليب:
### تسجيل القدرات
| الأسلوب | ما الذي يسجله |
| الأسلوب | ما الذي يسجله |
| ------------------------------------------------ | -------------------------------- |
| `api.registerProvider(...)` | استدلال النص (LLM) |
| `api.registerCliBackend(...)` | واجهة خلفية محلية للاستدلال عبر CLI |
| `api.registerProvider(...)` | الاستدلال النصي (LLM) |
| `api.registerCliBackend(...)` | خلفية استدلال CLI محلية |
| `api.registerChannel(...)` | قناة مراسلة |
| `api.registerSpeechProvider(...)` | تحويل النص إلى كلام / توليف STT |
| `api.registerRealtimeTranscriptionProvider(...)` | نسخ فوري متدفق |
| `api.registerRealtimeVoiceProvider(...)` | جلسات صوت فورية ثنائية الاتجاه |
| `api.registerRealtimeVoiceProvider(...)` | جلسات صوت فوري ثنائية الاتجاه |
| `api.registerMediaUnderstandingProvider(...)` | تحليل الصور/الصوت/الفيديو |
| `api.registerImageGenerationProvider(...)` | توليد الصور |
| `api.registerMusicGenerationProvider(...)` | توليد الموسيقى |
| `api.registerVideoGenerationProvider(...)` | توليد الفيديو |
| `api.registerWebFetchProvider(...)` | موفّر Web fetch / scrape |
| `api.registerWebSearchProvider(...)` | البحث على الويب |
| `api.registerWebFetchProvider(...)` | مزوّد جلب / scraping للويب |
| `api.registerWebSearchProvider(...)` | بحث الويب |
### الأدوات والأوامر
| الأسلوب | ما الذي يسجله |
| الأسلوب | ما الذي يسجله |
| ------------------------------- | --------------------------------------------- |
| `api.registerTool(tool, opts?)` | أداة وكيل (مطلوبة أو `{ optional: true }`) |
| `api.registerTool(tool, opts?)` | أداة وكيل (إلزامية أو `{ optional: true }`) |
| `api.registerCommand(def)` | أمر مخصص (يتجاوز LLM) |
### البنية التحتية
| الأسلوب | ما الذي يسجله |
| الأسلوب | ما الذي يسجله |
| ---------------------------------------------- | --------------------------------------- |
| `api.registerHook(events, handler, opts?)` | خطاف حدث |
| `api.registerHttpRoute(params)` | نقطة نهاية HTTP للبوابة |
| `api.registerGatewayMethod(name, handler)` | أسلوب RPC للبوابة |
| `api.registerCli(registrar, opts?)` | أمر فرعي في CLI |
| `api.registerService(service)` | خدمة خلفية |
| `api.registerInteractiveHandler(registration)` | معالج تفاعلي |
| `api.registerMemoryPromptSupplement(builder)` | قسم إضافي للمطالبات المجاورة للذاكرة |
| `api.registerService(service)` | خدمة في الخلفية |
| `api.registerInteractiveHandler(registration)` | معالِج تفاعلي |
| `api.registerMemoryPromptSupplement(builder)` | قسم إضافي للمطالبة مجاور للذاكرة |
| `api.registerMemoryCorpusSupplement(adapter)` | corpus إضافي لبحث/قراءة الذاكرة |
تظل مساحات أسماء الإدارة الأساسية المحجوزة (`config.*` و`exec.approvals.*` و`wizard.*`،
و`update.*`) دائمًا `operator.admin`، حتى إذا حاولت إضافة تعيين
نطاق أضيق لأسلوب البوابة. فضّل البادئات الخاصة بالإضافة
للأساليب التي تملكها الإضافة.
تظل مساحات أسماء إدارة النواة المحجوزة (`config.*`, `exec.approvals.*`, `wizard.*`,
`update.*`) دائمًا `operator.admin`، حتى إذا حاول plugin تعيين
نطاق أضيق لأسلوب البوابة. فضّل البوادئ الخاصة بالplugin
للأساليب المملوكة للplugin.
### بيانات تعريف تسجيل CLI
يقبل `api.registerCli(registrar, opts?)` نوعين من بيانات التعريف في المستوى الأعلى:
يقبل `api.registerCli(registrar, opts?)` نوعين من البيانات التعريفية على المستوى الأعلى:
- `commands`: جذور أوامر صريحة يملكها المُسجِّل
- `descriptors`: واصفات أوامر وقت التحليل المستخدمة لمساعدة CLI الجذرية،
والتوجيه، وتسجيل CLI الكسول للإضافة
- `descriptors`: واصفات أوامر في وقت التحليل تُستخدم لمساعدة CLI الجذري،
والتوجيه، وتسجيل CLI الكسول للplugins
إذا كنت تريد أن يظل أمر الإضافة محمّلًا بكسل في المسار الجذري العادي لـ CLI،
فقدّم `descriptors` تغطي كل جذر أمر من المستوى الأعلى يكشفه ذلك
إذا أردت أن يبقى أمر plugin محمّلًا كسولًا في مسار CLI الجذري العادي،
فقدّم `descriptors` تغطي كل جذر أمر على المستوى الأعلى يكشفه ذلك
المُسجِّل.
```typescript
@ -368,7 +367,7 @@ api.registerCli(
descriptors: [
{
name: "matrix",
description: "إدارة حسابات Matrix، والتحقق، والأجهزة، وحالة الملف الشخصي",
description: "إدارة حسابات Matrix والتحقق والأجهزة وحالة الملف الشخصي",
hasSubcommands: true,
},
],
@ -377,133 +376,133 @@ api.registerCli(
```
استخدم `commands` وحده فقط عندما لا تحتاج إلى تسجيل CLI جذري كسول.
لا يزال هذا المسار التوافقي المتعجل مدعومًا، لكنه لا يثبت
عناصر نائبة مدعومة بالواصفات من أجل التحميل الكسول وقت التحليل.
لا يزال مسار التوافق المتحمّس هذا مدعومًا، لكنه لا يثبت
عناصر نائبة مدعومة بـ descriptor للتحميل الكسول في وقت التحليل.
### تسجيل الواجهة الخلفية لـ CLI
### تسجيل CLI backend
يتيح `api.registerCliBackend(...)` لإضافة أن تملك التكوين الافتراضي لواجهة خلفية
محلية لـ CLI للذكاء الاصطناعي مثل `codex-cli`.
يتيح `api.registerCliBackend(...)` لـ plugin امتلاك التهيئة الافتراضية لـ
خلفية CLI محلية للذكاء الاصطناعي مثل `codex-cli`.
- يصبح `id` الخاص بالواجهة الخلفية بادئة الموفّر في مراجع النماذج مثل `codex-cli/gpt-5`.
- يستخدم `config` الخاص بالواجهة الخلفية الشكل نفسه المستخدم في `agents.defaults.cliBackends.<id>`.
- يظل تكوين المستخدم هو الغالب. يدمج OpenClaw `agents.defaults.cliBackends.<id>` فوق
القيمة الافتراضية للإضافة قبل تشغيل CLI.
- استخدم `normalizeConfig` عندما تحتاج الواجهة الخلفية إلى إعادة كتابة توافقية بعد الدمج
(على سبيل المثال، تطبيع أشكال الأعلام القديمة).
- يصبح `id` الخاص بالخلفية هو بادئة المزوّد في مراجع النماذج مثل `codex-cli/gpt-5`.
- يستخدم `config` الخاص بالخلفية نفس البنية مثل `agents.defaults.cliBackends.<id>`.
- تهيئة المستخدم تبقى هي الغالبة. يدمج OpenClaw `agents.defaults.cliBackends.<id>` فوق
افتراضي plugin قبل تشغيل CLI.
- استخدم `normalizeConfig` عندما تحتاج الخلفية إلى إعادة كتابة توافقية بعد الدمج
(على سبيل المثال، تطبيع أشكال العلامات القديمة).
### الفتحات الحصرية
| الأسلوب | ما الذي يسجله |
| ------------------------------------------ | ------------------------------------- |
| `api.registerContextEngine(id, factory)` | محرك السياق (واحد نشط في كل مرة) |
| `api.registerMemoryCapability(capability)` | قدرة الذاكرة الموحدة |
| `api.registerMemoryPromptSection(builder)` | باني قسم مطالبة الذاكرة |
| `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)` | موائم تضمين ذاكرة للإضافة النشطة |
| `api.registerMemoryEmbeddingProvider(adapter)` | محوّل تضمين الذاكرة للplugin النشط |
- `registerMemoryCapability` هو API الإضافة الحصرية المفضلة الخاصة بذاكرة الذاكرة.
- يُعد `registerMemoryCapability` واجهة API الحصرية المفضلة لـ memory-plugin.
- قد يكشف `registerMemoryCapability` أيضًا `publicArtifacts.listArtifacts(...)`
بحيث تتمكن الإضافات المرافقة من استهلاك مصنوعات الذاكرة المصدّرة عبر
حتى تتمكن plugins المصاحبة من استهلاك العناصر المصدّرة الخاصة بالذاكرة عبر
`openclaw/plugin-sdk/memory-host-core` بدلًا من الوصول إلى التخطيط الخاص
لإضافة ذاكرة محددة.
- `registerMemoryPromptSection` و`registerMemoryFlushPlan` و
`registerMemoryRuntime` هي APIs حصرية متوافقة مع الإصدارات القديمة لإضافات الذاكرة.
- يتيح `registerMemoryEmbeddingProvider` لإضافة الذاكرة النشطة تسجيل
معرّف واحد أو أكثر لموائمات التضمين (مثل `openai` أو `gemini` أو معرّف
مخصص تعرّفه الإضافة).
- يُحل تكوين المستخدم مثل `agents.defaults.memorySearch.provider` و
`agents.defaults.memorySearch.fallback` مقابل معرّفات الموائمات المسجلة هذه.
لplugin ذاكرة محدد.
- تمثّل `registerMemoryPromptSection`, `registerMemoryFlushPlan`, و
`registerMemoryRuntime` واجهات API حصرية متوافقة مع الإصدارات القديمة لـ memory-plugin.
- يتيح `registerMemoryEmbeddingProvider` لـ plugin الذاكرة النشط تسجيل
معرّف محوّل تضمين واحد أو أكثر (على سبيل المثال `openai`, `gemini`، أو معرّف مخصص يعرّفه plugin).
- تُحل تهيئة المستخدم مثل `agents.defaults.memorySearch.provider` و
`agents.defaults.memorySearch.fallback` بالرجوع إلى معرّفات
المحوّلات المسجّلة هذه.
### الأحداث ودورة الحياة
| الأسلوب | ما الذي يفعله |
| الأسلوب | ما الذي يفعله |
| -------------------------------------------- | ----------------------------- |
| `api.on(hookName, handler, opts?)` | خطاف دورة حياة مطبّع |
| `api.onConversationBindingResolved(handler)` | استدعاء رد رابط المحادثة |
| `api.onConversationBindingResolved(handler)` | رد نداء ربط المحادثة |
### دلالات قرارات الخطافات
### دلالات قرار الخطاف
- `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` | معرّف الإضافة |
| `api.id` | `string` | معرّف plugin |
| `api.name` | `string` | اسم العرض |
| `api.version` | `string?` | إصدار الإضافة (اختياري) |
| `api.description` | `string?` | وصف الإضافة (اختياري) |
| `api.source` | `string` | مسار مصدر الإضافة |
| `api.rootDir` | `string?` | الدليل الجذري للإضافة (اختياري) |
| `api.config` | `OpenClawConfig` | لقطة التكوين الحالية (لقطة وقت التشغيل النشطة داخل الذاكرة عند توفرها) |
| `api.pluginConfig` | `Record<string, unknown>` | تكوين خاص بالإضافة من `plugins.entries.<id>.config` |
| `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.logger` | `PluginLogger` | مسجّل ضمن النطاق (`debug`, `info`, `warn`, `error`) |
| `api.registrationMode` | `PluginRegistrationMode` | وضع التحميل الحالي؛ `"setup-runtime"` هي نافذة بدء التشغيل/الإعداد الخفيفة قبل الإدخال الكامل |
| `api.resolvePath(input)` | `(string) => string` | حل المسار نسبةً إلى جذر الإضافة |
| `api.resolvePath(input)` | `(string) => string` | حل المسار نسبةً إلى جذر plugin |
## اصطلاح الوحدات الداخلية
داخل إضافتك، استخدم ملفات barrel محلية للاستيرادات الداخلية:
داخل plugin الخاص بك، استخدم ملفات barrel محلية للاستيرادات الداخلية:
```
my-plugin/
api.ts # الصادرات العامة للمستهلكين الخارجيين
runtime-api.ts # صادرات وقت تشغيل داخلية فقط
index.ts # نقطة إدخال الإضافة
setup-entry.ts # إدخال خفيف للإعداد فقط (اختياري)
api.ts # التصديرات العامة للمستهلكين الخارجيين
runtime-api.ts # تصديرات وقت تشغيل داخلية فقط
index.ts # نقطة إدخال plugin
setup-entry.ts # إدخال إعداد خفيف فقط (اختياري)
```
<Warning>
لا تستورد إضافتك الخاصة أبدًا من خلال `openclaw/plugin-sdk/<your-plugin>`
لا تستورد plugin الخاص بك أبدًا عبر `openclaw/plugin-sdk/<your-plugin>`
من كود الإنتاج. وجّه الاستيرادات الداخلية عبر `./api.ts` أو
`./runtime-api.ts`. مسار SDK هو العقد الخارجي فقط.
</Warning>
تفضّل الآن الأسطح العامة للإضافات المضمّنة المحمّلة عبر الواجهة (`api.ts` و`runtime-api.ts`،
و`index.ts` و`setup-entry.ts`، وملفات الإدخال العامة المشابهة)
لقطة تكوين وقت التشغيل النشطة عندما يكون OpenClaw قيد التشغيل بالفعل. وإذا لم تكن
لقطة وقت التشغيل موجودة بعد، فإنها ترجع إلى ملف التكوين المحلول على القرص.
تفضّل الآن الأسطح العامة لـ bundled plugin المحمّلة عبر الواجهة (`api.ts`, `runtime-api.ts`,
`index.ts`, `setup-entry.ts`، وملفات الإدخال العامة المشابهة)
لقطة تهيئة وقت التشغيل النشطة عندما يكون OpenClaw قيد التشغيل بالفعل. وإذا لم تكن لقطة
وقت التشغيل موجودة بعد، فإنها تعود إلى ملف التهيئة المحلول على القرص.
يمكن لإضافات الموفّرات أيضًا كشف ملف barrel محلي ضيق خاص بالإضافة عندما يكون
المساعد خاصًا بالموفّر عمدًا ولا ينتمي بعد إلى مسار فرعي عام في SDK.
المثال المضمّن الحالي: يحتفظ موفّر Anthropic بمساعدات بث Claude
الخاصة به في سطحه العام `api.ts` / `contract-api.ts` بدلًا من
ترقية منطق رؤوس Anthropic التجريبية و`service_tier` إلى عقد
عام من `plugin-sdk/*`.
يمكن لـ provider plugins أيضًا كشف barrel محلي ضيق لعقد plugin عندما تكون
المساعدة مخصصة عمدًا لمزوّد بعينه ولا تنتمي بعد إلى مسار فرعي عام في SDK.
المثال المضمّن الحالي: يحتفظ مزوّد Anthropic بمساعدات تدفق Claude
في واجهته العامة `api.ts` / `contract-api.ts` الخاصة به بدلًا من
ترقية منطق رؤوس Anthropic التجريبية و `service_tier` إلى عقد
عام في `plugin-sdk/*`.
أمثلة مضمّنة حالية أخرى:
- `@openclaw/openai-provider`: يصدّر `api.ts` بُناة الموفّر،
ومساعدات النموذج الافتراضي، وبناة الموفّر الفوري
- `@openclaw/openrouter-provider`: يصدّر `api.ts` باني الموفّر بالإضافة إلى
مساعدات الإعداد الأولي/التكوين
- `@openclaw/openai-provider`: يصدّر `api.ts` بُناة المزوّد،
ومساعدات النموذج الافتراضي، وبُناة المزوّد الفوري
- `@openclaw/openrouter-provider`: يصدّر `api.ts` باني المزوّد بالإضافة إلى
مساعدات الإعداد الأولي/التهيئة
<Warning>
يجب أيضًا على كود الإنتاج في الامتدادات تجنّب الاستيراد من `openclaw/plugin-sdk/<other-plugin>`.
إذا كان المساعد مشتركًا فعلًا، فقم بترقيته إلى مسار فرعي محايد في SDK
مثل `openclaw/plugin-sdk/speech` أو `.../provider-model-shared` أو سطح آخر
موجّه للقدرات بدلًا من ربط إضافتين معًا.
يجب على كود الإنتاج الخاص بالامتدادات أيضًا تجنب الاستيراد من `openclaw/plugin-sdk/<other-plugin>`.
إذا كانت إحدى المساعدات مشتركة فعلًا، فقم بترقيتها إلى مسار فرعي محايد في SDK
مثل `openclaw/plugin-sdk/speech`, `.../provider-model-shared`، أو سطح آخر
موجّه للقدرات بدلًا من ربط pluginين معًا.
</Warning>
## ذو صلة
- [نقاط الإدخال](/ar/plugins/sdk-entrypoints) — خيارات `definePluginEntry` و`defineChannelPluginEntry`
- [نقاط الإدخال](/ar/plugins/sdk-entrypoints) — خيارات `definePluginEntry` و `defineChannelPluginEntry`
- [مساعدات وقت التشغيل](/ar/plugins/sdk-runtime) — المرجع الكامل لمساحة الاسم `api.runtime`
- [الإعداد والتكوين](/ar/plugins/sdk-setup) — الحزم، وmanifestات، ومخططات التكوين
- [الإعداد والتهيئة](/ar/plugins/sdk-setup) — الحزم، وملفات manifest، ومخططات التهيئة
- [الاختبار](/ar/plugins/sdk-testing) — أدوات الاختبار وقواعد lint
- [ترحيل SDK](/ar/plugins/sdk-migration) — الترحيل من الأسطح القديمة المهملة
- [الداخلية الخاصة بالإضافات](/ar/plugins/architecture) — بنية عميقة ونموذج القدرات
- [ترحيل SDK](/ar/plugins/sdk-migration) — الترحيل من الأسطح المهجورة
- [بنية plugin الداخلية](/ar/plugins/architecture) — البنية العميقة ونموذج القدرات

View File

@ -2,37 +2,37 @@
read_when:
- تريد استخدام نماذج Google Gemini مع OpenClaw
- تحتاج إلى تدفق المصادقة بمفتاح API أو OAuth
summary: إعداد Google Gemini (مفتاح API وOAuth، وإنشاء الصور، وفهم الوسائط، والبحث على الويب)
summary: إعداد Google Gemini (مفتاح API + OAuth، توليد الصور، فهم الوسائط، البحث على الويب)
title: Google (Gemini)
x-i18n:
generated_at: "2026-04-08T02:17:12Z"
generated_at: "2026-04-08T07:16:29Z"
model: gpt-5.4
provider: openai
source_hash: e9e558f5ce35c853e0240350be9a1890460c5f7f7fd30b05813a656497dee516
source_hash: fad2ff68987301bd86145fa6e10de8c7b38d5bd5dbcd13db9c883f7f5b9a4e01
source_path: providers/google.md
workflow: 15
---
# Google (Gemini)
يوفر plugin Google إمكانية الوصول إلى نماذج Gemini عبر Google AI Studio، بالإضافة إلى
إنشاء الصور، وفهم الوسائط (الصور/الصوت/الفيديو)، والبحث على الويب عبر
يوفر مكون Google الإضافي الوصول إلى نماذج Gemini من خلال Google AI Studio، بالإضافة إلى
توليد الصور، وفهم الوسائط (الصور/الصوت/الفيديو)، والبحث على الويب عبر
Gemini Grounding.
- الموفر: `google`
- المزوّد: `google`
- المصادقة: `GEMINI_API_KEY` أو `GOOGLE_API_KEY`
- API: Google Gemini API
- موفر بديل: `google-gemini-cli` (OAuth)
- API: Google Gemini API
- المزوّد البديل: `google-gemini-cli` (OAuth)
## بداية سريعة
## البدء السريع
1. اضبط مفتاح API:
1. عيّن مفتاح API:
```bash
openclaw onboard --auth-choice gemini-api-key
```
2. اضبط نموذجًا افتراضيًا:
2. عيّن نموذجًا افتراضيًا:
```json5
{
@ -53,15 +53,15 @@ openclaw onboard --non-interactive \
--gemini-api-key "$GEMINI_API_KEY"
```
## OAuth (Gemini CLI)
## OAuth (Gemini CLI)
يستخدم موفر بديل باسم `google-gemini-cli` مصادقة PKCE OAuth بدلًا من مفتاح API.
هذا تكامل غير رسمي؛ وقد أبلغ بعض المستخدمين عن
يستخدم المزوّد البديل `google-gemini-cli` مصادقة PKCE OAuth بدلًا من مفتاح
API. هذا تكامل غير رسمي؛ وقد أبلغ بعض المستخدمين عن
قيود على الحساب. استخدمه على مسؤوليتك الخاصة.
- النموذج الافتراضي: `google-gemini-cli/gemini-3-flash-preview`
- الاسم المستعار: `gemini-cli`
- متطلب التثبيت المسبق: أن يكون Gemini CLI المحلي متاحًا باسم `gemini`
- متطلب التثبيت المسبق: توفر Gemini CLI محليًا باسم `gemini`
- Homebrew: `brew install gemini-cli`
- npm: `npm install -g @google/gemini-cli`
- تسجيل الدخول:
@ -75,48 +75,51 @@ openclaw models auth login --provider google-gemini-cli --set-default
- `OPENCLAW_GEMINI_OAUTH_CLIENT_ID`
- `OPENCLAW_GEMINI_OAUTH_CLIENT_SECRET`
(أو الصيغ `GEMINI_CLI_*`.)
(أو متغيرات `GEMINI_CLI_*`.)
إذا فشلت طلبات Gemini CLI OAuth بعد تسجيل الدخول، فاضبط
إذا فشلت طلبات Gemini CLI OAuth بعد تسجيل الدخول، فعيّن
`GOOGLE_CLOUD_PROJECT` أو `GOOGLE_CLOUD_PROJECT_ID` على مضيف البوابة ثم
أعد المحاولة.
إذا فشل تسجيل الدخول قبل بدء تدفق المتصفح، فتأكد من أن الأمر المحلي `gemini`
مثبّت وموجود على `PATH`. يدعم OpenClaw كلاً من عمليات التثبيت عبر Homebrew
وعمليات التثبيت العامة عبر npm، بما في ذلك تخطيطات Windows/npm الشائعة.
مثبّت وموجود في `PATH`. يدعم OpenClaw كلًا من تثبيتات Homebrew
وتثبيتات npm العامة، بما في ذلك تخطيطات Windows/npm الشائعة.
ملاحظات استخدام Gemini CLI JSON:
ملاحظات استخدام JSON في Gemini CLI:
- يأتي نص الرد من الحقل `response` في JSON الخاص بـ CLI.
- يعود الاستخدام إلى `stats` عندما يترك CLI الحقل `usage` فارغًا.
- تتم تسوية `stats.cached` إلى OpenClaw `cacheRead`.
- إذا كان `stats.input` مفقودًا، فإن OpenClaw يشتق رموز الإدخال من
- تتم تسوية `stats.cached` إلى `cacheRead` في OpenClaw.
- إذا كان `stats.input` مفقودًا، يشتق OpenClaw رموز الإدخال من
`stats.input_tokens - stats.cached`.
## الإمكانات
| الإمكانية | مدعومة |
| --------------------- | ---------------- |
| إكمالات الدردشة | نعم |
| إنشاء الصور | نعم |
| إنشاء الموسيقى | نعم |
| فهم الصور | نعم |
| نسخ الصوت | نعم |
| فهم الفيديو | نعم |
| البحث على الويب (Grounding) | نعم |
| الإمكانية | مدعومة |
| ---------------------- | ----------------- |
| إكمالات الدردشة | نعم |
| توليد الصور | نعم |
| توليد الموسيقى | نعم |
| فهم الصور | نعم |
| نسخ الصوت | نعم |
| فهم الفيديو | نعم |
| البحث على الويب (Grounding) | نعم |
| التفكير/الاستدلال | نعم (Gemini 3.1+) |
| نماذج Gemma 4 | نعم |
## إعادة استخدام ذاكرة Gemini المؤقتة المباشرة
تدعم نماذج Gemma 4 (على سبيل المثال `gemma-4-26b-a4b-it`) وضع التفكير. يعيد OpenClaw كتابة `thinkingBudget` إلى `thinkingLevel` مدعوم من Google لنماذج Gemma 4. يؤدي ضبط التفكير على `off` إلى إبقاء التفكير معطّلًا بدلًا من تعيينه إلى `MINIMAL`.
بالنسبة إلى التشغيلات المباشرة لـ Gemini API (`api: "google-generative-ai"`)، يقوم OpenClaw الآن
بتمرير معرّف `cachedContent` المهيأ إلى طلبات Gemini.
## إعادة استخدام ذاكرة التخزين المؤقت المباشرة لـ Gemini
- اضبط معلمات لكل نموذج أو معلمات عامة باستخدام
في عمليات تشغيل Gemini API المباشرة (`api: "google-generative-ai"`)، يقوم OpenClaw الآن
بتمرير معرّف `cachedContent` مُعدّ مسبقًا إلى طلبات Gemini.
- اضبط المعلمات لكل نموذج أو على مستوى عام باستخدام
`cachedContent` أو `cached_content` القديم
- إذا وُجد الاثنان، تكون الأولوية لـ `cachedContent`
- إذا كان كلاهما موجودًا، تكون الأولوية لـ `cachedContent`
- مثال على القيمة: `cachedContents/prebuilt-context`
- تتم تسوية استخدام إصابة الذاكرة المؤقتة في Gemini إلى OpenClaw `cacheRead` من
`cachedContentTokenCount` الصادر من الخدمة upstream
- تتم تسوية استخدام إصابة ذاكرة التخزين المؤقت في Gemini إلى `cacheRead` في OpenClaw من
`cachedContentTokenCount` في المصدر
مثال:
@ -136,21 +139,21 @@ openclaw models auth login --provider google-gemini-cli --set-default
}
```
## إنشاء الصور
## توليد الصور
يفترض موفر إنشاء الصور `google` المضمن افتراضيًا استخدام
يستخدم مزوّد توليد الصور `google` المضمّن افتراضيًا
`google/gemini-3.1-flash-image-preview`.
- يدعم أيضًا `google/gemini-3-pro-image-preview`
- الإنشاء: حتى 4 صور لكل طلب
- وضع التحرير: مفعّل، وحتى 5 صور إدخال
- عناصر التحكم الهندسية: `size` و`aspectRatio` و`resolution`
- التوليد: حتى 4 صور لكل طلب
- وضع التحرير: مفعّل، حتى 5 صور إدخال
- عناصر التحكم في الأبعاد: `size` و`aspectRatio` و`resolution`
يُعد الموفر `google-gemini-cli` المعتمد على OAuth فقط واجهة منفصلة
للاستدلال النصي. أما إنشاء الصور، وفهم الوسائط، وGemini Grounding فتبقى على
معرّف الموفر `google`.
يُعدّ المزوّد `google-gemini-cli` المعتمد على OAuth فقط سطحًا منفصلًا
لاستدلال النص. يظل توليد الصور، وفهم الوسائط، وGemini Grounding على
معرّف المزوّد `google`.
لاستخدام Google كموفر الصور الافتراضي:
لاستخدام Google كمزوّد الصور الافتراضي:
```json5
{
@ -164,20 +167,20 @@ openclaw models auth login --provider google-gemini-cli --set-default
}
```
راجع [إنشاء الصور](/ar/tools/image-generation) للتعرّف على
معلمات الأداة المشتركة، واختيار الموفر، وسلوك التبديل الاحتياطي.
راجع [توليد الصور](/ar/tools/image-generation) لمعلمات
الأداة المشتركة، واختيار المزوّد، وسلوك التبديل الاحتياطي.
## إنشاء الفيديو
## توليد الفيديو
يسجل plugin `google` المضمن أيضًا إنشاء الفيديو عبر الأداة المشتركة
`video_generate`.
يسجل مكون `google` الإضافي المضمّن أيضًا توليد الفيديو من خلال أداة
`video_generate` المشتركة.
- نموذج الفيديو الافتراضي: `google/veo-3.1-fast-generate-preview`
- الأوضاع: نص إلى فيديو، وصورة إلى فيديو، وتدفقات مرجعية لفيديو واحد
- يدعم `aspectRatio` و`resolution` و`audio`
- القيد الحالي للمدة: **من 4 إلى 8 ثوانٍ**
- التقييد الحالي للمدة: **من 4 إلى 8 ثوانٍ**
لاستخدام Google كموفر الفيديو الافتراضي:
لاستخدام Google كمزوّد الفيديو الافتراضي:
```json5
{
@ -191,22 +194,22 @@ openclaw models auth login --provider google-gemini-cli --set-default
}
```
راجع [إنشاء الفيديو](/ar/tools/video-generation) للتعرّف على
معلمات الأداة المشتركة، واختيار الموفر، وسلوك التبديل الاحتياطي.
راجع [توليد الفيديو](/ar/tools/video-generation) لمعلمات
الأداة المشتركة، واختيار المزوّد، وسلوك التبديل الاحتياطي.
## إنشاء الموسيقى
## توليد الموسيقى
يسجل plugin `google` المضمن أيضًا إنشاء الموسيقى عبر الأداة المشتركة
`music_generate`.
يسجل مكون `google` الإضافي المضمّن أيضًا توليد الموسيقى من خلال أداة
`music_generate` المشتركة.
- نموذج الموسيقى الافتراضي: `google/lyria-3-clip-preview`
- يدعم أيضًا `google/lyria-3-pro-preview`
- عناصر التحكم في الموجّه: `lyrics` و`instrumental`
- عناصر التحكم في المطالبة: `lyrics` و`instrumental`
- تنسيق الإخراج: `mp3` افتراضيًا، بالإضافة إلى `wav` على `google/lyria-3-pro-preview`
- المدخلات المرجعية: حتى 10 صور
- يتم فصل التشغيلات المدعومة بالجلسات عبر تدفق المهمة/الحالة المشترك، بما في ذلك `action: "status"`
- تُفصل عمليات التشغيل المدعومة بالجلسات عبر تدفق المهام/الحالة المشترك، بما في ذلك `action: "status"`
لاستخدام Google كموفر الموسيقى الافتراضي:
لاستخدام Google كمزوّد الموسيقى الافتراضي:
```json5
{
@ -220,11 +223,11 @@ openclaw models auth login --provider google-gemini-cli --set-default
}
```
راجع [إنشاء الموسيقى](/ar/tools/music-generation) للتعرّف على
معلمات الأداة المشتركة، واختيار الموفر، وسلوك التبديل الاحتياطي.
راجع [توليد الموسيقى](/ar/tools/music-generation) لمعلمات
الأداة المشتركة، واختيار المزوّد، وسلوك التبديل الاحتياطي.
## ملاحظة البيئة
## ملاحظة حول البيئة
إذا كانت البوابة تعمل كخدمة خلفية (launchd/systemd)، فتأكد من أن `GEMINI_API_KEY`
إذا كانت البوابة تعمل كخدمة daemon (`launchd/systemd`)، فتأكد من أن `GEMINI_API_KEY`
متاح لتلك العملية (على سبيل المثال، في `~/.openclaw/.env` أو عبر
`env.shellEnv`).

View File

@ -1,45 +1,45 @@
---
read_when:
- تريد تشغيل OpenClaw مع نماذج سحابية أو محلية عبر Ollama
- تحتاج إلى إرشادات إعداد وتكوين Ollama
summary: تشغيل OpenClaw مع Ollama (النماذج السحابية والمحلية)
- تحتاج إلى إرشادات إعداد Ollama وتهيئته
summary: شغّل OpenClaw مع Ollama (النماذج السحابية والمحلية)
title: Ollama
x-i18n:
generated_at: "2026-04-08T02:19:04Z"
generated_at: "2026-04-08T07:16:47Z"
model: gpt-5.4
provider: openai
source_hash: 222ec68f7d4bb29cc7796559ddef1d5059f5159e7a51e2baa3a271ddb3abb716
source_hash: d3295a7c879d3636a2ffdec05aea6e670e54a990ef52bd9b0cae253bc24aa3f7
source_path: providers/ollama.md
workflow: 15
---
# Ollama
Ollama هو بيئة تشغيل محلية لـ LLM تجعل من السهل تشغيل النماذج مفتوحة المصدر على جهازك. يتكامل OpenClaw مع API الأصلي لـ Ollama (`/api/chat`)، ويدعم البث واستدعاء الأدوات، ويمكنه اكتشاف نماذج Ollama المحلية تلقائيًا عندما تختار ذلك عبر `OLLAMA_API_KEY` (أو ملف تعريف مصادقة) ولا تعرّف إدخال `models.providers.ollama` صريحًا.
Ollama هو بيئة تشغيل محلية لنماذج LLM تجعل من السهل تشغيل النماذج مفتوحة المصدر على جهازك. يتكامل OpenClaw مع واجهة Ollama API الأصلية (`/api/chat`)، ويدعم البث واستدعاء الأدوات، ويمكنه الاكتشاف التلقائي لنماذج Ollama المحلية عند تفعيل ذلك باستخدام `OLLAMA_API_KEY` (أو ملف تعريف مصادقة) وعدم تعريف إدخال صريح لـ `models.providers.ollama`.
<Warning>
**مستخدمو Ollama البعيد**: لا تستخدم عنوان URL المتوافق مع OpenAI الخاص بـ `/v1` (`http://host:11434/v1`) مع OpenClaw. فهذا يعطّل استدعاء الأدوات وقد تُخرج النماذج JSON الأدوات الخام كنص عادي. استخدم بدلًا من ذلك عنوان URL الخاص بـ API الأصلي لـ Ollama: `baseUrl: "http://host:11434"` (من دون `/v1`).
**مستخدمو Ollama البعيد**: لا تستخدم عنوان URL المتوافق مع OpenAI عبر `/v1` (`http://host:11434/v1`) مع OpenClaw. فهذا يعطل استدعاء الأدوات وقد تُخرج النماذج JSON الخام الخاص بالأدوات كنص عادي. استخدم بدلًا من ذلك عنوان URL الخاص بواجهة Ollama API الأصلية: `baseUrl: "http://host:11434"` (من دون `/v1`).
</Warning>
## البدء السريع
### الإعداد الأولي (مستحسن)
### الإعداد الأولي (موصى به)
أسرع طريقة لإعداد Ollama هي عبر الإعداد الأولي:
أسرع طريقة لإعداد Ollama هي من خلال الإعداد الأولي:
```bash
openclaw onboard
```
اختر **Ollama** من قائمة الموفّرين. سيقوم الإعداد الأولي بما يلي:
اختر **Ollama** من قائمة موفري الخدمة. سيقوم الإعداد الأولي بما يلي:
1. سيسألك عن عنوان URL الأساسي لـ Ollama الذي يمكن الوصول إلى المثيل من خلاله (الافتراضي `http://127.0.0.1:11434`).
2. يتيح لك اختيار **Cloud + Local** (نماذج سحابية ونماذج محلية) أو **Local** (نماذج محلية فقط).
1. سيسأل عن عنوان URL الأساسي لـ Ollama الذي يمكن الوصول إلى مثيلك من خلاله (الافتراضي هو `http://127.0.0.1:11434`).
2. يتيح لك اختيار **Cloud + Local** (نماذج سحابية ومحلية) أو **Local** (نماذج محلية فقط).
3. يفتح تدفق تسجيل دخول عبر المتصفح إذا اخترت **Cloud + Local** ولم تكن قد سجلت الدخول إلى ollama.com.
4. يكتشف النماذج المتاحة ويقترح الإعدادات الافتراضية.
4. يكتشف النماذج المتاحة ويقترح إعدادات افتراضية.
5. يسحب النموذج المحدد تلقائيًا إذا لم يكن متاحًا محليًا.
الوضع غير التفاعلي مدعوم أيضًا:
كما أن الوضع غير التفاعلي مدعوم أيضًا:
```bash
openclaw onboard --non-interactive \
@ -47,7 +47,7 @@ openclaw onboard --non-interactive \
--accept-risk
```
يمكنك اختياريًا تحديد عنوان URL أساسي مخصص أو نموذج مخصص:
يمكنك اختياريًا تحديد عنوان URL أساسي مخصص أو نموذج:
```bash
openclaw onboard --non-interactive \
@ -85,20 +85,20 @@ openclaw onboard
- `Local`: نماذج محلية فقط
- `Cloud + Local`: نماذج محلية بالإضافة إلى نماذج سحابية
- النماذج السحابية مثل `kimi-k2.5:cloud` و`minimax-m2.7:cloud` و`glm-5.1:cloud` لا **تتطلب** `ollama pull` محليًا
- النماذج السحابية مثل `kimi-k2.5:cloud` و`minimax-m2.7:cloud` و`glm-5.1:cloud` لا تتطلب `ollama pull` محليًا
يقترح OpenClaw حاليًا:
يقترح OpenClaw حاليًا ما يلي:
- الافتراضي المحلي: `gemma4`
- الإعدادات الافتراضية السحابية: `kimi-k2.5:cloud` و`minimax-m2.7:cloud` و`glm-5.1:cloud`
5. إذا كنت تفضّل الإعداد اليدوي، فقم بتمكين Ollama مباشرة لـ OpenClaw (أي قيمة تعمل؛ لا يتطلب Ollama مفتاحًا حقيقيًا):
5. إذا كنت تفضّل الإعداد اليدوي، ففعّل Ollama لـ OpenClaw مباشرةً (أي قيمة تعمل؛ إذ لا يتطلب Ollama مفتاحًا حقيقيًا):
```bash
# تعيين متغير البيئة
export OLLAMA_API_KEY="ollama-local"
# أو التكوين في ملف التكوين
# أو التهيئة في ملف الإعداد
openclaw config set models.providers.ollama.apiKey "ollama-local"
```
@ -109,7 +109,7 @@ openclaw models list
openclaw models set ollama/gemma4
```
7. أو عيّن الإعداد الافتراضي في التكوين:
7. أو عيّن الافتراضي في الإعداد:
```json5
{
@ -121,17 +121,18 @@ openclaw models set ollama/gemma4
}
```
## اكتشاف النماذج (الموفّر الضمني)
## اكتشاف النماذج (موفر ضمني)
عندما تعيّن `OLLAMA_API_KEY` (أو ملف تعريف مصادقة) و**لا** تعرّف `models.providers.ollama`، يكتشف OpenClaw النماذج من مثيل Ollama المحلي على `http://127.0.0.1:11434`:
عند تعيين `OLLAMA_API_KEY` (أو ملف تعريف مصادقة) و**عدم** تعريف `models.providers.ollama`، يكتشف OpenClaw النماذج من مثيل Ollama المحلي على `http://127.0.0.1:11434`:
- يستعلم عن `/api/tags`
- يستخدم عمليات بحث `/api/show` بأفضل جهد لقراءة `contextWindow` عند توفره
- يضع علامة `reasoning` باستخدام استدلال يعتمد على اسم النموذج (`r1` أو `reasoning` أو `think`)
- يضبط `maxTokens` على الحد الأقصى الافتراضي للرموز في Ollama المستخدم من قبل OpenClaw
- يستخدم عمليات بحث `/api/show` بأفضل جهد لقراءة `contextWindow` واكتشاف القدرات (بما في ذلك الرؤية) عند توفرها
- تُعلَّم النماذج التي تُبلغ عن قدرة `vision` عبر `/api/show` على أنها قادرة على التعامل مع الصور (`input: ["text", "image"]`)، لذلك يحقن OpenClaw الصور تلقائيًا في الموجّه لهذه النماذج
- يعلّم `reasoning` باستخدام استدلال يعتمد على اسم النموذج (`r1` و`reasoning` و`think`)
- يضبط `maxTokens` على الحد الأقصى الافتراضي للرموز في Ollama الذي يستخدمه OpenClaw
- يضبط جميع التكاليف على `0`
يؤدي ذلك إلى تجنب إدخالات النماذج اليدوية مع إبقاء الكتالوج متوافقًا مع مثيل Ollama المحلي.
يؤدي ذلك إلى تجنّب الإدخالات اليدوية للنماذج مع إبقاء الفهرس متوافقًا مع مثيل Ollama المحلي.
لمعرفة النماذج المتاحة:
@ -140,31 +141,31 @@ ollama list
openclaw models list
```
لإضافة نموذج جديد، ما عليك سوى سحبه عبر Ollama:
لإضافة نموذج جديد، ما عليك سوى سحبه باستخدام Ollama:
```bash
ollama pull mistral
```
سيتم اكتشاف النموذج الجديد تلقائيًا وسيصبح متاحًا للاستخدام.
سيُكتشف النموذج الجديد تلقائيًا ويصبح متاحًا للاستخدام.
إذا عيّنت `models.providers.ollama` صراحة، فسيتم تخطي الاكتشاف التلقائي، ويجب عليك تعريف النماذج يدويًا (انظر أدناه).
إذا عيّنت `models.providers.ollama` صراحةً، فسيتم تخطي الاكتشاف التلقائي ويجب عليك تعريف النماذج يدويًا (انظر أدناه).
## التكوين
## التهيئة
### إعداد أساسي (اكتشاف ضمني)
### الإعداد الأساسي (اكتشاف ضمني)
أبسط طريقة لتمكين Ollama هي عبر متغير البيئة:
أبسط طريقة لتمكين Ollama هي عبر متغير بيئة:
```bash
export OLLAMA_API_KEY="ollama-local"
```
### إعداد صريح (نماذج يدوية)
### الإعداد الصريح (نماذج يدوية)
استخدم التكوين الصريح عندما:
استخدم التهيئة الصريحة عندما:
- يعمل Ollama على مضيف/منفذ آخر.
- يكون Ollama يعمل على مضيف أو منفذ آخر.
- تريد فرض نوافذ سياق أو قوائم نماذج محددة.
- تريد تعريفات نماذج يدوية بالكامل.
@ -193,11 +194,11 @@ export OLLAMA_API_KEY="ollama-local"
}
```
إذا كان `OLLAMA_API_KEY` معيّنًا، فيمكنك حذف `apiKey` من إدخال الموفّر وسيقوم OpenClaw بملئه من أجل فحوصات التوفر.
إذا كان `OLLAMA_API_KEY` معينًا، يمكنك حذف `apiKey` من إدخال الموفر وسيقوم OpenClaw بملئه لعمليات التحقق من التوفر.
### عنوان URL أساسي مخصص (تكوين صريح)
### عنوان URL أساسي مخصص (تهيئة صريحة)
إذا كان Ollama يعمل على مضيف أو منفذ مختلفين (يعطّل التكوين الصريح الاكتشاف التلقائي، لذا عرّف النماذج يدويًا):
إذا كان Ollama يعمل على مضيف أو منفذ مختلف (تعطّل التهيئة الصريحة الاكتشاف التلقائي، لذا عرّف النماذج يدويًا):
```json5
{
@ -205,8 +206,8 @@ export OLLAMA_API_KEY="ollama-local"
providers: {
ollama: {
apiKey: "ollama-local",
baseUrl: "http://ollama-host:11434", // بدون /v1 - استخدم عنوان URL الخاص بـ API الأصلي لـ Ollama
api: "ollama", // عيّنه صراحة لضمان سلوك استدعاء الأدوات الأصلي
baseUrl: "http://ollama-host:11434", // بدون /v1 - استخدم عنوان URL الأصلي لواجهة Ollama API
api: "ollama", // عيّنه صراحةً لضمان سلوك استدعاء الأدوات الأصلي
},
},
},
@ -214,12 +215,12 @@ export OLLAMA_API_KEY="ollama-local"
```
<Warning>
لا تضف `/v1` إلى عنوان URL. يستخدم المسار `/v1` الوضع المتوافق مع OpenAI، حيث لا يكون استدعاء الأدوات موثوقًا. استخدم عنوان URL الأساسي لـ Ollama من دون لاحقة مسار.
لا تضف `/v1` إلى عنوان URL. يستخدم المسار `/v1` وضع التوافق مع OpenAI، حيث لا يكون استدعاء الأدوات موثوقًا. استخدم عنوان URL الأساسي لـ Ollama من دون لاحقة مسار.
</Warning>
### اختيار النموذج
بمجرد التكوين، ستكون جميع نماذج Ollama الخاصة بك متاحة:
بعد اكتمال التهيئة، تصبح جميع نماذج Ollama الخاصة بك متاحة:
```json5
{
@ -236,21 +237,19 @@ export OLLAMA_API_KEY="ollama-local"
## النماذج السحابية
تتيح لك النماذج السحابية تشغيل نماذج مستضافة سحابيًا (على سبيل المثال `kimi-k2.5:cloud` و`minimax-m2.7:cloud` و`glm-5.1:cloud`) إلى جانب نماذجك المحلية.
تتيح لك النماذج السحابية تشغيل النماذج المستضافة سحابيًا (مثل `kimi-k2.5:cloud` و`minimax-m2.7:cloud` و`glm-5.1:cloud`) إلى جانب نماذجك المحلية.
لاستخدام النماذج السحابية، اختر وضع **Cloud + Local** أثناء الإعداد. يتحقق المعالج مما إذا كنت قد سجلت الدخول ويفتح تدفق تسجيل دخول عبر المتصفح عند الحاجة. إذا تعذر التحقق من المصادقة، فسيعود المعالج إلى الإعدادات الافتراضية للنماذج المحلية.
لاستخدام النماذج السحابية، اختر وضع **Cloud + Local** أثناء الإعداد. يتحقق المعالج مما إذا كنت قد سجلت الدخول ويفتح تدفق تسجيل دخول عبر المتصفح عند الحاجة. إذا تعذر التحقق من المصادقة، يعود المعالج إلى الإعدادات الافتراضية للنماذج المحلية.
يمكنك أيضًا تسجيل الدخول مباشرة على [ollama.com/signin](https://ollama.com/signin).
يمكنك أيضًا تسجيل الدخول مباشرةً على [ollama.com/signin](https://ollama.com/signin).
## Ollama Web Search
يدعم OpenClaw أيضًا **Ollama Web Search** كموفّر
`web_search` مضمّن.
يدعم OpenClaw أيضًا **Ollama Web Search** كموفر `web_search` مضمّن.
- يستخدم مضيف Ollama المهيأ لديك (`models.providers.ollama.baseUrl` عند
تعيينه، وإلا `http://127.0.0.1:11434`).
- لا يحتاج إلى مفتاح.
- يتطلب أن يكون Ollama قيد التشغيل وأن تكون قد سجلت الدخول عبر `ollama signin`.
- يستخدم مضيف Ollama المهيأ لديك (`models.providers.ollama.baseUrl` عند تعيينه، وإلا `http://127.0.0.1:11434`).
- لا يتطلب مفتاحًا.
- يتطلب أن يكون Ollama قيد التشغيل وأن تكون قد سجلت الدخول باستخدام `ollama signin`.
اختر **Ollama Web Search** أثناء `openclaw onboard` أو
`openclaw configure --section web`، أو عيّن:
@ -267,13 +266,13 @@ export OLLAMA_API_KEY="ollama-local"
}
```
للحصول على تفاصيل الإعداد والسلوك الكاملة، راجع [Ollama Web Search](/ar/tools/ollama-search).
للحصول على تفاصيل الإعداد والسلوك كاملة، راجع [Ollama Web Search](/ar/tools/ollama-search).
## متقدم
### نماذج الاستدلال
يعامل OpenClaw النماذج ذات الأسماء مثل `deepseek-r1` أو `reasoning` أو `think` على أنها قادرة على الاستدلال افتراضيًا:
يتعامل OpenClaw مع النماذج ذات الأسماء مثل `deepseek-r1` أو `reasoning` أو `think` على أنها قادرة على الاستدلال افتراضيًا:
```bash
ollama pull deepseek-r1:32b
@ -283,17 +282,17 @@ ollama pull deepseek-r1:32b
Ollama مجاني ويعمل محليًا، لذا يتم تعيين جميع تكاليف النماذج إلى $0.
### تكوين البث
### تهيئة البث
يستخدم تكامل OpenClaw مع Ollama **API الأصلي لـ Ollama** (`/api/chat`) افتراضيًا، وهو يدعم بالكامل البث واستدعاء الأدوات في الوقت نفسه. لا يلزم أي تكوين خاص.
يستخدم تكامل OpenClaw مع Ollama **واجهة Ollama API الأصلية** (`/api/chat`) افتراضيًا، وهي تدعم بالكامل البث واستدعاء الأدوات في الوقت نفسه. لا حاجة إلى أي تهيئة خاصة.
#### الوضع القديم المتوافق مع OpenAI
#### وضع التوافق القديم مع OpenAI
<Warning>
**استدعاء الأدوات ليس موثوقًا في الوضع المتوافق مع OpenAI.** استخدم هذا الوضع فقط إذا كنت بحاجة إلى تنسيق OpenAI من أجل وكيل ولا تعتمد على سلوك استدعاء الأدوات الأصلي.
**استدعاء الأدوات غير موثوق في وضع التوافق مع OpenAI.** استخدم هذا الوضع فقط إذا كنت بحاجة إلى تنسيق OpenAI لوكيل وسيط ولا تعتمد على سلوك استدعاء الأدوات الأصلي.
</Warning>
إذا كنت بحاجة إلى استخدام نقطة النهاية المتوافقة مع OpenAI بدلًا من ذلك (مثلًا خلف وكيل لا يدعم إلا تنسيق OpenAI)، فعيّن `api: "openai-completions"` صراحة:
إذا كنت تحتاج إلى استخدام نقطة النهاية المتوافقة مع OpenAI بدلًا من ذلك (على سبيل المثال، خلف وكيل وسيط لا يدعم سوى تنسيق OpenAI)، فعيّن `api: "openai-completions"` صراحةً:
```json5
{
@ -311,9 +310,9 @@ Ollama مجاني ويعمل محليًا، لذا يتم تعيين جميع ت
}
```
قد لا يدعم هذا الوضع البث + استدعاء الأدوات في الوقت نفسه. قد تحتاج إلى تعطيل البث باستخدام `params: { streaming: false }` في تكوين النموذج.
قد لا يدعم هذا الوضع البث + استدعاء الأدوات في الوقت نفسه. قد تحتاج إلى تعطيل البث باستخدام `params: { streaming: false }` في تهيئة النموذج.
عند استخدام `api: "openai-completions"` مع Ollama، يحقن OpenClaw القيمة `options.num_ctx` افتراضيًا حتى لا يعود Ollama بصمت إلى نافذة سياق قدرها 4096. إذا كان وكيلك/خادمك الصاعد يرفض حقول `options` غير المعروفة، فعطّل هذا السلوك:
عند استخدام `api: "openai-completions"` مع Ollama، يحقن OpenClaw `options.num_ctx` افتراضيًا حتى لا يعود Ollama بصمت إلى نافذة سياق قدرها 4096. إذا كان الوكيل الوسيط/الجهة العليا يرفض حقول `options` غير المعروفة، فعطّل هذا السلوك:
```json5
{
@ -333,7 +332,7 @@ Ollama مجاني ويعمل محليًا، لذا يتم تعيين جميع ت
### نوافذ السياق
بالنسبة إلى النماذج المكتشفة تلقائيًا، يستخدم OpenClaw نافذة السياق التي يبلغ عنها Ollama عند توفرها، وإلا فإنه يعود إلى نافذة سياق Ollama الافتراضية المستخدمة من قبل OpenClaw. يمكنك تجاوز `contextWindow` و`maxTokens` في تكوين الموفّر الصريح.
بالنسبة إلى النماذج المكتشفة تلقائيًا، يستخدم OpenClaw نافذة السياق التي يبلغ عنها Ollama عند توفرها، وإلا فإنه يعود إلى نافذة سياق Ollama الافتراضية التي يستخدمها OpenClaw. يمكنك تجاوز `contextWindow` و`maxTokens` في تهيئة الموفر الصريحة.
## استكشاف الأخطاء وإصلاحها
@ -345,7 +344,7 @@ Ollama مجاني ويعمل محليًا، لذا يتم تعيين جميع ت
ollama serve
```
وتأكد من أن API يمكن الوصول إليه:
وتأكد من أن واجهة API قابلة للوصول:
```bash
curl http://localhost:11434/api/tags
@ -353,15 +352,15 @@ curl http://localhost:11434/api/tags
### لا توجد نماذج متاحة
إذا لم يكن نموذجك مدرجًا، فإما أن:
إذا لم يكن نموذجك مدرجًا، فإما:
- تسحب النموذج محليًا، أو
- تعرّف النموذج صراحة في `models.providers.ollama`.
- اسحب النموذج محليًا، أو
- عرّف النموذج صراحةً في `models.providers.ollama`.
لإضافة نماذج:
```bash
ollama list # اعرض ما هو مثبّت
ollama list # اعرض ما هو مثبت
ollama pull gemma4
ollama pull gpt-oss:20b
ollama pull llama3.3 # أو نموذج آخر
@ -381,6 +380,6 @@ ollama serve
## راجع أيضًا
- [موفّرات النماذج](/ar/concepts/model-providers) - نظرة عامة على جميع الموفّرين
- [موفرو النماذج](/ar/concepts/model-providers) - نظرة عامة على جميع الموفّرين
- [اختيار النموذج](/ar/concepts/models) - كيفية اختيار النماذج
- [التكوين](/ar/gateway/configuration) - المرجع الكامل للتكوين
- [التهيئة](/ar/gateway/configuration) - المرجع الكامل للتهيئة