chore(i18n): refresh ar translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-04-13 07:32:49 +00:00
parent 48af89534a
commit a08831cae3
7 changed files with 1206 additions and 948 deletions

View File

@ -1,14 +1,14 @@
---
read_when:
- أنت بحاجة إلى مرجع لإعداد النماذج لكل موفّر على حدة
- أنت تريد إعدادات تهيئة نموذجية أو أوامر تهيئة عبر CLI لموفّري النماذج
summary: نظرة عامة على موفّر النماذج مع إعدادات تهيئة نموذجية + تدفقات CLI
- تحتاج إلى مرجع لإعداد النماذج لكل موفّر على حدة
- تريد أمثلة على الإعدادات أو أوامر الإعداد عبر CLI لموفّري النماذج
summary: نظرة عامة على موفّر النموذج مع أمثلة على الإعدادات وتدفّقات CLI
title: موفّرو النماذج
x-i18n:
generated_at: "2026-04-11T02:44:25Z"
generated_at: "2026-04-13T07:28:50Z"
model: gpt-5.4
provider: openai
source_hash: 910ea7895e74c03910757d9d3e02825754b779b204eca7275b28422647ed0151
source_hash: 66ba688c4b4366eec07667571e835d4cfeee684896e2ffae11d601b5fa0a4b98
source_path: concepts/model-providers.md
workflow: 15
---
@ -16,270 +16,262 @@ x-i18n:
# موفّرو النماذج
تغطي هذه الصفحة **موفّري LLM/النماذج** (وليس قنوات الدردشة مثل WhatsApp/Telegram).
للاطلاع على قواعد اختيار النموذج، راجع [/concepts/models](/ar/concepts/models).
للاطلاع على قواعد اختيار النماذج، راجع [/concepts/models](/ar/concepts/models).
## القواعد السريعة
- تستخدم مراجع النماذج الصيغة `provider/model` (مثال: `opencode/claude-opus-4-6`).
- إذا قمت بتعيين `agents.defaults.models`، فسيصبح قائمة السماح.
- أدوات CLI المساعدة: `openclaw onboard` و`openclaw models list` و`openclaw models set <provider/model>`.
- قواعد وقت التشغيل الاحتياطية، وفحوصات التهدئة، واستمرارية تجاوزات الجلسة
- إذا قمت بتعيين `agents.defaults.models`، فستصبح قائمة السماح.
- مساعدات CLI: `openclaw onboard` و `openclaw models list` و `openclaw models set <provider/model>`.
- قواعد التشغيل الاحتياطي في وقت التشغيل، وفحوصات فترة التهدئة، واستمرارية تجاوزات الجلسات
موثقة في [/concepts/model-failover](/ar/concepts/model-failover).
- `models.providers.*.models[].contextWindow` هي بيانات تعريف النموذج الأصلية؛
و`models.providers.*.models[].contextTokens` هو الحد الفعلي في وقت التشغيل.
- يمكن لإضافات الموفّرين حقن فهارس النماذج عبر `registerProvider({ catalog })`؛
- يمثّل `models.providers.*.models[].contextWindow` بيانات تعريف النموذج الأصلية؛
بينما يمثّل `models.providers.*.models[].contextTokens` الحد الفعّال في وقت التشغيل.
- يمكن لإضافات الموفّر حقن فهارس النماذج عبر `registerProvider({ catalog })`؛
ويقوم OpenClaw بدمج هذا الناتج في `models.providers` قبل كتابة
`models.json`.
- يمكن لبيانات تعريف الموفّر التصريحية إعلان `providerAuthEnvVars` و
`providerAuthAliases` بحيث لا تحتاج فحوصات المصادقة العامة المعتمدة على
متغيرات البيئة ومتغيرات الموفّر إلى تحميل وقت تشغيل الإضافة. وأصبحت خريطة
متغيرات البيئة الأساسية المتبقية الآن مخصصة فقط للموفّرين غير القائمين على
الإضافات/الأساسيين وبعض حالات الأولوية العامة القليلة مثل إعداد Anthropic
الذي يفضّل مفتاح API أولًا.
- يمكن لإضافات الموفّرين أيضًا امتلاك سلوك وقت تشغيل الموفّر عبر
`normalizeModelId` و`normalizeTransport` و`normalizeConfig` و
`applyNativeStreamingUsageCompat` و`resolveConfigApiKey` و
`resolveSyntheticAuth` و`shouldDeferSyntheticProfileAuth` و
`resolveDynamicModel` و`prepareDynamicModel` و
`normalizeResolvedModel` و`contributeResolvedModelCompat` و
`capabilities` و`normalizeToolSchemas` و
`inspectToolSchemas` و`resolveReasoningOutputMode` و
`prepareExtraParams` و`createStreamFn` و`wrapStreamFn` و
`resolveTransportTurnState` و`resolveWebSocketSessionPolicy` و
`createEmbeddingProvider` و`formatApiKey` و`refreshOAuth` و
`buildAuthDoctorHint` و
`matchesContextOverflowError` و`classifyFailoverReason` و
`isCacheTtlEligible` و`buildMissingAuthMessage` و`suppressBuiltInModel` و
`augmentModelCatalog` و`isBinaryThinking` و`supportsXHighThinking` و
`resolveDefaultThinkingLevel` و`applyConfigDefaults` و`isModernModelRef` و
`prepareRuntimeAuth` و`resolveUsageAuth` و`fetchUsageSnapshot` و
- يمكن لبيانات تعريف الموفّر التصريحية الإعلان عن `providerAuthEnvVars` و
`providerAuthAliases` بحيث لا تحتاج فحوصات المصادقة العامة المعتمدة على المتغيرات البيئية ومتغيرات الموفّر
إلى تحميل وقت تشغيل الإضافة. أصبحت خريطة متغيرات البيئة الأساسية المتبقية الآن
مخصّصة فقط للموفّرين غير المعتمدين على الإضافات/الأساسيين وبعض حالات الأسبقية العامة
مثل إعداد Anthropic الذي يعطي أولوية لمفتاح API.
- يمكن لإضافات الموفّر أيضًا امتلاك سلوك وقت تشغيل الموفّر عبر
`normalizeModelId` و `normalizeTransport` و `normalizeConfig`،
و `applyNativeStreamingUsageCompat` و `resolveConfigApiKey`،
و `resolveSyntheticAuth` و `shouldDeferSyntheticProfileAuth`،
و `resolveDynamicModel` و `prepareDynamicModel`،
و `normalizeResolvedModel` و `contributeResolvedModelCompat`،
و `capabilities` و `normalizeToolSchemas`،
و `inspectToolSchemas` و `resolveReasoningOutputMode`،
و `prepareExtraParams` و `createStreamFn` و `wrapStreamFn`،
و `resolveTransportTurnState` و `resolveWebSocketSessionPolicy`،
و `createEmbeddingProvider` و `formatApiKey` و `refreshOAuth`،
و `buildAuthDoctorHint`،
و `matchesContextOverflowError` و `classifyFailoverReason`،
و `isCacheTtlEligible` و `buildMissingAuthMessage` و `suppressBuiltInModel`،
و `augmentModelCatalog` و `isBinaryThinking` و `supportsXHighThinking`،
و `resolveDefaultThinkingLevel` و `applyConfigDefaults` و `isModernModelRef`،
و `prepareRuntimeAuth` و `resolveUsageAuth` و `fetchUsageSnapshot`، و
`onModelSelected`.
- ملاحظة: إن `capabilities` الخاصة بوقت تشغيل الموفّر هي بيانات تعريف مشتركة
للمشغّل (عائلة الموفّر، وخصائص النصوص وأدواتها، وتلميحات النقل/التخزين
المؤقت). وهي ليست نفسها [نموذج الإمكانات العام](/ar/plugins/architecture#public-capability-model)
الذي يصف ما الذي تسجّله الإضافة (استدلال نصي، كلام، إلخ).
- يتم إقران الموفّر المضمّن `codex` مع حزمة عامل Codex المضمّنة.
استخدم `codex/gpt-*` عندما تريد تسجيل دخول مملوكًا لـ Codex، واكتشاف
النماذج، واستئناف السلاسل أصلًا، والتنفيذ عبر خادم التطبيق. أما مراجع
`openai/gpt-*` العادية فتستمر في استخدام موفّر OpenAI ونقل الموفّر العادي في OpenClaw.
ويمكن لعمليات النشر التي تستخدم Codex فقط تعطيل الرجوع الاحتياطي التلقائي
إلى PI باستخدام
- ملاحظة: إن `capabilities` الخاصة بوقت تشغيل الموفّر هي بيانات تعريف مشتركة للمشغّل (عائلة الموفّر، وخصائص النصوص وسلوك الأدوات، وتلميحات النقل/التخزين المؤقت). وهي ليست
نفسها [نموذج الإمكانات العام](/ar/plugins/architecture#public-capability-model)
الذي يصف ما تسجّله الإضافة (الاستدلال النصي، والكلام، وما إلى ذلك).
- يتم إقران موفّر `codex` المضمّن مع حزمة وكيل Codex المضمّنة.
استخدم `codex/gpt-*` عندما تريد تسجيل دخول مملوكًا لـ Codex، واكتشافًا للنماذج، واستئنافًا أصليًا
للسلاسل، وتنفيذًا على خادم التطبيق. تستمر مراجع `openai/gpt-*` العادية
في استخدام موفّر OpenAI ووسيط نقل الموفّر العادي في OpenClaw.
يمكن لعمليات النشر الخاصة بـ Codex فقط تعطيل الرجوع التلقائي إلى PI عبر
`agents.defaults.embeddedHarness.fallback: "none"`؛ راجع
[Codex Harness](/ar/plugins/codex-harness).
## السلوك المملوك لإضافة الموفّر
## سلوك الموفّر المملوك للإضافة
يمكن لإضافات الموفّرين الآن امتلاك معظم المنطق الخاص بكل موفّر بينما يحتفظ OpenClaw
بحلقة الاستدلال العامة.
يمكن لإضافات الموفّر الآن امتلاك معظم المنطق الخاص بكل موفّر بينما يحافظ OpenClaw
على حلقة الاستدلال العامة.
التقسيم المعتاد:
- `auth[].run` / `auth[].runNonInteractive`: يمتلك الموفّر تدفقات
الإعداد/تسجيل الدخول الخاصة بـ `openclaw onboard` و`openclaw models auth` و
الإعداد غير التفاعلي
- `wizard.setup` / `wizard.modelPicker`: يمتلك الموفّر تسميات خيارات
المصادقة، والأسماء المستعارة القديمة، وتلميحات قائمة السماح الخاصة بالإعداد، وإدخالات
الإعداد في منتقيات الإعداد/النموذج
- `auth[].run` / `auth[].runNonInteractive`: يملك الموفّر تدفقات
الإعداد/تسجيل الدخول لـ `openclaw onboard` و `openclaw models auth` والإعداد
غير التفاعلي
- `wizard.setup` / `wizard.modelPicker`: يملك الموفّر تسميات خيارات المصادقة،
والأسماء المستعارة القديمة، وتلميحات قائمة السماح الخاصة بالإعداد، وإدخالات الإعداد في منتقيات الإعداد/النموذج
- `catalog`: يظهر الموفّر في `models.providers`
- `normalizeModelId`: يطبع الموفّر معرّفات النماذج القديمة/التجريبية
قبل البحث أو التحويل إلى الصيغة القياسية
- `normalizeTransport`: يطبع الموفّر `api` / `baseUrl` لعائلة النقل
قبل التجميع العام للنموذج؛ ويتحقق OpenClaw من الموفّر المطابق أولًا،
ثم من إضافات الموفّرين الأخرى القادرة على تنفيذ الخطاف حتى تقوم إحداها
فعليًا بتغيير النقل
- `normalizeConfig`: يطبع الموفّر إعدادات `models.providers.<id>` قبل أن
يستخدمها وقت التشغيل؛ ويتحقق OpenClaw من الموفّر المطابق أولًا، ثم من إضافات
الموفّرين الأخرى القادرة على تنفيذ الخطاف حتى تقوم إحداها فعليًا بتغيير الإعدادات. وإذا لم
يُعِد أي خطاف موفّر كتابة الإعدادات، فستستمر أدوات Google-family
المضمّنة في تطبيع إدخالات موفّري Google المدعومة.
- `applyNativeStreamingUsageCompat`: يطبّق الموفّر إعادة كتابة توافق استخدام البث الأصلية المعتمدة على نقطة النهاية لموفّري الإعدادات
- `resolveConfigApiKey`: يحل الموفّر مصادقة علامة البيئة لموفّري الإعدادات
من دون فرض تحميل مصادقة وقت التشغيل الكاملة. ويحتوي `amazon-bedrock` أيضًا على
محلّل مضمّن لعلامات بيئة AWS هنا، رغم أن مصادقة وقت تشغيل Bedrock تستخدم
- `normalizeModelId`: يطبّع الموفّر معرّفات النماذج القديمة/التجريبية قبل
البحث أو التحويل إلى صيغة معيارية
- `normalizeTransport`: يطبّع الموفّر `api` / `baseUrl` لعائلة النقل
قبل التجميع العام للنموذج؛ يتحقق OpenClaw من الموفّر المطابق أولًا،
ثم من إضافات الموفّر الأخرى القادرة على الخطافات إلى أن يقوم أحدها فعلًا
بتغيير النقل
- `normalizeConfig`: يطبّع الموفّر إعداد `models.providers.<id>` قبل
أن يستخدمه وقت التشغيل؛ يتحقق OpenClaw من الموفّر المطابق أولًا، ثم من إضافات الموفّر
الأخرى القادرة على الخطافات إلى أن يقوم أحدها فعلًا بتغيير الإعداد. إذا لم
تعِد أي خطافة موفّر كتابة الإعداد، فستستمر مساعدات عائلة Google المضمّنة
في تطبيع إدخالات موفّر Google المدعومة.
- `applyNativeStreamingUsageCompat`: يطبّق الموفّر عمليات إعادة كتابة توافق استخدام البث الأصلي المعتمدة على نقطة النهاية لموفّري الإعدادات
- `resolveConfigApiKey`: يحلّ الموفّر مصادقة علامات متغيرات البيئة لموفّري الإعدادات
دون فرض تحميل كامل لمصادقة وقت التشغيل. ويحتوي `amazon-bedrock` أيضًا على
محلّل علامات بيئة AWS مضمّن هنا، رغم أن مصادقة وقت تشغيل Bedrock تستخدم
سلسلة AWS SDK الافتراضية.
- `resolveSyntheticAuth`: يمكن للموفّر إتاحة توفر المصادقة المحلية/المستضافة ذاتيًا أو
المصادقة الأخرى المعتمدة على الإعدادات من دون تخزين أسرار نصية صريحة
- `shouldDeferSyntheticProfileAuth`: يمكن للموفّر وسم العناصر النائبة
لملفات المصادقة الاصطناعية المخزنة على أنها أقل أولوية من المصادقة المعتمدة
على البيئة/الإعدادات
- `resolveDynamicModel`: يقبل الموفّر معرّفات نماذج غير موجودة بعد في
- `resolveSyntheticAuth`: يمكن للموفّر إتاحة توفر المصادقة المحلية/المستضافة ذاتيًا أو غيرها من المصادقات
المعتمدة على الإعدادات دون حفظ أسرار نصية صريحة
- `shouldDeferSyntheticProfileAuth`: يمكن للموفّر تمييز عناصر النائب الاصطناعية المخزنة في الملف الشخصي
على أنها أقل أولوية من المصادقة المعتمدة على البيئة/الإعدادات
- `resolveDynamicModel`: يقبل الموفّر معرّفات النماذج غير الموجودة بعد في
الفهرس المحلي الثابت
- `prepareDynamicModel`: يحتاج الموفّر إلى تحديث للبيانات التعريفية قبل إعادة
محاولة الحل الديناميكي
- `normalizeResolvedModel`: يحتاج الموفّر إلى إعادة كتابة النقل أو عنوان URL الأساسي
- `contributeResolvedModelCompat`: يساهم الموفّر بعلامات توافق لنماذج
المورّد الخاصة به حتى عندما تصل عبر نقل متوافق آخر
- `prepareDynamicModel`: يحتاج الموفّر إلى تحديث بيانات التعريف قبل إعادة محاولة
التحليل الديناميكي
- `normalizeResolvedModel`: يحتاج الموفّر إلى عمليات إعادة كتابة للنقل أو عنوان URL الأساسي
- `contributeResolvedModelCompat`: يساهم الموفّر بعلامات التوافق الخاصة
بنماذج المورّد التابعة له حتى عندما تصل عبر نقل متوافق آخر
- `capabilities`: ينشر الموفّر خصائص النصوص/الأدوات/عائلة الموفّر
- `normalizeToolSchemas`: ينظّف الموفّر مخططات الأدوات قبل أن يراها
المشغّل المضمّن
- `inspectToolSchemas`: يعرض الموفّر تحذيرات المخطط الخاصة بالنقل
- `inspectToolSchemas`: يعرض الموفّر تحذيرات المخططات الخاصة بالنقل
بعد التطبيع
- `resolveReasoningOutputMode`: يختار الموفّر بين عقود مخرجات الاستدلال
الأصلية أو الموسومة
- `prepareExtraParams`: يضبط الموفّر افتراضيًا أو يطبّع معاملات الطلب
لكل نموذج
- `resolveReasoningOutputMode`: يختار الموفّر بين
عقود مخرجات الاستدلال الأصلية أو الموسومة
- `prepareExtraParams`: يضبط الموفّر افتراضيات أو يطبّع معلمات الطلب لكل نموذج
- `createStreamFn`: يستبدل الموفّر مسار البث العادي بنقل
مخصص بالكامل
- `wrapStreamFn`: يطبّق الموفّر أغلفة توافق
رؤوس/نص الطلب/النموذج
- `resolveTransportTurnState`: يوفّر الموفّر
رؤوس النقل الأصلية أو البيانات التعريفية لكل دورة
- `resolveWebSocketSessionPolicy`: يوفّر الموفّر
رؤوس جلسة WebSocket الأصلية أو سياسة تهدئة الجلسة
- `createEmbeddingProvider`: يمتلك الموفّر سلوك تضمين الذاكرة عندما
يكون من الأنسب أن يكون ضمن إضافة الموفّر بدلًا من لوحة التحويل الأساسية للتضمين
- `formatApiKey`: ينسّق الموفّر ملفات المصادقة المخزنة إلى
السلسلة `apiKey` المتوقعة من النقل في وقت التشغيل
- `refreshOAuth`: يمتلك الموفّر تحديث OAuth عندما لا تكون
مخصّص بالكامل
- `wrapStreamFn`: يطبّق الموفّر أغلفة توافق للرؤوس/نص الطلب/النموذج
- `resolveTransportTurnState`: يوفّر الموفّر رؤوسًا أو بيانات تعريف
أصلية للنقل لكل دور
- `resolveWebSocketSessionPolicy`: يوفّر الموفّر رؤوس جلسة WebSocket أصلية
أو سياسة تهدئة الجلسة
- `createEmbeddingProvider`: يملك الموفّر سلوك التضمين للذاكرة عندما
يكون من الأنسب أن ينتمي إلى إضافة الموفّر بدلًا من لوحة تحويل التضمين الأساسية
- `formatApiKey`: ينسّق الموفّر ملفات تعريف المصادقة المخزنة إلى
سلسلة `apiKey` الخاصة بوقت التشغيل والمتوقعة من النقل
- `refreshOAuth`: يملك الموفّر تحديث OAuth عندما لا تكون
أدوات التحديث المشتركة `pi-ai` كافية
- `buildAuthDoctorHint`: يضيف الموفّر إرشادات إصلاح عندما يفشل
تحديث OAuth
- `matchesContextOverflowError`: يتعرف الموفّر على
أخطاء تجاوز نافذة السياق الخاصة بالموفّر التي قد لا ترصدها الاستدلالات العامة
- `classifyFailoverReason`: يربط الموفّر أخطاء النقل/API الخام
الخاصة به بأسباب التحويل الاحتياطي مثل حد المعدل أو الحمل الزائد
- `isCacheTtlEligible`: يقرر الموفّر أي معرّفات النماذج الصادرة تدعم مدة بقاء التخزين المؤقت للموجّه
أخطاء تجاوز نافذة السياق الخاصة بالموفّر والتي قد تفوتها الاستدلالات العامة
- `classifyFailoverReason`: يربط الموفّر أخطاء النقل/API الخام الخاصة بالموفّر
بأسباب الفشل الاحتياطي مثل تجاوز الحد أو الحمل الزائد
- `isCacheTtlEligible`: يحدد الموفّر أي معرّفات النماذج الصادرة من الجهة العليا تدعم مدة صلاحية التخزين المؤقت للموجّه
- `buildMissingAuthMessage`: يستبدل الموفّر خطأ مخزن المصادقة العام
بتلميح استرداد خاص بالموفّر
- `suppressBuiltInModel`: يخفي الموفّر الصفوف الصادرة القديمة ويمكنه
إرجاع خطأ مملوك للمورّد عند فشل الحل المباشر
- `augmentModelCatalog`: يضيف الموفّر صفوف فهرس اصطناعية/نهائية بعد
- `suppressBuiltInModel`: يُخفي الموفّر الصفوف العليا القديمة ويمكنه إرجاع
خطأ مملوك للمورّد عند فشل التحليل المباشر
- `augmentModelCatalog`: يُلحق الموفّر صفوف فهرس اصطناعية/نهائية بعد
الاكتشاف ودمج الإعدادات
- `isBinaryThinking`: يمتلك الموفّر تجربة الاستخدام الخاصة بالتفكير الثنائي تشغيل/إيقاف
- `supportsXHighThinking`: يفعّل الموفّر `xhigh`
لنماذج محددة
- `resolveDefaultThinkingLevel`: يمتلك الموفّر سياسة `/think`
الافتراضية لعائلة نماذج
- `applyConfigDefaults`: يطبّق الموفّر القيم الافتراضية العامة الخاصة به
أثناء إنشاء الإعدادات بناءً على وضع المصادقة أو البيئة أو عائلة النموذج
- `isModernModelRef`: يمتلك الموفّر مطابقة النماذج المفضلة
للاختبارات الحية/اختبارات الدخان
- `prepareRuntimeAuth`: يحوّل الموفّر بيانات الاعتماد المهيأة إلى
- `isBinaryThinking`: يملك الموفّر تجربة استخدام التفكير الثنائي تشغيل/إيقاف
- `supportsXHighThinking`: يضمّن الموفّر نماذج محددة ضمن `xhigh`
- `resolveDefaultThinkingLevel`: يملك الموفّر سياسة `/think` الافتراضية لعائلة
نماذج معيّنة
- `applyConfigDefaults`: يطبّق الموفّر افتراضيات عامة خاصة به
أثناء تجسيد الإعدادات استنادًا إلى وضع المصادقة أو البيئة أو عائلة النموذج
- `isModernModelRef`: يملك الموفّر مطابقة النموذج المفضّل للاختبارات الحية/اختبارات الدخان
- `prepareRuntimeAuth`: يحوّل الموفّر بيانات اعتماد مُعدّة مسبقًا إلى
رمز وقت تشغيل قصير العمر
- `resolveUsageAuth`: يحل الموفّر بيانات اعتماد الاستخدام/الحصة لـ `/usage`
والأسطح ذات الصلة بالحالة/التقارير
- `fetchUsageSnapshot`: يمتلك الموفّر جلب/تحليل نقطة نهاية الاستخدام بينما
لا تزال النواة تمتلك غلاف الملخص والتنسيق
- `onModelSelected`: يشغّل الموفّر تأثيرات لاحقة للاختيار مثل
القياس عن بُعد أو حفظ الجلسة المملوك للموفّر
- `resolveUsageAuth`: يحلّ الموفّر بيانات اعتماد الاستخدام/الحصة لـ `/usage`
والأسطح الأخرى ذات الصلة بالحالة/التقارير
- `fetchUsageSnapshot`: يملك الموفّر جلب/تحليل نقطة نهاية الاستخدام بينما
يظل اللبّ مسؤولًا عن هيكل الملخص والتنسيق
- `onModelSelected`: يشغّل الموفّر تأثيرات جانبية بعد الاختيار مثل
القياس عن بُعد أو مسك الدفاتر الخاص بالجلسة والمملوك للموفّر
الأمثلة المضمّنة الحالية:
- `anthropic`: الرجوع الاحتياطي للتوافق المستقبلي مع Claude 4.6، وتلميحات إصلاح المصادقة، وجلب
نقطة نهاية الاستخدام، وبيانات تعريف مدة بقاء التخزين المؤقت/عائلة الموفّر،
والقيم الافتراضية العامة للإعدادات المرتبطة بالمصادقة
- `anthropic`: توافق احتياطي مستقبلي لـ Claude 4.6، وتلميحات إصلاح المصادقة، وجلب
نقطة نهاية الاستخدام، وبيانات تعريف TTL لذاكرة التخزين المؤقت/عائلة الموفّر، وافتراضيات الإعدادات
العامة الواعية بالمصادقة
- `amazon-bedrock`: مطابقة تجاوز نافذة السياق المملوكة للموفّر وتصنيف
أسباب التحويل الاحتياطي لأخطاء Bedrock الخاصة بالاختناق/عدم الجاهزية، بالإضافة إلى
عائلة إعادة التشغيل المشتركة `anthropic-by-model` لضوابط سياسة إعادة التشغيل
الخاصة بـ Claude فقط على حركة Anthropic
- `anthropic-vertex`: ضوابط سياسة إعادة التشغيل الخاصة بـ Claude فقط على
حركة رسائل Anthropic
- `openrouter`: معرّفات نماذج تمريرية، وأغلفة الطلبات، وتلميحات إمكانات
الموفّر، وتنقية توقيع أفكار Gemini على حركة Gemini الوكيلة، وحقن
الاستدلال الوكيل عبر عائلة البث `openrouter-thinking`، وتمرير
بيانات تعريف التوجيه، وسياسة مدة بقاء التخزين المؤقت
- `github-copilot`: التهيئة/تسجيل الدخول عبر الجهاز، والرجوع الاحتياطي للنماذج
للتوافق المستقبلي، وتلميحات نصوص Claude الخاصة بالتفكير، وتبادل الرموز في وقت التشغيل،
وجلب نقطة نهاية الاستخدام
- `openai`: الرجوع الاحتياطي للتوافق المستقبلي مع GPT-5.4، وتطبيع
النقل المباشر لـ OpenAI، وتلميحات غياب المصادقة الواعية بـ Codex، وكبت Spark،
وصفوف فهرس OpenAI/Codex الاصطناعية، وسياسة التفكير/النموذج الحي، وتطبيع
الأسماء المستعارة لرموز الاستخدام (`input` / `output` و`prompt` / `completion`)، وعائلة
البث المشتركة `openai-responses-defaults` لأغلفة OpenAI/Codex الأصلية،
أسباب الفشل الاحتياطي لأخطاء Bedrock الخاصة بتقييد المعدّل/عدم الجاهزية، بالإضافة إلى
عائلة إعادة التشغيل المشتركة `anthropic-by-model` لحواجز سياسة إعادة التشغيل الخاصة بـ Claude فقط
على حركة مرور Anthropic
- `anthropic-vertex`: حواجز سياسة إعادة التشغيل الخاصة بـ Claude فقط على
حركة مرور رسائل Anthropic
- `openrouter`: معرّفات نماذج تمرير مباشر، وأغلفة الطلبات، وتلميحات قدرات الموفّر،
وتنقية توقيع أفكار Gemini على حركة مرور Gemini عبر الوكيل، وحقن
الاستدلال عبر الوكيل من خلال عائلة البث `openrouter-thinking`،
وتمرير بيانات تعريف التوجيه، وسياسة TTL لذاكرة التخزين المؤقت
- `github-copilot`: الإعداد/تسجيل الدخول عبر الجهاز، والتوافق الاحتياطي المستقبلي للنموذج،
وتلميحات نصوص Claude الخاصة بالتفكير، وتبادل رموز وقت التشغيل، وجلب نقطة
نهاية الاستخدام
- `openai`: توافق احتياطي مستقبلي لـ GPT-5.4، وتطبيع مباشر لنقل OpenAI،
وتلميحات فقدان المصادقة الواعية بـ Codex، وإخفاء Spark، وصفوف فهرس
اصطناعية لـ OpenAI/Codex، وسياسة التفكير/النموذج الحي، وتطبيع الأسماء المستعارة
لرموز الاستخدام (`input` / `output` وعائلتا `prompt` / `completion`)، وعائلة
البث المشتركة `openai-responses-defaults` للأغلفة الأصلية لـ OpenAI/Codex،
وبيانات تعريف عائلة الموفّر، وتسجيل موفّر توليد الصور المضمّن
لـ `gpt-image-1`، وتسجيل موفّر توليد الفيديو المضمّن
لـ `sora-2`
- `google` و`google-gemini-cli`: الرجوع الاحتياطي للتوافق المستقبلي مع Gemini 3.1،
والتحقق الأصلي من إعادة تشغيل Gemini، وتنقية إعادة التشغيل عند الإقلاع، ووضع
مخرجات الاستدلال الموسوم، ومطابقة النماذج الحديثة، وتسجيل موفّر توليد الصور المضمّن
لنماذج Gemini image-preview، وتسجيل
موفّر توليد الفيديو المضمّن لنماذج Veo؛ كما أن OAuth الخاص بـ Gemini CLI
يمتلك أيضًا تنسيق رموز ملف المصادقة، وتحليل رموز الاستخدام، وجلب
نقطة نهاية الحصة لأسطح الاستخدام
- `google` و `google-gemini-cli`: توافق احتياطي مستقبلي لـ Gemini 3.1،
والتحقق الأصلي من إعادة تشغيل Gemini، وتنقية إعادة تشغيل التمهيد، ووضع
مخرجات الاستدلال الموسومة، ومطابقة النماذج الحديثة، وتسجيل موفّر
توليد الصور المضمّن لنماذج Gemini image-preview، وتسجيل موفّر
توليد الفيديو المضمّن لنماذج Veo؛ كما أن OAuth الخاص بـ Gemini CLI
يملك أيضًا تنسيق رموز ملفات تعريف المصادقة، وتحليل رموز الاستخدام،
وجلب نقطة نهاية الحصة لأسطح الاستخدام
- `moonshot`: نقل مشترك، وتطبيع حمولة التفكير مملوك للإضافة
- `kilocode`: نقل مشترك، ورؤوس طلبات مملوكة للإضافة، وتطبيع حمولة الاستدلال،
وتنقية توقيع أفكار Gemini الوكيل، وسياسة مدة بقاء التخزين المؤقت
- `zai`: الرجوع الاحتياطي للتوافق المستقبلي مع GLM-5، والقيم الافتراضية لـ `tool_stream`، وسياسة مدة بقاء التخزين المؤقت،
- `kilocode`: نقل مشترك، ورؤوس طلبات مملوكة للإضافة، وتطبيع
حمولة الاستدلال، وتنقية توقيع أفكار Gemini عبر الوكيل،
وسياسة TTL لذاكرة التخزين المؤقت
- `zai`: توافق احتياطي مستقبلي لـ GLM-5، وافتراضيات `tool_stream`، وسياسة TTL لذاكرة التخزين المؤقت،
وسياسة التفكير الثنائي/النموذج الحي، ومصادقة الاستخدام + جلب الحصة؛
وتُولَّد معرّفات `glm-5*` غير المعروفة اصطناعيًا من القالب المضمّن `glm-4.7`
- `xai`: تطبيع النقل الأصلي لـ Responses، وإعادة كتابة الاسم المستعار `/fast` من أجل
متغيرات Grok السريعة، و`tool_stream` الافتراضي، وتنظيف مخطط الأدوات /
حمولة الاستدلال الخاص بـ xAI، وتسجيل موفّر توليد الفيديو المضمّن
لـ `grok-imagine-video`
- `mistral`: بيانات تعريف إمكانات مملوكة للإضافة
- `opencode` و`opencode-go`: بيانات تعريف إمكانات مملوكة للإضافة بالإضافة إلى
تنقية توقيع أفكار Gemini الوكيل
- `alibaba`: فهرس توليد الفيديو مملوك للإضافة لمراجع نماذج Wan المباشرة
وتُنشأ معرّفات `glm-5*` غير المعروفة اصطناعيًا من القالب المضمّن `glm-4.7`
- `xai`: تطبيع نقل Responses الأصلي، وإعادات كتابة الأسماء المستعارة `/fast` لـ
متغيرات Grok السريعة، و`tool_stream` الافتراضي، وتنظيف
مخطط الأدوات / حمولة الاستدلال الخاص بـ xAI، وتسجيل موفّر توليد الفيديو
المضمّن لـ `grok-imagine-video`
- `mistral`: بيانات تعريف القدرات المملوكة للإضافة
- `opencode` و `opencode-go`: بيانات تعريف القدرات المملوكة للإضافة بالإضافة إلى
تنقية توقيع أفكار Gemini عبر الوكيل
- `alibaba`: فهرس توليد الفيديو المملوك للإضافة لمراجع نماذج Wan المباشرة
مثل `alibaba/wan2.6-t2v`
- `byteplus`: فهارس مملوكة للإضافة بالإضافة إلى تسجيل موفّر توليد الفيديو المضمّن
لنماذج Seedance لتحويل النص إلى فيديو/الصورة إلى فيديو
- `fal`: تسجيل موفّر توليد الفيديو المضمّن لنماذج الطرف الثالث المستضافة
- `fal`: تسجيل موفّر توليد الفيديو المضمّن لنماذج الأطراف الثالثة المستضافة
وتسجيل موفّر توليد الصور المضمّن لنماذج صور FLUX بالإضافة إلى تسجيل
موفّر توليد الفيديو المضمّن لنماذج الفيديو المستضافة من طرف ثالث
- `cloudflare-ai-gateway` و`huggingface` و`kimi` و`nvidia` و`qianfan` و
`stepfun` و`synthetic` و`venice` و`vercel-ai-gateway` و`volcengine`:
موفّر توليد الفيديو المضمّن لنماذج الفيديو المستضافة من أطراف ثالثة
- `cloudflare-ai-gateway` و `huggingface` و `kimi` و `nvidia` و `qianfan`،
و `stepfun` و `synthetic` و `venice` و `vercel-ai-gateway` و `volcengine`:
فهارس مملوكة للإضافة فقط
- `qwen`: فهارس مملوكة للإضافة للنماذج النصية بالإضافة إلى تسجيلات
موفّر فهم الوسائط وتوليد الفيديو المشتركة لأسطحه متعددة الوسائط؛ ويستخدم
توليد الفيديو في Qwen نقاط نهاية الفيديو القياسية في DashScope مع
نماذج Wan المضمّنة مثل `wan2.6-t2v` و`wan2.7-r2v`
- `runway`: تسجيل موفّر توليد الفيديو مملوك للإضافة لنماذج Runway
الأصلية المعتمدة على المهام مثل `gen4.5`
مشتركة لموفّر فهم الوسائط وتوليد الفيديو لأسطحه متعددة الوسائط؛ يستخدم توليد الفيديو في Qwen
نقاط نهاية الفيديو القياسية DashScope مع نماذج Wan المضمّنة
مثل `wan2.6-t2v` و `wan2.7-r2v`
- `runway`: تسجيل موفّر توليد الفيديو المملوك للإضافة لنماذج
Runway الأصلية المعتمدة على المهام مثل `gen4.5`
- `minimax`: فهارس مملوكة للإضافة، وتسجيل موفّر توليد الفيديو المضمّن
لنماذج فيديو Hailuo، وتسجيل موفّر توليد الصور المضمّن
لـ `image-01`، واختيار سياسة إعادة تشغيل هجينة بين Anthropic/OpenAI،
لـ `image-01`، واختيار هجين لسياسة إعادة التشغيل بين Anthropic/OpenAI،
ومنطق مصادقة/لقطة الاستخدام
- `together`: فهارس مملوكة للإضافة بالإضافة إلى تسجيل موفّر توليد الفيديو المضمّن
لنماذج فيديو Wan
- `xiaomi`: فهارس مملوكة للإضافة بالإضافة إلى منطق مصادقة/لقطة الاستخدام
تمتلك الإضافة المضمّنة `openai` الآن معرّفي الموفّر كليهما: `openai` و
`openai-codex`.
أصبحت الإضافة المضمّنة `openai` الآن تملك كلا معرّفي الموفّر:
`openai` و `openai-codex`.
وهذا يغطي الموفّرين الذين ما زالوا ينسجمون مع وسائل النقل العادية في OpenClaw. أما الموفّر
الذي يحتاج إلى منفّذ طلبات مخصص بالكامل فهو سطح توسيع منفصل وأعمق.
وهذا يغطي الموفّرين الذين ما زالوا يناسبون وسائل النقل العادية في OpenClaw. أما الموفّر
الذي يحتاج إلى منفّذ طلبات مخصّص بالكامل فهو سطح توسعة منفصل وأعمق.
## تدوير مفاتيح API
- يدعم التدوير العام للمفاتيح لموفّرين محددين.
- يدعم تدويرًا عامًا لمفاتيح الموفّر لموفّرين محددين.
- قم بتهيئة عدة مفاتيح عبر:
- `OPENCLAW_LIVE_<PROVIDER>_KEY` (تجاوز حي واحد، أعلى أولوية)
- `<PROVIDER>_API_KEYS` (قائمة مفصولة بفواصل أو فواصل منقوطة)
- `<PROVIDER>_API_KEYS` (قائمة مفصولة بفواصل أو فاصلة منقوطة)
- `<PROVIDER>_API_KEY` (المفتاح الأساسي)
- `<PROVIDER>_API_KEY_*` (قائمة مرقمة، مثل `<PROVIDER>_API_KEY_1`)
- بالنسبة إلى موفّري Google، يتم أيضًا تضمين `GOOGLE_API_KEY` كخيار احتياطي.
- بالنسبة إلى موفّري Google، يتم تضمين `GOOGLE_API_KEY` أيضًا كبديل احتياطي.
- يحافظ ترتيب اختيار المفاتيح على الأولوية ويزيل القيم المكررة.
- تتم إعادة محاولة الطلبات بالمفتاح التالي فقط عند استجابات حد المعدل (على
- تُعاد محاولة الطلبات باستخدام المفتاح التالي فقط عند استجابات تجاوز المعدّل (على
سبيل المثال `429` أو `rate_limit` أو `quota` أو `resource exhausted` أو `Too many
concurrent requests` أو `ThrottlingException` أو `concurrency limit reached` أو
`workers_ai ... quota limit exceeded` أو رسائل حد الاستخدام الدورية).
- تفشل الإخفاقات غير المرتبطة بحد المعدل فورًا؛ ولا تتم محاولة تدوير المفاتيح.
- عند فشل جميع المفاتيح المرشحة، يُعاد الخطأ النهائي من آخر محاولة.
concurrent requests` أو `ThrottlingException` أو `concurrency limit reached`،
أو `workers_ai ... quota limit exceeded`، أو رسائل حد الاستخدام الدورية).
- تفشل الأخطاء غير المرتبطة بتجاوز المعدّل فورًا؛ ولا تتم محاولة تدوير المفاتيح.
- عندما تفشل جميع المفاتيح المرشحة، يُعاد الخطأ النهائي من آخر محاولة.
## الموفّرون المضمّنون (فهرس pi-ai)
يشحن OpenClaw مع فهرس piai. لا تتطلب هذه الموفّرات أي إعداد
`models.providers`؛ فقط اضبط المصادقة + اختر نموذجًا.
يشحن OpenClaw مع فهرس pi-ai. لا تتطلب هذه الموفّرات أي
إعداد `models.providers`؛ فقط عيّن المصادقة + اختر نموذجًا.
### OpenAI
- الموفّر: `openai`
- المصادقة: `OPENAI_API_KEY`
- تدوير اختياري: `OPENAI_API_KEYS` و`OPENAI_API_KEY_1` و`OPENAI_API_KEY_2`، بالإضافة إلى `OPENCLAW_LIVE_OPENAI_KEY` (تجاوز واحد)
- أمثلة على النماذج: `openai/gpt-5.4` و`openai/gpt-5.4-pro`
- التدوير الاختياري: `OPENAI_API_KEYS` و `OPENAI_API_KEY_1` و `OPENAI_API_KEY_2`، بالإضافة إلى `OPENCLAW_LIVE_OPENAI_KEY` (تجاوز واحد)
- أمثلة على النماذج: `openai/gpt-5.4` و `openai/gpt-5.4-pro`
- CLI: `openclaw onboard --auth-choice openai-api-key`
- النقل الافتراضي هو `auto` (WebSocket أولًا، ثم SSE احتياطيًا)
- يمكنك التجاوز لكل نموذج عبر `agents.defaults.models["openai/<model>"].params.transport` (`"sse"` أو `"websocket"` أو `"auto"`)
- يتم تمكين الإحماء المسبق لـ OpenAI Responses WebSocket افتراضيًا عبر `params.openaiWsWarmup` (`true`/`false`)
- يتم تفعيل الإحماء المسبق لـ OpenAI Responses WebSocket افتراضيًا عبر `params.openaiWsWarmup` (`true`/`false`)
- يمكن تمكين المعالجة ذات الأولوية في OpenAI عبر `agents.defaults.models["openai/<model>"].params.serviceTier`
- يربط `/fast` و`params.fastMode` طلبات Responses المباشرة `openai/*` بـ `service_tier=priority` على `api.openai.com`
- استخدم `params.serviceTier` عندما تريد مستوى صريحًا بدلًا من مفتاح التبديل المشترك `/fast`
- تُطبَّق رؤوس الإسناد المخفية الخاصة بـ OpenClaw (`originator` و`version` و
`User-Agent`) فقط على حركة OpenAI الأصلية إلى `api.openai.com`، وليس على
الوكلاء العامة المتوافقة مع OpenAI
- تحتفظ المسارات الأصلية لـ OpenAI أيضًا بـ `store` الخاصة بـ Responses، وتلميحات التخزين المؤقت للموجّه،
وتشكيل حمولة توافق الاستدلال في OpenAI؛ أما مسارات الوكيل فلا تحتفظ بذلك
- يتم كبت `openai/gpt-5.3-codex-spark` عمدًا في OpenClaw لأن واجهة OpenAI API الحية ترفضه؛ ويتم التعامل مع Spark على أنه خاص بـ Codex فقط
- تقوم `/fast` و `params.fastMode` بربط طلبات Responses المباشرة `openai/*` بـ `service_tier=priority` على `api.openai.com`
- استخدم `params.serviceTier` عندما تريد مستوى خدمة صريحًا بدلًا من مفتاح التبديل المشترك `/fast`
- تنطبق رؤوس الإسناد المخفية الخاصة بـ OpenClaw (`originator` و `version` و
`User-Agent`) فقط على حركة مرور OpenAI الأصلية إلى `api.openai.com`، وليس على
وكلاء OpenAI-compatible العامّين
- تحتفظ مسارات OpenAI الأصلية أيضًا بخاصية Responses `store`، وتلميحات ذاكرة التخزين المؤقت للموجّه، و
تشكيل حمولة توافق الاستدلال الخاصة بـ OpenAI؛ أما مسارات الوكيل فلا تحتفظ بذلك
- يتم إخفاء `openai/gpt-5.3-codex-spark` عمدًا في OpenClaw لأن واجهة OpenAI API الحية ترفضه؛ ويُعامل Spark على أنه خاص بـ Codex فقط
```json5
{
@ -291,12 +283,12 @@ concurrent requests` أو `ThrottlingException` أو `concurrency limit reached`
- الموفّر: `anthropic`
- المصادقة: `ANTHROPIC_API_KEY`
- تدوير اختياري: `ANTHROPIC_API_KEYS` و`ANTHROPIC_API_KEY_1` و`ANTHROPIC_API_KEY_2`، بالإضافة إلى `OPENCLAW_LIVE_ANTHROPIC_KEY` (تجاوز واحد)
- التدوير الاختياري: `ANTHROPIC_API_KEYS` و `ANTHROPIC_API_KEY_1` و `ANTHROPIC_API_KEY_2`، بالإضافة إلى `OPENCLAW_LIVE_ANTHROPIC_KEY` (تجاوز واحد)
- مثال على النموذج: `anthropic/claude-opus-4-6`
- CLI: `openclaw onboard --auth-choice apiKey`
- تدعم طلبات Anthropic العامة المباشرة أيضًا مفتاح التبديل المشترك `/fast` و`params.fastMode`، بما في ذلك الحركة المرسلة إلى `api.anthropic.com` والمصادق عليها عبر مفتاح API أو OAuth؛ ويحوّل OpenClaw ذلك إلى `service_tier` في Anthropic (`auto` مقابل `standard_only`)
- ملاحظة Anthropic: أخبرنا موظفو Anthropic أن استخدام Claude CLI بأسلوب OpenClaw مسموح به مجددًا، لذلك يتعامل OpenClaw مع إعادة استخدام Claude CLI واستخدام `claude -p` على أنهما مسموحان لهذا التكامل ما لم تنشر Anthropic سياسة جديدة.
- لا يزال رمز إعداد Anthropic متاحًا كمسار رمز مدعوم في OpenClaw، لكن OpenClaw يفضّل الآن إعادة استخدام Claude CLI و`claude -p` عندما يكونان متاحين.
- تدعم طلبات Anthropic العامة المباشرة أيضًا مفتاح التبديل المشترك `/fast` و `params.fastMode`، بما في ذلك حركة المرور المرسلة إلى `api.anthropic.com` والمصادق عليها بمفتاح API وOAuth؛ ويقوم OpenClaw بربط ذلك بـ `service_tier` الخاص بـ Anthropic (`auto` مقابل `standard_only`)
- ملاحظة Anthropic: أخبرنا موظفو Anthropic أن استخدام Claude CLI بأسلوب OpenClaw مسموح مرة أخرى، لذا يتعامل OpenClaw مع إعادة استخدام Claude CLI واستخدام `claude -p` على أنهما معتمدان لهذا التكامل ما لم تنشر Anthropic سياسة جديدة.
- لا يزال رمز إعداد Anthropic متاحًا كمسار رمز مدعوم في OpenClaw، لكن OpenClaw يفضّل الآن إعادة استخدام Claude CLI و `claude -p` عند توفرهما.
```json5
{
@ -313,13 +305,13 @@ concurrent requests` أو `ThrottlingException` أو `concurrency limit reached`
- النقل الافتراضي هو `auto` (WebSocket أولًا، ثم SSE احتياطيًا)
- يمكنك التجاوز لكل نموذج عبر `agents.defaults.models["openai-codex/<model>"].params.transport` (`"sse"` أو `"websocket"` أو `"auto"`)
- يتم أيضًا تمرير `params.serviceTier` في طلبات Codex Responses الأصلية (`chatgpt.com/backend-api`)
- تُرفق رؤوس الإسناد المخفية الخاصة بـ OpenClaw (`originator` و`version` و
`User-Agent`) فقط على حركة Codex الأصلية إلى
`chatgpt.com/backend-api`، وليس على الوكلاء العامة المتوافقة مع OpenAI
- يشترك في نفس مفتاح التبديل `/fast` وإعداد `params.fastMode` مثل `openai/*` المباشر؛ ويحوّل OpenClaw ذلك إلى `service_tier=priority`
- يظل `openai-codex/gpt-5.3-codex-spark` متاحًا عندما يكشف فهرس OAuth الخاص بـ Codex عنه؛ وذلك يعتمد على الاستحقاق
- يحتفظ `openai-codex/gpt-5.4` بقيمة أصلية `contextWindow = 1050000` وقيمة افتراضية في وقت التشغيل `contextTokens = 272000`؛ ويمكنك تجاوز الحد في وقت التشغيل عبر `models.providers.openai-codex.models[].contextTokens`
- ملاحظة السياسة: دعم OAuth الخاص بـ OpenAI Codex مدعوم صراحةً للأدوات/سير العمل الخارجية مثل OpenClaw.
- لا تُرفق رؤوس الإسناد المخفية الخاصة بـ OpenClaw (`originator` و `version` و
`User-Agent`) إلا على حركة مرور Codex الأصلية إلى
`chatgpt.com/backend-api`، وليس على وكلاء OpenAI-compatible العامّين
- يشارك نفس مفتاح التبديل `/fast` وإعداد `params.fastMode` مثل `openai/*` المباشر؛ ويقوم OpenClaw بربط ذلك بـ `service_tier=priority`
- يبقى `openai-codex/gpt-5.3-codex-spark` متاحًا عندما يكشف فهرس Codex OAuth عنه؛ وذلك يعتمد على الاستحقاق
- يحتفظ `openai-codex/gpt-5.4` بقيمته الأصلية `contextWindow = 1050000` وقيمة وقت تشغيل افتراضية `contextTokens = 272000`؛ ويمكنك تجاوز حد وقت التشغيل عبر `models.providers.openai-codex.models[].contextTokens`
- ملاحظة حول السياسة: مصادقة OpenAI Codex عبر OAuth مدعومة صراحةً للأدوات/سير العمل الخارجية مثل OpenClaw.
```json5
{
@ -339,18 +331,18 @@ concurrent requests` أو `ThrottlingException` أو `concurrency limit reached`
}
```
### خيارات أخرى مستضافة بأسلوب الاشتراك
### خيارات أخرى مستضافة بنمط الاشتراك
- [Qwen Cloud](/ar/providers/qwen): سطح موفّر Qwen Cloud بالإضافة إلى تعيين نقاط نهاية Alibaba DashScope وCoding Plan
- [Qwen Cloud](/ar/providers/qwen): سطح موفّر Qwen Cloud بالإضافة إلى ربط نقاط نهاية Alibaba DashScope وCoding Plan
- [MiniMax](/ar/providers/minimax): وصول MiniMax Coding Plan عبر OAuth أو مفتاح API
- [GLM Models](/ar/providers/glm): نقاط نهاية Z.AI Coding Plan أو API العامة
- [GLM Models](/ar/providers/glm): Z.AI Coding Plan أو نقاط نهاية API العامة
### OpenCode
- المصادقة: `OPENCODE_API_KEY` (أو `OPENCODE_ZEN_API_KEY`)
- موفّر وقت تشغيل Zen: `opencode`
- موفّر وقت تشغيل Go: `opencode-go`
- أمثلة على النماذج: `opencode/claude-opus-4-6` و`opencode-go/kimi-k2.5`
- أمثلة على النماذج: `opencode/claude-opus-4-6` و `opencode-go/kimi-k2.5`
- CLI: `openclaw onboard --auth-choice opencode-zen` أو `openclaw onboard --auth-choice opencode-go`
```json5
@ -363,31 +355,31 @@ concurrent requests` أو `ThrottlingException` أو `concurrency limit reached`
- الموفّر: `google`
- المصادقة: `GEMINI_API_KEY`
- تدوير اختياري: `GEMINI_API_KEYS` و`GEMINI_API_KEY_1` و`GEMINI_API_KEY_2` وخيار `GOOGLE_API_KEY` الاحتياطي و`OPENCLAW_LIVE_GEMINI_KEY` (تجاوز واحد)
- أمثلة على النماذج: `google/gemini-3.1-pro-preview` و`google/gemini-3-flash-preview`
- التدوير الاختياري: `GEMINI_API_KEYS` و `GEMINI_API_KEY_1` و `GEMINI_API_KEY_2`، والبديل الاحتياطي `GOOGLE_API_KEY`، و `OPENCLAW_LIVE_GEMINI_KEY` (تجاوز واحد)
- أمثلة على النماذج: `google/gemini-3.1-pro-preview` و `google/gemini-3-flash-preview`
- التوافق: يتم تطبيع إعداد OpenClaw القديم الذي يستخدم `google/gemini-3.1-flash-preview` إلى `google/gemini-3-flash-preview`
- CLI: `openclaw onboard --auth-choice gemini-api-key`
- تقبل عمليات Gemini المباشرة أيضًا `agents.defaults.models["google/<model>"].params.cachedContent`
(أو `cached_content` القديم) لتمرير
مقبض `cachedContents/...` أصلي خاص بالموفّر؛ وتظهر إصابات ذاكرة Gemini المؤقتة كقيمة OpenClaw `cacheRead`
(أو `cached_content` القديم) لتمرير معرّف
`cachedContents/...` أصلي خاص بالموفّر؛ وتظهر إصابات ذاكرة Gemini المؤقتة في OpenClaw على شكل `cacheRead`
### Google Vertex وGemini CLI
- الموفّرات: `google-vertex` و`google-gemini-cli`
- المصادقة: يستخدم Vertex بيانات اعتماد gcloud ADC؛ ويستخدم Gemini CLI تدفق OAuth الخاص به
- تحذير: إن Gemini CLI OAuth في OpenClaw تكامل غير رسمي. وقد أبلغ بعض المستخدمين عن قيود على حسابات Google بعد استخدام عملاء من جهات خارجية. راجع شروط Google واستخدم حسابًا غير حرج إذا اخترت المتابعة.
- يتم شحن Gemini CLI OAuth كجزء من الإضافة المضمّنة `google`.
- الموفّرون: `google-vertex`، `google-gemini-cli`
- المصادقة: يستخدم Vertex بيانات اعتماد ADC من gcloud؛ ويستخدم Gemini CLI تدفق OAuth الخاص به
- تحذير: إن OAuth الخاص بـ Gemini CLI في OpenClaw تكامل غير رسمي. أبلغ بعض المستخدمين عن قيود على حسابات Google بعد استخدام عملاء من جهات خارجية. راجع شروط Google واستخدم حسابًا غير حرج إذا اخترت المتابعة.
- يتم شحن OAuth الخاص بـ Gemini CLI كجزء من الإضافة المضمّنة `google`.
- ثبّت Gemini CLI أولًا:
- `brew install gemini-cli`
- أو `npm install -g @google/gemini-cli`
- التمكين: `openclaw plugins enable google`
- تسجيل الدخول: `openclaw models auth login --provider google-gemini-cli --set-default`
- النموذج الافتراضي: `google-gemini-cli/gemini-3-flash-preview`
- ملاحظة: **لا** تقم بلصق معرّف عميل أو سر في `openclaw.json`. يخزّن تدفق تسجيل الدخول عبر CLI
الرموز في ملفات المصادقة على مضيف البوابة.
- إذا فشلت الطلبات بعد تسجيل الدخول، فاضبط `GOOGLE_CLOUD_PROJECT` أو `GOOGLE_CLOUD_PROJECT_ID` على مضيف البوابة.
- يتم تحليل ردود Gemini CLI بصيغة JSON من `response`؛ ويعود الاستخدام إلى
`stats`، مع تطبيع `stats.cached` إلى OpenClaw `cacheRead`.
- ملاحظة: لا تقوم **بلصق** معرّف العميل أو السر في `openclaw.json`. يخزن تدفق تسجيل الدخول في CLI
الرموز في ملفات تعريف المصادقة على مضيف Gateway.
- إذا فشلت الطلبات بعد تسجيل الدخول، فعيّن `GOOGLE_CLOUD_PROJECT` أو `GOOGLE_CLOUD_PROJECT_ID` على مضيف Gateway.
- يتم تحليل ردود JSON الخاصة بـ Gemini CLI من `response`؛ بينما يعود الاستخدام احتياطيًا إلى
`stats`، مع تطبيع `stats.cached` إلى `cacheRead` في OpenClaw.
### Z.AI (GLM)
@ -395,8 +387,8 @@ concurrent requests` أو `ThrottlingException` أو `concurrency limit reached`
- المصادقة: `ZAI_API_KEY`
- مثال على النموذج: `zai/glm-5.1`
- CLI: `openclaw onboard --auth-choice zai-api-key`
- الأسماء المستعارة: يتم تطبيع `z.ai/*` و`z-ai/*` إلى `zai/*`
- يكتشف `zai-api-key` تلقائيًا نقطة نهاية Z.AI المطابقة؛ بينما يفرض `zai-coding-global` و`zai-coding-cn` و`zai-global` و`zai-cn` سطحًا محددًا
- الأسماء المستعارة: يتم تطبيع `z.ai/*` و `z-ai/*` إلى `zai/*`
- يكتشف `zai-api-key` نقطة نهاية Z.AI المطابقة تلقائيًا؛ بينما يفرض `zai-coding-global` و `zai-coding-cn` و `zai-global` و `zai-cn` سطحًا محددًا
### Vercel AI Gateway
@ -412,38 +404,38 @@ concurrent requests` أو `ThrottlingException` أو `concurrency limit reached`
- مثال على النموذج: `kilocode/kilo/auto`
- CLI: `openclaw onboard --auth-choice kilocode-api-key`
- عنوان URL الأساسي: `https://api.kilo.ai/api/gateway/`
- يشحن فهرس احتياطي ثابت `kilocode/kilo/auto`؛ ويمكن لاكتشاف
- يشحن فهرس احتياطي ثابت مع `kilocode/kilo/auto`؛ ويمكن لاكتشاف
`https://api.kilo.ai/api/gateway/models` الحي توسيع فهرس
وقت التشغيل بشكل أكبر.
- إن التوجيه الصادر الدقيق وراء `kilocode/kilo/auto` مملوك لـ Kilo Gateway،
- إن التوجيه الفعلي من المصدر وراء `kilocode/kilo/auto` مملوك لـ Kilo Gateway،
وليس مضمّنًا بشكل ثابت في OpenClaw.
راجع [/providers/kilocode](/ar/providers/kilocode) للحصول على تفاصيل الإعداد.
### إضافات موفّرين مضمّنة أخرى
### إضافات الموفّرين المضمّنة الأخرى
- OpenRouter: `openrouter` (`OPENROUTER_API_KEY`)
- مثال على النموذج: `openrouter/auto`
- يطبّق OpenClaw رؤوس إسناد التطبيق الموثقة من OpenRouter فقط عندما
- يطبّق OpenClaw رؤوس إسناد التطبيق الموثقة في OpenRouter فقط عندما
يستهدف الطلب فعليًا `openrouter.ai`
- وبالمثل، لا تُفعّل علامات `cache_control` الخاصة بـ Anthropic والمميزة لـ OpenRouter إلا على
مسارات OpenRouter المتحقق منها، وليس على عناوين URL الوكيلة الاعتباطية
- يظل OpenRouter على مسار الوكيل ذي النمط المتوافق مع OpenAI، لذا فإن
تشكيل الطلب الأصلي الخاص بـ OpenAI فقط (`serviceTier` و`store` في Responses،
وتلميحات التخزين المؤقت للموجّه، وحمولات توافق الاستدلال في OpenAI) لا يتم تمريره
- تحتفظ مراجع OpenRouter المعتمدة على Gemini فقط بمسار تنقية توقيع أفكار Gemini الوكيل؛
أما التحقق الأصلي من إعادة تشغيل Gemini وإعادة الكتابة عند الإقلاع فيبقيان معطلين
- كما تُقيَّد علامات `cache_control` الخاصة بـ Anthropic والمخصصة لـ OpenRouter
على مسارات OpenRouter المتحقق منها، وليس على عناوين URL الوكيلة العشوائية
- يظل OpenRouter على مسار OpenAI-compatible بنمط الوكيل، لذلك لا يتم
تمرير تشكيل الطلبات الأصلي الخاص بـ OpenAI فقط (`serviceTier`، و `store` الخاص بـ Responses،
وتلميحات ذاكرة التخزين المؤقت للموجّه، وحمولات توافق الاستدلال الخاصة بـ OpenAI)
- تحتفظ مراجع OpenRouter المدعومة بـ Gemini فقط بمسار تنقية توقيع أفكار Gemini عبر الوكيل؛
بينما يظل التحقق الأصلي من إعادة تشغيل Gemini وإعادات كتابة التمهيد معطّلين
- Kilo Gateway: `kilocode` (`KILOCODE_API_KEY`)
- مثال على النموذج: `kilocode/kilo/auto`
- تحتفظ مراجع Kilo المعتمدة على Gemini بنفس مسار
تنقية توقيع أفكار Gemini الوكيل؛ بينما تتخطى `kilocode/kilo/auto` وغيرها من
التلميحات الوكيلة غير الداعمة للاستدلال حقن الاستدلال الوكيل
- MiniMax: `minimax` (مفتاح API) و`minimax-portal` (OAuth)
- المصادقة: `MINIMAX_API_KEY` لـ `minimax`؛ و`MINIMAX_OAUTH_TOKEN` أو `MINIMAX_API_KEY` لـ `minimax-portal`
- تحتفظ مراجع Kilo المدعومة بـ Gemini بنفس
مسار تنقية توقيع أفكار Gemini عبر الوكيل؛ بينما يتجاوز `kilocode/kilo/auto` والتلميحات الأخرى التي لا تدعم استدلال الوكيل
حقن الاستدلال عبر الوكيل
- MiniMax: `minimax` (مفتاح API) و `minimax-portal` (OAuth)
- المصادقة: `MINIMAX_API_KEY` لـ `minimax`؛ و `MINIMAX_OAUTH_TOKEN` أو `MINIMAX_API_KEY` لـ `minimax-portal`
- مثال على النموذج: `minimax/MiniMax-M2.7` أو `minimax-portal/MiniMax-M2.7`
- تكتب عملية تهيئة MiniMax/إعداد مفتاح API تعريفات صريحة لنموذج M2.7 مع
- يكتب إعداد MiniMax/إعداد مفتاح API تعريفات صريحة لنموذج M2.7 مع
`input: ["text", "image"]`؛ بينما يبقي فهرس الموفّر المضمّن مراجع الدردشة
نصية فقط إلى أن تتحقق إعدادات ذلك الموفّر
نصية فقط إلى أن يتم تجسيد إعداد ذلك الموفّر
- Moonshot: `moonshot` (`MOONSHOT_API_KEY`)
- مثال على النموذج: `moonshot/kimi-k2.5`
- Kimi Coding: `kimi` (`KIMI_API_KEY` أو `KIMICODE_API_KEY`)
@ -455,7 +447,7 @@ concurrent requests` أو `ThrottlingException` أو `concurrency limit reached`
- NVIDIA: `nvidia` (`NVIDIA_API_KEY`)
- مثال على النموذج: `nvidia/nvidia/llama-3.1-nemotron-70b-instruct`
- StepFun: `stepfun` / `stepfun-plan` (`STEPFUN_API_KEY`)
- أمثلة على النماذج: `stepfun/step-3.5-flash` و`stepfun-plan/step-3.5-flash-2603`
- أمثلة على النماذج: `stepfun/step-3.5-flash`، `stepfun-plan/step-3.5-flash-2603`
- Together: `together` (`TOGETHER_API_KEY`)
- مثال على النموذج: `together/moonshotai/Kimi-K2.5`
- Venice: `venice` (`VENICE_API_KEY`)
@ -470,9 +462,9 @@ concurrent requests` أو `ThrottlingException` أو `concurrency limit reached`
- مثال على النموذج: `byteplus-plan/ark-code-latest`
- xAI: `xai` (`XAI_API_KEY`)
- تستخدم طلبات xAI الأصلية المضمّنة مسار xAI Responses
- يعيد `/fast` أو `params.fastMode: true` كتابة `grok-3` و`grok-3-mini` و
`grok-4` و`grok-4-0709` إلى المتغيرات الخاصة بها `*-fast`
- يتم تفعيل `tool_stream` افتراضيًا؛ اضبط
- تعيد `/fast` أو `params.fastMode: true` كتابة `grok-3` و `grok-3-mini`،
و `grok-4` و `grok-4-0709` إلى متغيراتها `*-fast`
- يكون `tool_stream` مفعّلًا افتراضيًا؛ عيّن
`agents.defaults.models["xai/<model>"].params.tool_stream` إلى `false` من أجل
تعطيله
- Mistral: `mistral` (`MISTRAL_API_KEY`)
@ -480,23 +472,23 @@ concurrent requests` أو `ThrottlingException` أو `concurrency limit reached`
- CLI: `openclaw onboard --auth-choice mistral-api-key`
- Groq: `groq` (`GROQ_API_KEY`)
- Cerebras: `cerebras` (`CEREBRAS_API_KEY`)
- تستخدم نماذج GLM على Cerebras المعرّفات `zai-glm-4.7` و`zai-glm-4.6`.
- تستخدم نماذج GLM على Cerebras المعرّفات `zai-glm-4.7` و `zai-glm-4.6`.
- عنوان URL الأساسي المتوافق مع OpenAI: `https://api.cerebras.ai/v1`.
- GitHub Copilot: `github-copilot` (`COPILOT_GITHUB_TOKEN` / `GH_TOKEN` / `GITHUB_TOKEN`)
- مثال على نموذج Hugging Face Inference: `huggingface/deepseek-ai/DeepSeek-R1`؛ CLI: `openclaw onboard --auth-choice huggingface-api-key`. راجع [Hugging Face (Inference)](/ar/providers/huggingface).
## الموفّرون عبر `models.providers` (مخصص/عنوان URL أساسي)
## الموفّرون عبر `models.providers` (عنوان URL مخصّص/أساسي)
استخدم `models.providers` (أو `models.json`) لإضافة موفّرين **مخصصين** أو
استخدم `models.providers` (أو `models.json`) لإضافة موفّرين **مخصّصين** أو
وكلاء متوافقين مع OpenAI/Anthropic.
تقوم العديد من إضافات الموفّرين المضمّنة أدناه بالفعل بنشر فهرس افتراضي.
تنشر العديد من إضافات الموفّرين المضمّنة أدناه بالفعل فهرسًا افتراضيًا.
استخدم إدخالات `models.providers.<id>` الصريحة فقط عندما تريد تجاوز
عنوان URL الأساسي أو الرؤوس أو قائمة النماذج الافتراضية.
### Moonshot AI (Kimi)
يأتي Moonshot كإضافة موفّر مضمّنة. استخدم الموفّر المضمّن
يُشحن Moonshot كإضافة موفّر مضمّنة. استخدم الموفّر المضمّن
افتراضيًا، وأضف إدخال `models.providers.moonshot` صريحًا فقط عندما
تحتاج إلى تجاوز عنوان URL الأساسي أو بيانات تعريف النموذج:
@ -505,7 +497,7 @@ concurrent requests` أو `ThrottlingException` أو `concurrency limit reached`
- مثال على النموذج: `moonshot/kimi-k2.5`
- CLI: `openclaw onboard --auth-choice moonshot-api-key` أو `openclaw onboard --auth-choice moonshot-api-key-cn`
معرّفات نموذج Kimi K2:
معرّفات نماذج Kimi K2:
[//]: # "moonshot-kimi-k2-model-refs:start"
@ -537,7 +529,7 @@ concurrent requests` أو `ThrottlingException` أو `concurrency limit reached`
### Kimi Coding
يستخدم Kimi Coding نقطة نهاية Moonshot AI المتوافقة مع Anthropic:
يستخدم Kimi Coding نقطة النهاية المتوافقة مع Anthropic الخاصة بـ Moonshot AI:
- الموفّر: `kimi`
- المصادقة: `KIMI_API_KEY`
@ -552,11 +544,11 @@ concurrent requests` أو `ThrottlingException` أو `concurrency limit reached`
}
```
لا يزال `kimi/k2p5` القديم مقبولًا كمعرّف نموذج للتوافق.
يبقى `kimi/k2p5` القديم مقبولًا بوصفه معرّف نموذج للتوافق.
### Volcano Engine (Doubao)
يتيح Volcano Engine (火山引擎) الوصول إلى Doubao ونماذج أخرى في الصين.
يوفّر Volcano Engine (火山引擎) إمكانية الوصول إلى Doubao ونماذج أخرى في الصين.
- الموفّر: `volcengine` (الترميز: `volcengine-plan`)
- المصادقة: `VOLCANO_ENGINE_API_KEY`
@ -571,12 +563,12 @@ concurrent requests` أو `ThrottlingException` أو `concurrency limit reached`
}
```
يُفَعَّل الإعداد الأولي افتراضيًا على سطح البرمجة، ولكن يتم في الوقت نفسه
تسجيل فهرس `volcengine/*` العام.
يكون الإعداد الافتراضي موجّهًا إلى سطح البرمجة، لكن فهرس
`volcengine/*` العام يُسجَّل في الوقت نفسه.
في منتقيات الإعداد الأولي/تهيئة النموذج، يفضّل خيار مصادقة Volcengine كلاً من
الصفوف `volcengine/*` و`volcengine-plan/*`. وإذا لم تكن هذه النماذج محمّلة بعد،
فإن OpenClaw يعود إلى الفهرس غير المصفّى بدلًا من إظهار منتقٍ فارغ
في منتقيات الإعداد/تكوين النموذج، يفضّل خيار مصادقة Volcengine صفوف
`volcengine/*` و `volcengine-plan/*` معًا. إذا لم تكن هذه النماذج محمّلة بعد،
فإن OpenClaw يعود إلى الفهرس غير المفلتر بدلًا من عرض منتقٍ فارغ
مقيّد بنطاق الموفّر.
النماذج المتاحة:
@ -597,7 +589,7 @@ concurrent requests` أو `ThrottlingException` أو `concurrency limit reached`
### BytePlus (الدولي)
يوفّر BytePlus ARK الوصول إلى نفس النماذج التي يوفّرها Volcano Engine للمستخدمين الدوليين.
يوفّر BytePlus ARK الوصول إلى النماذج نفسها التي يوفّرها Volcano Engine للمستخدمين الدوليين.
- الموفّر: `byteplus` (البرمجة: `byteplus-plan`)
- المصادقة: `BYTEPLUS_API_KEY`
@ -612,12 +604,12 @@ concurrent requests` أو `ThrottlingException` أو `concurrency limit reached`
}
```
يُفَعَّل الإعداد الأولي افتراضيًا على سطح البرمجة، ولكن يتم في الوقت نفسه
تسجيل فهرس `byteplus/*` العام.
يكون الإعداد الافتراضي موجّهًا إلى سطح البرمجة، لكن فهرس
`byteplus/*` العام يُسجَّل في الوقت نفسه.
في منتقيات الإعداد الأولي/تهيئة النموذج، يفضّل خيار مصادقة BytePlus كلاً من
الصفوف `byteplus/*` و`byteplus-plan/*`. وإذا لم تكن هذه النماذج محمّلة بعد،
فإن OpenClaw يعود إلى الفهرس غير المصفّى بدلًا من إظهار منتقٍ فارغ
في منتقيات الإعداد/تكوين النموذج، يفضّل خيار مصادقة BytePlus صفوف
`byteplus/*` و `byteplus-plan/*` معًا. إذا لم تكن هذه النماذج محمّلة بعد،
فإن OpenClaw يعود إلى الفهرس غير المفلتر بدلًا من عرض منتقٍ فارغ
مقيّد بنطاق الموفّر.
النماذج المتاحة:
@ -636,7 +628,7 @@ concurrent requests` أو `ThrottlingException` أو `concurrency limit reached`
### Synthetic
يقدّم Synthetic نماذج متوافقة مع Anthropic خلف الموفّر `synthetic`:
يوفّر Synthetic نماذج متوافقة مع Anthropic خلف الموفّر `synthetic`:
- الموفّر: `synthetic`
- المصادقة: `SYNTHETIC_API_KEY`
@ -664,31 +656,53 @@ concurrent requests` أو `ThrottlingException` أو `concurrency limit reached`
### MiniMax
يتم تهيئة MiniMax عبر `models.providers` لأنه يستخدم نقاط نهاية مخصصة:
يتم تكوين MiniMax عبر `models.providers` لأنه يستخدم نقاط نهاية مخصّصة:
- MiniMax OAuth (عالمي): `--auth-choice minimax-global-oauth`
- MiniMax OAuth (الصين): `--auth-choice minimax-cn-oauth`
- مفتاح API لـ MiniMax (عالمي): `--auth-choice minimax-global-api`
- مفتاح API لـ MiniMax (الصين): `--auth-choice minimax-cn-api`
- المصادقة: `MINIMAX_API_KEY` لـ `minimax`؛ و`MINIMAX_OAUTH_TOKEN` أو
- المصادقة: `MINIMAX_API_KEY` لـ `minimax`؛ و `MINIMAX_OAUTH_TOKEN` أو
`MINIMAX_API_KEY` لـ `minimax-portal`
راجع [/providers/minimax](/ar/providers/minimax) للحصول على تفاصيل الإعداد وخيارات النماذج ومقتطفات الإعدادات.
راجع [/providers/minimax](/ar/providers/minimax) للحصول على تفاصيل الإعداد وخيارات النماذج ومقتطفات الإعداد.
على مسار البث المتوافق مع Anthropic في MiniMax، يعطّل OpenClaw التفكير
في مسار البث المتوافق مع Anthropic الخاص بـ MiniMax، يعطّل OpenClaw التفكير
افتراضيًا ما لم تقم بتعيينه صراحةً، كما أن `/fast on` يعيد كتابة
`MiniMax-M2.7` إلى `MiniMax-M2.7-highspeed`.
تقسيم الإمكانات المملوك للإضافة:
تقسيم القدرات المملوك للإضافة:
- تظل القيم الافتراضية للنص/الدردشة على `minimax/MiniMax-M2.7`
- توليد الصور هو `minimax/image-01` أو `minimax-portal/image-01`
- فهم الصور هو `MiniMax-VL-01` مملوك للإضافة على مساري مصادقة MiniMax كليهما
- تظل افتراضيات النص/الدردشة على `minimax/MiniMax-M2.7`
- يكون توليد الصور على `minimax/image-01` أو `minimax-portal/image-01`
- يكون فهم الصور على `MiniMax-VL-01` المملوك للإضافة على مساري مصادقة MiniMax كليهما
- يظل البحث على الويب على معرّف الموفّر `minimax`
### LM Studio
يُشحن LM Studio كإضافة موفّر مضمّنة تستخدم API الأصلية:
- الموفّر: `lmstudio`
- المصادقة: `LM_API_TOKEN`
- عنوان URL الأساسي الافتراضي للاستدلال: `http://localhost:1234/v1`
ثم عيّن نموذجًا (استبدله بأحد المعرّفات التي يعيدها `http://localhost:1234/api/v1/models`):
```json5
{
agents: {
defaults: { model: { primary: "lmstudio/openai/gpt-oss-20b" } },
},
}
```
يستخدم OpenClaw نقطتي النهاية الأصليتين في LM Studio وهما `/api/v1/models` و `/api/v1/models/load`
للاكتشاف + التحميل التلقائي، ويستخدم `/v1/chat/completions` للاستدلال افتراضيًا.
راجع [/providers/lmstudio](/ar/providers/lmstudio) للحصول على الإعداد واستكشاف الأخطاء وإصلاحها.
### Ollama
يأتي Ollama كإضافة موفّر مضمّنة ويستخدم API الأصلية الخاصة بـ Ollama:
يُشحن Ollama كإضافة موفّر مضمّنة ويستخدم API الأصلية الخاصة بـ Ollama:
- الموفّر: `ollama`
- المصادقة: لا شيء مطلوب (خادم محلي)
@ -708,27 +722,27 @@ ollama pull llama3.3
}
```
يتم اكتشاف Ollama محليًا عند `http://127.0.0.1:11434` عندما تختار الاشتراك عبر
`OLLAMA_API_KEY`، وتضيف إضافة الموفّر المضمّنة Ollama مباشرةً إلى
يتم اكتشاف Ollama محليًا على `http://127.0.0.1:11434` عندما تشترك
باستخدام `OLLAMA_API_KEY`، وتضيف إضافة الموفّر المضمّنة Ollama مباشرةً إلى
`openclaw onboard` ومنتقي النماذج. راجع [/providers/ollama](/ar/providers/ollama)
للاطلاع على الإعداد الأولي، ووضع السحابة/الوضع المحلي، والإعدادات المخصصة.
للاطلاع على الإعداد، ووضع السحابة/الوضع المحلي، والإعدادات المخصّصة.
### vLLM
يأتي vLLM كإضافة موفّر مضمّنة للخوادم المحلية/المستضافة ذاتيًا المتوافقة مع OpenAI
:
يُشحن vLLM كإضافة موفّر مضمّنة للخوادم المحلية/المستضافة ذاتيًا
المتوافقة مع OpenAI:
- الموفّر: `vllm`
- المصادقة: اختيارية (بحسب خادمك)
- عنوان URL الأساسي الافتراضي: `http://127.0.0.1:8000/v1`
للاشتراك في الاكتشاف التلقائي محليًا (أي قيمة تعمل إذا كان خادمك لا يفرض المصادقة):
للاشتراك في الاكتشاف التلقائي محليًا (أي قيمة تعمل إذا لم يفرض خادمك المصادقة):
```bash
export VLLM_API_KEY="vllm-local"
```
ثم اضبط نموذجًا (استبدله بأحد المعرّفات التي يعيدها `/v1/models`):
ثم عيّن نموذجًا (استبدله بأحد المعرّفات التي يعيدها `/v1/models`):
```json5
{
@ -738,11 +752,11 @@ export VLLM_API_KEY="vllm-local"
}
```
راجع [/providers/vllm](/ar/providers/vllm) للحصول على التفاصيل.
راجع [/providers/vllm](/ar/providers/vllm) للتفاصيل.
### SGLang
يأتي SGLang كإضافة موفّر مضمّنة للخوادم الذاتية الاستضافة السريعة
يُشحن SGLang كإضافة موفّر مضمّنة للخوادم السريعة المستضافة ذاتيًا
المتوافقة مع OpenAI:
- الموفّر: `sglang`
@ -756,7 +770,7 @@ export VLLM_API_KEY="vllm-local"
export SGLANG_API_KEY="sglang-local"
```
ثم اضبط نموذجًا (استبدله بأحد المعرّفات التي يعيدها `/v1/models`):
ثم عيّن نموذجًا (استبدله بأحد المعرّفات التي يعيدها `/v1/models`):
```json5
{
@ -766,7 +780,7 @@ export SGLANG_API_KEY="sglang-local"
}
```
راجع [/providers/sglang](/ar/providers/sglang) للحصول على التفاصيل.
راجع [/providers/sglang](/ar/providers/sglang) للتفاصيل.
### الوكلاء المحليون (LM Studio وvLLM وLiteLLM وما إلى ذلك)
@ -777,19 +791,19 @@ export SGLANG_API_KEY="sglang-local"
agents: {
defaults: {
model: { primary: "lmstudio/my-local-model" },
models: { "lmstudio/my-local-model": { alias: "محلي" } },
models: { "lmstudio/my-local-model": { alias: "Local" } },
},
},
models: {
providers: {
lmstudio: {
baseUrl: "http://localhost:1234/v1",
apiKey: "LMSTUDIO_KEY",
apiKey: "${LM_API_TOKEN}",
api: "openai-completions",
models: [
{
id: "my-local-model",
name: "النموذج المحلي",
name: "Local Model",
reasoning: false,
input: ["text"],
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
@ -805,20 +819,20 @@ export SGLANG_API_KEY="sglang-local"
ملاحظات:
- بالنسبة إلى الموفّرين المخصصين، تكون `reasoning` و`input` و`cost` و`contextWindow` و`maxTokens` اختيارية.
- بالنسبة إلى الموفّرين المخصّصين، فإن `reasoning` و `input` و `cost` و `contextWindow` و `maxTokens` اختيارية.
وعند حذفها، يستخدم OpenClaw القيم الافتراضية التالية:
- `reasoning: false`
- `input: ["text"]`
- `cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }`
- `contextWindow: 200000`
- `maxTokens: 8192`
- الموصى به: تعيين قيم صريحة تطابق حدود الوكيل/النموذج لديك.
- بالنسبة إلى `api: "openai-completions"` على نقاط النهاية غير الأصلية (أي `baseUrl` غير فارغ يكون مضيفه غير `api.openai.com`)، يفرض OpenClaw القيمة `compat.supportsDeveloperRole: false` لتجنب أخطاء 400 من الموفّر عند عدم دعم أدوار `developer`.
- كما تتخطى المسارات الوكيلة المتوافقة مع OpenAI تشكيل الطلب الأصلي الخاص بـ OpenAI فقط:
لا `service_tier`، ولا `store` في Responses، ولا تلميحات للتخزين المؤقت للموجّه، ولا
تشكيل لحمولة توافق الاستدلال في OpenAI، ولا رؤوس إسناد مخفية خاصة بـ OpenClaw.
- يُنصح بذلك: عيّن قيمًا صريحة تطابق حدود الوكيل/النموذج لديك.
- بالنسبة إلى `api: "openai-completions"` على نقاط النهاية غير الأصلية (أي `baseUrl` غير فارغ لا يكون مضيفه `api.openai.com`)، يفرض OpenClaw القيمة `compat.supportsDeveloperRole: false` لتجنب أخطاء 400 من الموفّر بسبب أدوار `developer` غير المدعومة.
- كما تتجاوز مسارات OpenAI-compatible بنمط الوكيل أيضًا
تشكيل الطلبات الأصلي الخاص بـ OpenAI فقط: لا `service_tier`، ولا `store` الخاص بـ Responses، ولا تلميحات لذاكرة التخزين المؤقت للموجّه، ولا
تشكيل لحمولة توافق الاستدلال الخاصة بـ OpenAI، ولا رؤوس إسناد مخفية خاصة بـ OpenClaw.
- إذا كان `baseUrl` فارغًا/محذوفًا، يحتفظ OpenClaw بسلوك OpenAI الافتراضي (الذي يُحل إلى `api.openai.com`).
- من أجل الأمان، تتم أيضًا إعادة تجاوز القيمة الصريحة `compat.supportsDeveloperRole: true` على نقاط النهاية غير الأصلية `openai-completions`.
- من أجل السلامة، يتم مع ذلك تجاوز `compat.supportsDeveloperRole: true` الصريح على نقاط نهاية `openai-completions` غير الأصلية.
## أمثلة CLI
@ -828,11 +842,11 @@ openclaw models set opencode/claude-opus-4-6
openclaw models list
```
راجع أيضًا: [/gateway/configuration](/ar/gateway/configuration) للاطلاع على أمثلة إعدادات كاملة.
راجع أيضًا: [/gateway/configuration](/ar/gateway/configuration) للحصول على أمثلة إعدادات كاملة.
## ذو صلة
- [النماذج](/ar/concepts/models) — إعدادات النماذج والأسماء المستعارة
- [التحويل الاحتياطي للنموذج](/ar/concepts/model-failover) — سلاسل التراجع وسلوك إعادة المحاولة
- [الفشل الاحتياطي للنماذج](/ar/concepts/model-failover) — سلاسل الفشل الاحتياطي وسلوك إعادة المحاولة
- [مرجع الإعدادات](/ar/gateway/configuration-reference#agent-defaults) — مفاتيح إعدادات النموذج
- [الموفّرون](/ar/providers) — أدلة الإعداد الخاصة بكل موفّر
- [الموفّرون](/ar/providers) — أدلة الإعداد لكل موفّر

View File

@ -1,33 +1,33 @@
---
read_when:
- توسيع qa-lab أو qa-channel
- إضافة سيناريوهات QA مدعومة بالمستودع
- بناء أتمتة QA بدرجة واقعية أعلى حول لوحة معلومات Gateway
summary: البنية الخاصة لأتمتة QA لـ qa-lab وqa-channel والسيناريوهات المُهيأة مسبقًا وتقارير البروتوكول
title: أتمتة QA الشاملة من البداية إلى النهاية
- إضافة سيناريوهات QA مدعومة من المستودع
- بناء أتمتة QA أكثر واقعية حول لوحة تحكم Gateway
summary: شكل أتمتة QA الخاصة لـ qa-lab وqa-channel والسيناريوهات المُهيأة مسبقًا وتقارير البروتوكول
title: أتمتة QA من طرف إلى طرف
x-i18n:
generated_at: "2026-04-12T23:28:11Z"
generated_at: "2026-04-13T07:28:53Z"
model: gpt-5.4
provider: openai
source_hash: b9fe27dc049823d5e3eb7ae1eac6aad21ed9e917425611fb1dbcb28ab9210d5e
source_hash: a4a4f5c765163565c95c2a071f201775fd9d8d60cad4ff25d71e4710559c1570
source_path: concepts/qa-e2e-automation.md
workflow: 15
---
# أتمتة QA الشاملة من البداية إلى النهاية
# أتمتة QA من طرف إلى طرف
تهدف حزمة QA الخاصة إلى اختبار OpenClaw بطريقة أكثر واقعية وبهيئة أقرب إلى القنوات، مقارنة بما يمكن لاختبار وحدة واحد أن يقدمه.
تهدف حزمة QA الخاصة إلى اختبار OpenClaw بطريقة أكثر واقعية وبنيةً شبيهة بالقنوات مقارنةً بما يمكن أن يقدمه اختبار وحدات واحد.
الأجزاء الحالية:
المكوّنات الحالية:
- `extensions/qa-channel`: قناة رسائل اصطناعية تتضمن أسطح الرسائل الخاصة DM، والقنوات، والخيوط، والتفاعلات، والتحرير، والحذف.
- `extensions/qa-lab`: واجهة مستخدم لتصحيح الأخطاء وناقل QA لمراقبة النص الحواري، وحقن الرسائل الواردة، وتصدير تقرير Markdown.
- `qa/`: أصول تمهيدية مدعومة بالمستودع لمهمة البداية وسيناريوهات QA الأساسية.
- `extensions/qa-channel`: قناة رسائل اصطناعية بواجهات للرسائل الخاصة DM، والقنوات، والخيوط، والتفاعلات، والتحرير، والحذف.
- `extensions/qa-lab`: واجهة مستخدم لتصحيح الأخطاء وناقل QA لمراقبة النصّ الحواري، وحقن الرسائل الواردة، وتصدير تقرير Markdown.
- `qa/`: أصول تهيئة مدعومة من المستودع لمهمة البدء وسيناريوهات 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، ويراقب سلوك القناة الفعلي، ويسجل ما نجح وما فشل وما بقي معطّلًا.
يؤدي ذلك إلى بناء موقع QA، وبدء مسار Gateway المعتمد على Docker، وإتاحة صفحة QA Lab حيث يمكن لمشغّل أو لحلقة أتمتة تكليف الوكيل بمهمة QA، ومراقبة سلوك القناة الحقيقي، وتسجيل ما نجح وما فشل وما بقي معطّلًا.
للحصول على تكرار أسرع في واجهة QA Lab من دون إعادة بناء صورة Docker في كل مرة، ابدأ الحزمة مع حزمة QA Lab مركّبة عبر bind mount:
للتكرار الأسرع على واجهة مستخدم QA Lab بدون إعادة بناء صورة Docker في كل مرة، ابدأ الحزمة باستخدام حزمة QA Lab مربوطة بالتحميل:
```bash
pnpm openclaw qa docker-build-image
@ -46,34 +46,34 @@ 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` بناء تلك الحزمة عند التغيير، ويعيد المتصفح التحميل تلقائيًا عندما يتغير تجزئة أصول QA Lab.
يحافظ `qa:lab:up:fast` على خدمات Docker على صورة مبنية مسبقًا ويربط تحميل `extensions/qa-lab/web/dist` داخل حاوية `qa-lab`. ويعيد `qa:lab:watch` بناء تلك الحزمة عند التغيير، ويُعاد تحميل المتصفح تلقائيًا عندما يتغير تجزئة أصول QA Lab.
لتشغيل مسار smoke حقيقي النقل لـ Matrix، شغّل:
لتشغيل مسار Matrix اختباري يعتمد نقلًا حقيقيًا، شغّل:
```bash
pnpm openclaw qa matrix
```
يوفّر هذا المسار خادم Tuwunel منزليًا مؤقتًا داخل Docker، ويسجل مستخدمين مؤقتين للسائق، وSUT، والمراقب، وينشئ غرفة خاصة واحدة، ثم يشغّل Plugin Matrix الحقيقي داخل عملية فرعية QA gateway. ويحافظ مسار النقل الحي على ضبط العملية الفرعية محصورًا في النقل قيد الاختبار، بحيث يعمل Matrix من دون `qa-channel` في ضبط العملية الفرعية.
يوفّر هذا المسار خادم Tuwunel منزليًا مؤقتًا في Docker، ويسجل مستخدمين مؤقتين للسائق وSUT والمراقب، وينشئ غرفة خاصة واحدة، ثم يشغّل Plugin Matrix الحقيقي داخل child خاص بـ QA gateway. ويحافظ مسار النقل الحي على إعدادات child محصورة ضمن النقل قيد الاختبار، لذلك يعمل Matrix من دون `qa-channel` في إعدادات child.
لتشغيل مسار smoke حقيقي النقل لـ 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 | بوابة الإشارات Mention | حظر قائمة السماح | رد على المستوى الأعلى | استئناف بعد إعادة التشغيل | متابعة الخيط | عزل الخيط | مراقبة التفاعلات | أمر Help |
| ------- | ------ | ---------------------- | ----------------- | ---------------------- | -------------------------- | ------------ | ---------- | ---------------- | -------- |
| Matrix | x | x | x | x | x | x | x | x | |
| Telegram | x | | | | | | | | x |
يبقي هذا `qa-channel` كحزمة سلوك المنتج الواسعة، بينما تتشارك Matrix وTelegram ووسائط النقل الحية المستقبلية قائمة فحص صريحة واحدة لعقد النقل.
يحافظ ذلك على `qa-channel` باعتباره مجموعة واسعة لسلوك المنتج، بينما تتشارك Matrix وTelegram ووسائل النقل الحية المستقبلية قائمة تحقق صريحة واحدة لعقد النقل.
لتشغيل مسار Linux VM مؤقت من دون إدخال Docker في مسار QA، شغّل:
@ -81,67 +81,67 @@ pnpm openclaw qa telegram
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`، ثم نسخ تقرير QA والملخص المعتادين مرة أخرى إلى `.artifacts/qa-e2e/...` على المضيف.
ويعيد استخدام سلوك اختيار السيناريو نفسه الذي يستخدمه `qa suite` على المضيف.
تُنفَّذ عمليات suite على المضيف وMultipass لعدة سيناريوهات محددة بالتوازي مع عمال Gateway معزولين افتراضيًا، حتى 64 عاملًا أو عدد السيناريوهات المحددة. استخدم `--concurrency <count>` لضبط عدد العمال، أو `--concurrency 1` للتنفيذ التسلسلي.
تعيد عمليات التشغيل الحية تمرير مدخلات مصادقة QA المدعومة والعملية للضيف: مفاتيح المزوّد المعتمدة على env، ومسار إعدادات موفّر QA الحي، و`CODEX_HOME` عند وجوده. أبقِ `--output-dir` تحت جذر المستودع حتى يتمكن الضيف من الكتابة مرة أخرى عبر مساحة العمل المركّبة.
## البذور المدعومة بالمستودع
## البذور المدعومة من المستودع
توجد الأصول التمهيدية في `qa/`:
توجد أصول التهيئة في `qa/`:
- `qa/scenarios/index.md`
- `qa/scenarios/*.md`
هذه موجودة عمدًا في git بحيث تكون خطة QA مرئية لكل من البشر والوكيل.
هذه الملفات موجودة عمدًا في git حتى تكون خطة QA مرئية لكل من البشر والوكيل.
يجب أن يبقى `qa-lab` مشغّل Markdown عامًا. كل ملف Markdown خاص بسيناريو هو المصدر المرجعي لتشغيل اختبار واحد، ويجب أن يعرّف:
يجب أن يبقى `qa-lab` مشغّل Markdown عامًا. يجب أن يكون كل ملف Markdown للسيناريو هو مصدر الحقيقة لتشغيل اختبار واحد، وأن يعرّف ما يلي:
- بيانات السيناريو الوصفية
- مراجع المستندات والشفرة
- مراجع الوثائق والكود
- متطلبات Plugin الاختيارية
- تصحيح ضبط Gateway اختياري
- تصحيح إعدادات Gateway اختياري
- `qa-flow` القابل للتنفيذ
يُسمح لسطح وقت التشغيل القابل لإعادة الاستخدام الذي يدعم `qa-flow` بأن يبقى عامًا وعابرًا لعدة أجزاء. على سبيل المثال، يمكن لسيناريوهات Markdown أن تجمع بين مساعدات جهة النقل ومساعدات جهة المتصفح التي تقود Control UI المضمّن عبر واجهة Gateway `browser.request` من دون إضافة مشغّل خاص بحالة معينة.
يجب أن تبقى القائمة الأساسية واسعة بما يكفي لتغطية:
- محادثات DM والقنوات
- سلوك الخيوط
- دورة حياة إجراءات الرسائل
- استدعاءات Cron
- استرجاع الذاكرة
- استدعاء الذاكرة
- تبديل النماذج
- تمرير المهمة إلى وكيل فرعي
- قراءة المستودع وقراءة المستندات
- مهمة بناء صغيرة واحدة مثل Lobster Invaders
- تسليم الوكيل الفرعي
- قراءة المستودع وقراءة الوثائق
- مهمة بناء صغيرة مثل Lobster Invaders
## محولات النقل
يمتلك `qa-lab` طبقة نقل عامة لسيناريوهات QA المكتوبة بـ Markdown.
`qa-channel` هو أول محول على هذه الطبقة، لكن الهدف التصميمي أوسع:
يجب أن تُوصَل القنوات المستقبلية، سواء كانت حقيقية أو اصطناعية، إلى مشغّل suite نفسه بدلًا من إضافة مشغّل QA خاص بالنقل.
يمتلك `qa-lab` واجهة نقل عامة لسيناريوهات QA المبنية على Markdown.
ويُعد `qa-channel` أول محول على هذه الواجهة، لكن هدف التصميم أوسع: يجب أن تتصل القنوات الحقيقية أو الاصطناعية المستقبلية بالمشغّل نفسه للمجموعة بدلًا من إضافة مشغّل QA خاص بالنقل.
على مستوى البنية، يكون التقسيم كالتالي:
على مستوى البنية، يكون التقسيم كما يلي:
- يمتلك `qa-lab` تنفيذ السيناريو العام، وتزامن العمّال، وكتابة الأصول الناتجة، وإعداد التقارير.
- يمتلك محول النقل ضبط Gateway، والجاهزية، ومراقبة الوارد والصادر، وإجراءات النقل، وحالة النقل المطبّعة.
- تحدد ملفات السيناريو Markdown تحت `qa/scenarios/` تشغيل الاختبار؛ ويوفر `qa-lab` سطح وقت التشغيل القابل لإعادة الاستخدام الذي ينفذها.
- يمتلك `qa-lab` التنفيذ العام للسيناريوهات، وتوازي العمال، وكتابة المخرجات، وإعداد التقارير.
- يمتلك محول النقل إعدادات Gateway، والجاهزية، ومراقبة الوارد والصادر، وإجراءات النقل، وحالة النقل الموحّدة.
- تحدد ملفات سيناريوهات Markdown تحت `qa/scenarios/` تشغيل الاختبار؛ ويوفّر `qa-lab` سطح وقت التشغيل القابل لإعادة الاستخدام الذي ينفذها.
يوجد دليل الاعتماد الموجه للمشرفين لمحولات القنوات الجديدة في
توجد إرشادات الاعتماد الخاصة بالمشرفين لمحولات القنوات الجديدة في
[Testing](/ar/help/testing#adding-a-channel-to-qa).
## إعداد التقارير
يصدّر `qa-lab` تقرير بروتوكول بصيغة Markdown من المخطط الزمني للناقل المرصود.
يُصدّر `qa-lab` تقرير بروتوكول بصيغة Markdown من الخط الزمني لناقل الأحداث المرصود.
ويجب أن يجيب التقرير عن:
- ما الذي نجح
- ما الذي فشل
- ما الذي بقي معطّلًا
- ما سيناريوهات المتابعة التي تستحق الإضافة
- ما سيناريوهات المتابعة الجديرة بالإضافة
لفحوصات الطابع والأسلوب، شغّل السيناريو نفسه عبر عدة مراجع نماذج حية
واكتب تقرير Markdown مُقيَّمًا:
لإجراء فحوصات الطابع والأسلوب، شغّل السيناريو نفسه عبر عدة مراجع نماذج حية واكتب تقرير Markdown مُقيّمًا:
```bash
pnpm openclaw qa character-eval \
@ -160,20 +160,20 @@ pnpm openclaw qa character-eval \
--judge-concurrency 16
```
يشغّل هذا الأمر عمليات فرعية محلية لـ 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`، تكون نماذج التحكيم الافتراضية هي
يشغّل هذا الأمر عمليات child محلية لـ QA gateway، وليس Docker. يجب أن تضبط سيناريوهات تقييم الطابع الشخصية عبر `SOUL.md`، ثم تشغّل أدوار مستخدم عادية مثل الدردشة، والمساعدة في مساحة العمل، ومهام الملفات الصغيرة. يجب ألا يُخبَر النموذج المرشح بأنه قيد التقييم. يحتفظ الأمر بكل نص حواري كامل، ويسجّل إحصاءات تشغيل أساسية، ثم يطلب من نماذج التحكيم في وضع fast مع استدلال `xhigh` ترتيب التشغيلات بحسب الطبيعية والأجواء والفكاهة.
استخدم `--blind-judge-models` عند المقارنة بين المزوّدين: ستظل مطالبة التحكيم تتلقى كل نص حواري وحالة تشغيل، لكن تُستبدل مراجع المرشحين بتسميات محايدة مثل `candidate-01`؛ ويعيد التقرير ربط التصنيفات بالمراجع الحقيقية بعد التحليل.
تستخدم تشغيلات المرشحين افتراضيًا مستوى تفكير `high`، مع `xhigh` لنماذج OpenAI التي تدعمه. يمكنك تجاوز مرشح محدد مباشرةً باستخدام
`--model provider/model,thinking=<level>`. وما يزال `--thinking <level>` يضبط قيمة احتياطية عامة، كما جرى الإبقاء على الصيغة الأقدم `--model-thinking <provider/model=level>` للتوافق.
تستخدم مراجع المرشحين من OpenAI وضع fast افتراضيًا حتى تُستخدم المعالجة ذات الأولوية حيث يدعمها المزوّد. أضف `,fast` أو `,no-fast` أو `,fast=false` مباشرةً عندما يحتاج مرشح واحد أو حكم واحد إلى تجاوز. مرّر `--fast` فقط عندما تريد فرض وضع 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`، تكون النماذج الحَكَم الافتراضية هي
`openai/gpt-5.4,thinking=xhigh,fast` و
`anthropic/claude-opus-4-6,thinking=high`.
## مستندات ذات صلة
## وثائق ذات صلة
- [Testing](/ar/help/testing)
- [QA Channel](/ar/channels/qa-channel)

View File

@ -1,28 +1,28 @@
---
read_when:
- تريد تقديم النماذج من جهاز GPU الخاص بك
- أنت تقوم بربط LM Studio أو وكيل متوافق مع OpenAI
- تحتاج إلى أكثر إرشادات النماذج المحلية أمانًا
summary: شغّل OpenClaw على نماذج LLM محلية (LM Studio وvLLM وLiteLLM ونقاط نهاية OpenAI مخصصة)
- أنت تقوم بإعداد LM Studio أو وكيل متوافق مع OpenAI
- تحتاج إلى أكثر الإرشادات أمانًا للنماذج المحلية
summary: شغّل OpenClaw على نماذج LLM المحلية (LM Studio، vLLM، LiteLLM، ونقاط نهاية OpenAI المخصصة)
title: النماذج المحلية
x-i18n:
generated_at: "2026-04-08T02:14:58Z"
generated_at: "2026-04-13T07:28:52Z"
model: gpt-5.4
provider: openai
source_hash: d619d72b0e06914ebacb7e9f38b746caf1b9ce8908c9c6638c3acdddbaa025e8
source_hash: 3ecb61b3e6e34d3666f9b688cd694d92c5fb211cf8c420fa876f7ccf5789154a
source_path: gateway/local-models.md
workflow: 15
---
# النماذج المحلية
التشغيل المحلي ممكن، لكن OpenClaw يتوقع سياقًا كبيرًا + وسائل دفاع قوية ضد حقن المطالبات. البطاقات الصغيرة تقتطع السياق وتسرّب الأمان. استهدف مستوى مرتفعًا: **استوديوهين Mac Studio ممتلئين بالمواصفات على الأقل أو جهاز GPU مكافئ (~$30k+)**. تعمل وحدة **24 GB** GPU واحدة فقط مع المطالبات الأخف وزمن استجابة أعلى. استخدم **أكبر / النسخة الكاملة من النموذج التي يمكنك تشغيلها**؛ إذ إن نقاط التحقق المكمّمة بشدة أو “الصغيرة” تزيد من خطر حقن المطالبات (راجع [الأمان](/ar/gateway/security)).
الاستخدام المحلي ممكن، لكن OpenClaw يتوقع سياقًا كبيرًا + وسائل دفاع قوية ضد حقن الأوامر. البطاقات الصغيرة تقطع السياق وتُضعف الأمان. استهدف مواصفات عالية: **≥2 من أجهزة Mac Studio بأقصى تجهيز أو ما يعادلها من منصات GPU (~$30k+)**. تعمل بطاقة GPU واحدة بسعة **24 GB** فقط مع الطلبات الأخف وبزمن استجابة أعلى. استخدم **أكبر / النسخة كاملة الحجم من النموذج التي يمكنك تشغيلها**؛ فالإصدارات المضغوطة بشدة أو نقاط التحقق “الصغيرة” تزيد من خطر حقن الأوامر (راجع [الأمان](/ar/gateway/security)).
إذا كنت تريد أقل إعداد محلي احتكاكًا، فابدأ بـ [Ollama](/ar/providers/ollama) و`openclaw onboard`. هذه الصفحة هي الدليل العملي الموجّه للإعدادات المحلية الأعلى مستوى وخوادم OpenAI المحلية المخصصة المتوافقة.
إذا كنت تريد أقل إعداد محلي تعقيدًا، فابدأ بـ [LM Studio](/ar/providers/lmstudio) أو [Ollama](/ar/providers/ollama) واستخدم `openclaw onboard`. هذه الصفحة هي الدليل التوجيهي الموصى به للبُنى المحلية الأعلى مستوى وخوادم OpenAI-compatible المحلية المخصصة.
## الموصى به: LM Studio + نموذج محلي كبير (Responses API)
أفضل بنية محلية حالية. حمّل نموذجًا كبيرًا في LM Studio (على سبيل المثال، إصدارًا كامل الحجم من Qwen أو DeepSeek أو Llama)، ثم فعّل الخادم المحلي (الافتراضي `http://127.0.0.1:1234`)، واستخدم Responses API لإبقاء الاستدلال منفصلًا عن النص النهائي.
أفضل بنية محلية حاليًا. حمّل نموذجًا كبيرًا في LM Studio (على سبيل المثال، إصدارًا كامل الحجم من Qwen أو DeepSeek أو Llama)، ثم فعّل الخادم المحلي (الافتراضي `http://127.0.0.1:1234`)، واستخدم Responses API لإبقاء الاستدلال منفصلًا عن النص النهائي.
```json5
{
@ -59,16 +59,16 @@ x-i18n:
}
```
**قائمة الإعداد**
**قائمة التحقق للإعداد**
- ثبّت LM Studio: [https://lmstudio.ai](https://lmstudio.ai)
- في LM Studio، نزّل **أكبر إصدار نموذج متاح** (تجنب المتغيرات “الصغيرة”/المكمّمة بشدة)، ثم شغّل الخادم، وتأكد من أن `http://127.0.0.1:1234/v1/models` يعرضه.
- في LM Studio، نزّل **أكبر إصدار نموذج متاح** (تجنب الإصدارات “الصغيرة”/المضغوطة بشدة)، ثم شغّل الخادم وتأكد من أن `http://127.0.0.1:1234/v1/models` يعرضه.
- استبدل `my-local-model` بمعرّف النموذج الفعلي الظاهر في LM Studio.
- أبقِ النموذج محمّلًا؛ فالتحميل البارد يضيف زمن تأخير عند البدء.
- عدّل `contextWindow`/`maxTokens` إذا كان إصدار LM Studio لديك مختلفًا.
- بالنسبة إلى WhatsApp، التزم بـ Responses API حتى يُرسَل النص النهائي فقط.
- أبقِ النموذج محمّلًا؛ فالتحميل البارد يضيف زمن بدء.
- عدّل `contextWindow`/`maxTokens` إذا كان إصدار LM Studio لديك يختلف.
- بالنسبة إلى WhatsApp، التزم باستخدام Responses API بحيث يتم إرسال النص النهائي فقط.
أبقِ النماذج المستضافة مضبوطة حتى عند التشغيل المحلي؛ استخدم `models.mode: "merge"` حتى تبقى خيارات الرجوع الاحتياطي متاحة.
أبقِ النماذج المستضافة مُعدّة حتى عند التشغيل المحلي؛ استخدم `models.mode: "merge"` حتى تظل البدائل الاحتياطية متاحة.
### إعداد هجين: أساسي مستضاف، واحتياطي محلي
@ -113,16 +113,16 @@ x-i18n:
### محلي أولًا مع شبكة أمان مستضافة
بدّل ترتيب الأساسي والاحتياطي؛ وأبقِ كتلة providers نفسها و`models.mode: "merge"` حتى تتمكن من الرجوع إلى Sonnet أو Opus عندما يتعطل الجهاز المحلي.
بدّل ترتيب الأساسي والاحتياطي؛ وأبقِ كتلة providers نفسها و`models.mode: "merge"` حتى تتمكن من الرجوع إلى Sonnet أو Opus عندما يتوقف الجهاز المحلي.
### الاستضافة الإقليمية / توجيه البيانات
- تتوفر أيضًا متغيرات MiniMax/Kimi/GLM المستضافة على OpenRouter مع نقاط نهاية مثبّتة على مناطق محددة (مثل الاستضافة داخل الولايات المتحدة). اختر المتغير الإقليمي هناك للحفاظ على حركة المرور ضمن الولاية القضائية التي تختارها مع الاستمرار في استخدام `models.mode: "merge"` لخيارات الرجوع الاحتياطي من Anthropic/OpenAI.
- يظل التشغيل المحلي فقط هو المسار الأقوى للخصوصية؛ أما التوجيه الإقليمي المستضاف فهو الحل الوسط عندما تحتاج إلى ميزات المزوّد لكنك تريد التحكم في تدفق البيانات.
- تتوفر أيضًا إصدارات MiniMax/Kimi/GLM المستضافة على OpenRouter مع نقاط نهاية مقيّدة حسب المنطقة (مثل الاستضافة داخل الولايات المتحدة). اختر الإصدار الإقليمي هناك للحفاظ على حركة البيانات ضمن النطاق القضائي الذي تختاره، مع الاستمرار في استخدام `models.mode: "merge"` لبدائل Anthropic/OpenAI الاحتياطية.
- يظل التشغيل المحلي فقط هو أقوى خيار للخصوصية؛ أما التوجيه الإقليمي المستضاف فهو حل وسط عندما تحتاج إلى ميزات المزوّد لكنك تريد التحكم في تدفق البيانات.
## وكلاء محليون آخرون متوافقون مع OpenAI
تعمل vLLM وLiteLLM وOAI-proxy أو البوابات المخصصة إذا كانت تعرض نقطة نهاية `/v1` بأسلوب OpenAI. استبدل كتلة provider أعلاه بنقطة النهاية ومعرّف النموذج الخاصين بك:
يعمل vLLM وLiteLLM وOAI-proxy أو البوابات المخصصة إذا كانت توفّر نقطة نهاية `/v1` بأسلوب OpenAI. استبدل كتلة provider أعلاه بنقطة النهاية ومعرّف النموذج لديك:
```json5
{
@ -150,42 +150,41 @@ x-i18n:
}
```
أبقِ `models.mode: "merge"` حتى تظل النماذج المستضافة متاحة كخيارات رجوع احتياطي.
أبقِ `models.mode: "merge"` حتى تظل النماذج المستضافة متاحة كبدائل احتياطية.
ملاحظة سلوكية لواجهات `/v1` المحلية/الوسيطة:
- يتعامل OpenClaw مع هذه الواجهات على أنها مسارات وكيل متوافقة مع OpenAI، وليست
- يتعامل OpenClaw مع هذه المسارات على أنها مسارات وكيل متوافقة مع OpenAI، وليست
نقاط نهاية OpenAI أصلية
- لا ينطبق هنا تشكيل الطلبات الخاص بـ OpenAI الأصلية فقط: لا
يوجد `service_tier`، ولا `store` الخاص بـ Responses، ولا تشكيل حمولة
التوافق مع الاستدلال الخاص بـ OpenAI، ولا تلميحات لذاكرة التخزين المؤقت للمطالبات
- لا يتم حقن ترويسات الإسناد المخفية الخاصة بـ OpenClaw (`originator` و`version` و`User-Agent`)
- لا تنطبق هنا صياغة الطلب الخاصة بـ OpenAI الأصلية فقط: لا يوجد
`service_tier`، ولا `store` الخاص بـ Responses، ولا صياغة حمولة
التوافق مع reasoning في OpenAI، ولا تلميحات cache الخاصة بالطلبات
- لا يتم حقن ترويسات الإسناد المخفية الخاصة بـ OpenClaw (`originator`، `version`، `User-Agent`)
على عناوين URL الخاصة بهذه الوكلاء المخصصة
ملاحظات التوافق لواجهات OpenAI المتوافقة الأكثر صرامة:
ملاحظات التوافق للواجهات الأكثر تشددًا والمتوافقة مع OpenAI:
- تقبل بعض الخوادم فقط `messages[].content` كسلسلة نصية في Chat Completions، وليس
مصفوفات أجزاء المحتوى المهيكلة. اضبط
`models.providers.<provider>.models[].compat.requiresStringContent: true` لهذه
النقاط.
- بعض الواجهات المحلية الأصغر أو الأكثر صرامة تكون غير مستقرة مع الشكل الكامل
لمطالبة بيئة تشغيل الوكيل في OpenClaw، خاصة عند تضمين مخططات الأدوات. إذا كانت
الواجهة تعمل مع استدعاءات `/v1/chat/completions` المباشرة الصغيرة ولكنها تفشل في
الأدوار العادية لوكيل OpenClaw، فجرّب
`models.providers.<provider>.models[].compat.supportsTools: false` أولًا.
- إذا كانت الواجهة لا تزال تفشل فقط في تشغيلات OpenClaw الأكبر، فعادةً ما تكون
المشكلة المتبقية في سعة النموذج/الخادم upstream أو في خطأ في الواجهة الخلفية،
وليس في طبقة النقل الخاصة بـ OpenClaw.
- تقبل بعض الخوادم فقط القيمة النصية `messages[].content` في Chat Completions، وليس
مصفوفات أجزاء المحتوى المنظمة. اضبط
`models.providers.<provider>.models[].compat.requiresStringContent: true` لتلك
النقاط النهائية.
- بعض الواجهات المحلية الأصغر أو الأكثر تشددًا تكون غير مستقرة مع الشكل الكامل
لطلب agent-runtime في OpenClaw، خاصة عند تضمين مخططات الأدوات. إذا كانت
الواجهة تعمل مع استدعاءات `/v1/chat/completions` المباشرة الصغيرة لكنها تفشل مع
الأدوار العادية للوكلاء في OpenClaw، فجرّب أولًا
`models.providers.<provider>.models[].compat.supportsTools: false`.
- إذا استمرت الواجهة بالفشل فقط مع عمليات OpenClaw الأكبر، فغالبًا ما تكون المشكلة
سعة النموذج/الخادم من الجهة العليا أو خطأ في الواجهة الخلفية، وليست طبقة النقل في OpenClaw.
## استكشاف الأخطاء وإصلاحها
- هل تستطيع البوابة الوصول إلى الوكيل؟ `curl http://127.0.0.1:1234/v1/models`.
- هل يستطيع Gateway الوصول إلى الوكيل؟ `curl http://127.0.0.1:1234/v1/models`.
- هل تم إلغاء تحميل نموذج LM Studio؟ أعد تحميله؛ فالبدء البارد سبب شائع لـ “التعليق”.
- أخطاء في السياق؟ خفّض `contextWindow` أو ارفع حد الخادم.
- هل يعيد الخادم المتوافق مع OpenAI الخطأ `messages[].content ... expected a string`؟
- أخطاء السياق؟ خفّض `contextWindow` أو ارفع حد الخادم لديك.
- هل يعيد خادم OpenAI-compatible الخطأ `messages[].content ... expected a string`؟
أضف `compat.requiresStringContent: true` إلى إدخال ذلك النموذج.
- تعمل استدعاءات `/v1/chat/completions` المباشرة الصغيرة، لكن `openclaw infer model run`
يفشل على Gemma أو نموذج محلي آخر؟ عطّل مخططات الأدوات أولًا عبر
`compat.supportsTools: false`، ثم أعد الاختبار. إذا استمر الخادم في التعطل فقط
مع مطالبات OpenClaw الأكبر، فاعتبر ذلك قيدًا في الخادم/النموذج upstream.
- الأمان: تتجاوز النماذج المحلية عوامل التصفية الموجودة لدى المزوّد؛ أبقِ الوكلاء محدودي النطاق وفعّل الضغط لتقليل نطاق تأثير حقن المطالبات.
- هل تعمل استدعاءات `/v1/chat/completions` المباشرة الصغيرة، لكن `openclaw infer model run`
يفشل مع Gemma أو نموذج محلي آخر؟ عطّل مخططات الأدوات أولًا عبر
`compat.supportsTools: false`، ثم اختبر مجددًا. إذا استمر الخادم في الانهيار فقط
مع طلبات OpenClaw الأكبر، فاعتبر ذلك قيدًا من الخادم/النموذج في الجهة العليا.
- الأمان: تتجاوز النماذج المحلية عوامل التصفية من جهة المزوّد؛ أبقِ الوكلاء محدودي النطاق وفعّل Compaction لتقليل نطاق تأثير حقن الأوامر.

File diff suppressed because it is too large Load Diff

View File

@ -1,29 +1,29 @@
---
read_when:
- تريد اختيار موفر نموذج
- تريد اختيار موفّر نماذج
- تحتاج إلى نظرة عامة سريعة على الواجهات الخلفية المدعومة لـ LLM
summary: موفرو النماذج (LLMs) الذين يدعمهم OpenClaw
title: دليل الموفرين
summary: موفرو النماذج (LLMs) المدعومون بواسطة OpenClaw
title: دليل المزوّدين
x-i18n:
generated_at: "2026-04-08T02:17:25Z"
generated_at: "2026-04-13T07:28:50Z"
model: gpt-5.4
provider: openai
source_hash: e7bee5528b7fc9a982b3d0eaa4930cb77f7bded19a47aec00572b6fcbd823a70
source_hash: 3bc682d008119719826f71f74959ab32bedf14214459f5e6ac9cb70371d3c540
source_path: providers/index.md
workflow: 15
---
# موفرو النماذج
يمكن لـ OpenClaw استخدام العديد من موفري LLM. اختر موفرًا، ثم أكمل المصادقة، ثم اضبط
يمكن لـ OpenClaw استخدام العديد من موفري LLM. اختر موفّرًا، وأكمل المصادقة، ثم عيّن
النموذج الافتراضي بصيغة `provider/model`.
هل تبحث عن وثائق قنوات الدردشة (WhatsApp/Telegram/Discord/Slack/Mattermost (plugin)/إلخ)؟ راجع [القنوات](/ar/channels).
هل تبحث عن وثائق قنوات الدردشة (WhatsApp/Telegram/Discord/Slack/Mattermost (Plugin)/إلخ)؟ راجع [القنوات](/ar/channels).
## بداية سريعة
## البدء السريع
1. أكمل المصادقة مع الموفر (عادةً عبر `openclaw onboard`).
2. اضبط النموذج الافتراضي:
1. أكمل المصادقة مع المزوّد (عادةً عبر `openclaw onboard`).
2. عيّن النموذج الافتراضي:
```json5
{
@ -31,13 +31,13 @@ x-i18n:
}
```
## وثائق الموفرين
## وثائق المزوّدين
- [Alibaba Model Studio](/ar/providers/alibaba)
- [Amazon Bedrock](/ar/providers/bedrock)
- [Anthropic (API + Claude CLI)](/ar/providers/anthropic)
- [Arcee AI (نماذج Trinity)](/ar/providers/arcee)
- [BytePlus (الدولي)](/ar/concepts/model-providers#byteplus-international)
- [BytePlus (دولي)](/ar/concepts/model-providers#byteplus-international)
- [Chutes](/ar/providers/chutes)
- [ComfyUI](/ar/providers/comfy)
- [Cloudflare AI Gateway](/ar/providers/cloudflare-ai-gateway)
@ -48,10 +48,11 @@ x-i18n:
- [نماذج GLM](/ar/providers/glm)
- [Google (Gemini)](/ar/providers/google)
- [Groq (استدلال LPU)](/ar/providers/groq)
- [Hugging Face (Inference)](/ar/providers/huggingface)
- [Hugging Face (الاستدلال)](/ar/providers/huggingface)
- [inferrs (نماذج محلية)](/ar/providers/inferrs)
- [Kilocode](/ar/providers/kilocode)
- [LiteLLM (بوابة موحدة)](/ar/providers/litellm)
- [LiteLLM (بوابة موحّدة)](/ar/providers/litellm)
- [LM Studio (نماذج محلية)](/ar/providers/lmstudio)
- [MiniMax](/ar/providers/minimax)
- [Mistral](/ar/providers/mistral)
- [Moonshot AI (Kimi + Kimi Coding)](/ar/providers/moonshot)
@ -61,7 +62,7 @@ x-i18n:
- [OpenCode](/ar/providers/opencode)
- [OpenCode Go](/ar/providers/opencode-go)
- [OpenRouter](/ar/providers/openrouter)
- [Perplexity (بحث الويب)](/ar/providers/perplexity-provider)
- [Perplexity (البحث على الويب)](/ar/providers/perplexity-provider)
- [Qianfan](/ar/providers/qianfan)
- [Qwen Cloud](/ar/providers/qwen)
- [Runway](/ar/providers/runway)
@ -69,7 +70,7 @@ x-i18n:
- [StepFun](/ar/providers/stepfun)
- [Synthetic](/ar/providers/synthetic)
- [Together AI](/ar/providers/together)
- [Venice (Venice AI، مع التركيز على الخصوصية)](/ar/providers/venice)
- [Venice (Venice AI، مع تركيز على الخصوصية)](/ar/providers/venice)
- [Vercel AI Gateway](/ar/providers/vercel-ai-gateway)
- [Vydra](/ar/providers/vydra)
- [vLLM (نماذج محلية)](/ar/providers/vllm)
@ -80,18 +81,18 @@ x-i18n:
## صفحات النظرة العامة المشتركة
- [المتغيرات المضمنة الإضافية](/ar/providers/models#additional-bundled-provider-variants) - Anthropic Vertex وCopilot Proxy وGemini CLI OAuth
- [إنشاء الصور](/ar/tools/image-generation) - الأداة المشتركة `image_generate`، واختيار الموفر، وسلوك التبديل الاحتياطي
- [إنشاء الموسيقى](/ar/tools/music-generation) - الأداة المشتركة `music_generate`، واختيار الموفر، وسلوك التبديل الاحتياطي
- [إنشاء الفيديو](/ar/tools/video-generation) - الأداة المشتركة `video_generate`، واختيار الموفر، وسلوك التبديل الاحتياطي
- [متغيرات إضافية مضمّنة](/ar/providers/models#additional-bundled-provider-variants) - Anthropic Vertex وCopilot Proxy وGemini CLI OAuth
- [توليد الصور](/ar/tools/image-generation) - أداة `image_generate` المشتركة، واختيار المزوّد، والتبديل التلقائي عند الفشل
- [توليد الموسيقى](/ar/tools/music-generation) - أداة `music_generate` المشتركة، واختيار المزوّد، والتبديل التلقائي عند الفشل
- [توليد الفيديو](/ar/tools/video-generation) - أداة `video_generate` المشتركة، واختيار المزوّد، والتبديل التلقائي عند الفشل
## موفرو النسخ الصوتي
## مزودو التفريغ النصي
- [Deepgram (نسخ الصوت)](/ar/providers/deepgram)
- [Deepgram (تفريغ نصي للصوت)](/ar/providers/deepgram)
## أدوات المجتمع
- [Claude Max API Proxy](/ar/providers/claude-max-api-proxy) - وكيل مجتمعي لبيانات اعتماد اشتراك Claude (تحقق من سياسة Anthropic/الشروط قبل الاستخدام)
- [Claude Max API Proxy](/ar/providers/claude-max-api-proxy) - وكيل مجتمع لبيانات اعتماد اشتراك Claude (تحقق من سياسة Anthropic/الشروط قبل الاستخدام)
للاطلاع على فهرس الموفرين الكامل (xAI وGroq وMistral وما إلى ذلك) والإعدادات المتقدمة،
للحصول على فهرس المزوّدين الكامل (xAI وGroq وMistral وما إلى ذلك) والإعدادات المتقدمة،
راجع [موفرو النماذج](/ar/concepts/model-providers).

View File

@ -0,0 +1,163 @@
---
read_when:
- تريد تشغيل OpenClaw باستخدام نماذج مفتوحة المصدر عبر LM Studio
- تريد إعداد LM Studio وتكوينه
summary: شغّل OpenClaw باستخدام LM Studio
title: LM Studio
x-i18n:
generated_at: "2026-04-13T07:28:51Z"
model: gpt-5.4
provider: openai
source_hash: 11264584e8277260d4215feb7c751329ce04f59e9228da1c58e147c21cd9ac2c
source_path: providers/lmstudio.md
workflow: 15
---
# LM Studio
يُعد LM Studio تطبيقًا سهل الاستخدام لكنه قوي لتشغيل النماذج مفتوحة الأوزان على أجهزتك الخاصة. يتيح لك تشغيل نماذج llama.cpp (GGUF) أو MLX (Apple Silicon). يتوفر كحزمة بواجهة رسومية أو كخادم دون واجهة (`llmster`). للاطلاع على وثائق المنتج والإعداد، راجع [lmstudio.ai](https://lmstudio.ai/).
## البدء السريع
1. ثبّت LM Studio (سطح المكتب) أو `llmster` (دون واجهة)، ثم ابدأ الخادم المحلي:
```bash
curl -fsSL https://lmstudio.ai/install.sh | bash
```
2. ابدأ الخادم
تأكد من أنك إما تشغّل تطبيق سطح المكتب أو تشغّل الخادم باستخدام الأمر التالي:
```bash
lms daemon up
```
```bash
lms server start --port 1234
```
إذا كنت تستخدم التطبيق، فتأكد من تمكين JIT للحصول على تجربة سلسة. تعرّف على المزيد في [دليل JIT وTTL في LM Studio](https://lmstudio.ai/docs/developer/core/ttl-and-auto-evict).
3. يتطلب OpenClaw قيمة رمز مميز لـ LM Studio. اضبط `LM_API_TOKEN`:
```bash
export LM_API_TOKEN="your-lm-studio-api-token"
```
إذا كانت المصادقة معطّلة في LM Studio، فاستخدم أي قيمة رمز مميز غير فارغة:
```bash
export LM_API_TOKEN="placeholder-key"
```
للحصول على تفاصيل إعداد المصادقة في LM Studio، راجع [مصادقة LM Studio](https://lmstudio.ai/docs/developer/core/authentication).
4. شغّل الإعداد الأولي واختر `LM Studio`:
```bash
openclaw onboard
```
5. أثناء الإعداد الأولي، استخدم موجّه `Default model` لاختيار نموذج LM Studio الخاص بك.
يمكنك أيضًا تعيينه أو تغييره لاحقًا:
```bash
openclaw models set lmstudio/qwen/qwen3.5-9b
```
تتبع مفاتيح نماذج LM Studio تنسيق `author/model-name` (مثل `qwen/qwen3.5-9b`). وتضيف مراجع نماذج OpenClaw اسم المزوّد في البداية: `lmstudio/qwen/qwen3.5-9b`. يمكنك العثور على المفتاح الدقيق لأي نموذج عبر تشغيل `curl http://localhost:1234/api/v1/models` والنظر إلى الحقل `key`.
## الإعداد الأولي غير التفاعلي
استخدم الإعداد الأولي غير التفاعلي عندما تريد إعدادًا قابلًا للبرمجة النصية (CI، التهيئة، الإقلاع الأولي عن بُعد):
```bash
openclaw onboard \
--non-interactive \
--accept-risk \
--auth-choice lmstudio
```
أو حدّد عنوان URL الأساسي أو النموذج مع مفتاح API:
```bash
openclaw onboard \
--non-interactive \
--accept-risk \
--auth-choice lmstudio \
--custom-base-url http://localhost:1234/v1 \
--lmstudio-api-key "$LM_API_TOKEN" \
--custom-model-id qwen/qwen3.5-9b
```
يأخذ `--custom-model-id` مفتاح النموذج كما يعيده LM Studio (مثل `qwen/qwen3.5-9b`)، من دون بادئة المزوّد `lmstudio/`.
يتطلب الإعداد الأولي غير التفاعلي `--lmstudio-api-key` (أو `LM_API_TOKEN` في البيئة).
وبالنسبة إلى خوادم LM Studio غير التي تتطلب المصادقة، تعمل أي قيمة رمز مميز غير فارغة.
يبقى `--custom-api-key` مدعومًا للتوافق، لكن يُفضّل `--lmstudio-api-key` مع LM Studio.
يكتب هذا `models.providers.lmstudio`، ويضبط النموذج الافتراضي إلى
`lmstudio/<custom-model-id>`، ويكتب ملف تعريف المصادقة `lmstudio:default`.
يمكن للإعداد التفاعلي أن يطلب طول سياق تحميل مفضّل اختياريًا ويطبّقه على نماذج LM Studio المكتشفة التي يحفظها في الإعدادات.
## الإعدادات
### إعدادات صريحة
```json5
{
models: {
providers: {
lmstudio: {
baseUrl: "http://localhost:1234/v1",
apiKey: "${LM_API_TOKEN}",
api: "openai-completions",
models: [
{
id: "qwen/qwen3-coder-next",
name: "Qwen 3 Coder Next",
reasoning: false,
input: ["text"],
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
contextWindow: 128000,
maxTokens: 8192,
},
],
},
},
},
}
```
## استكشاف الأخطاء وإصلاحها
### لم يتم اكتشاف LM Studio
تأكد من أن LM Studio قيد التشغيل وأنك قمت بتعيين `LM_API_TOKEN` (وبالنسبة إلى الخوادم غير التي تتطلب المصادقة، تعمل أي قيمة رمز مميز غير فارغة):
```bash
# Start via desktop app, or headless:
lms server start --port 1234
```
تحقق من إمكانية الوصول إلى API:
```bash
curl http://localhost:1234/api/v1/models
```
### أخطاء المصادقة (HTTP 401)
إذا أبلغ الإعداد عن HTTP 401، فتحقق من مفتاح API الخاص بك:
- تأكد من أن `LM_API_TOKEN` يطابق المفتاح المهيأ في LM Studio.
- للحصول على تفاصيل إعداد المصادقة في LM Studio، راجع [مصادقة LM Studio](https://lmstudio.ai/docs/developer/core/authentication).
- إذا كان الخادم لا يتطلب المصادقة، فاستخدم أي قيمة رمز مميز غير فارغة لـ `LM_API_TOKEN`.
### تحميل النموذج عند الطلب
يدعم LM Studio تحميل النماذج عند الطلب (JIT)، حيث تُحمَّل النماذج عند أول طلب. تأكد من تمكين هذا لتجنب أخطاء "Model not loaded".

View File

@ -1,23 +1,23 @@
---
read_when:
- تريد فهم الميزات التي قد تستدعي APIs مدفوعة
- تحتاج إلى مراجعة المفاتيح، والتكاليف، ووضوح الاستخدام
- أنت تشرح تقارير التكلفة في /status أو /usage
summary: راجع ما الذي يمكن أن ينفق المال، والمفاتيح المستخدمة، وكيفية عرض الاستخدام
- تريد أن تفهم الميزات التي قد تستدعي واجهات API مدفوعة الثمن
- تحتاج إلى مراجعة المفاتيح والتكاليف وإمكانية عرض الاستخدام
- أنت تشرح تقارير التكلفة في `/status` أو `/usage`
summary: راجع ما الذي يمكن أن ينفق المال، وما المفاتيح المستخدمة، وكيفية عرض الاستخدام
title: استخدام API والتكاليف
x-i18n:
generated_at: "2026-04-07T07:21:59Z"
generated_at: "2026-04-13T07:28:51Z"
model: gpt-5.4
provider: openai
source_hash: ab6eefcde9ac014df6cdda7aaa77ef48f16936ab12eaa883d9fe69425a31a2dd
source_hash: f5077e74d38ef781ac7a72603e9f9e3829a628b95c5a9967915ab0f321565429
source_path: reference/api-usage-costs.md
workflow: 15
---
# استخدام API والتكاليف
يسرد هذا المستند **الميزات التي يمكنها استدعاء مفاتيح API** والمكان الذي تظهر فيه تكاليفها. ويركز على
ميزات OpenClaw التي يمكنها توليد استخدام للمزود أو استدعاءات API مدفوعة.
تسرد هذه الوثيقة **الميزات التي يمكن أن تستدعي مفاتيح API** وأماكن ظهور تكاليفها. وتركّز على
ميزات OpenClaw التي يمكن أن تولّد استخدامًا لمزوّد الخدمة أو استدعاءات API مدفوعة.
## أين تظهر التكاليف (الدردشة + CLI)
@ -25,131 +25,134 @@ x-i18n:
- يعرض `/status` نموذج الجلسة الحالي، واستخدام السياق، ورموز آخر استجابة.
- إذا كان النموذج يستخدم **مصادقة بمفتاح API**، فإن `/status` يعرض أيضًا **التكلفة التقديرية** لآخر رد.
- إذا كانت البيانات الوصفية الحية للجلسة محدودة، يمكن لـ `/status` استعادة
عدادات الرموز/الذاكرة المؤقتة وعلامة نموذج وقت التشغيل النشط من أحدث إدخال استخدام في transcript.
وتظل القيم الحية غير الصفرية الموجودة مسبقًا هي صاحبة الأولوية، ويمكن لإجماليات transcript
بحجم prompt أن تتغلب عندما تكون الإجماليات المخزنة مفقودة أو أصغر.
- إذا كانت البيانات الوصفية للجلسة الحية محدودة، يمكن لـ `/status` استعادة
عدّادات الرموز/التخزين المؤقت
ووسم نموذج وقت التشغيل النشط من أحدث إدخال لاستخدام السجل
النصي. وتظل القيم الحية الحالية غير الصفرية ذات أولوية، كما يمكن أن
تتفوّق إجماليات السجل النصي ذات حجم المطالبة عندما تكون الإجماليات المخزّنة
مفقودة أو أصغر.
**تذييل التكلفة لكل رسالة**
**تذييل تكلفة لكل رسالة**
- يقوم `/usage full` بإلحاق تذييل استخدام بكل رد، بما في ذلك **التكلفة التقديرية** (لمصادقة مفتاح API فقط).
- يعرض `/usage tokens` الرموز فقط؛ وتخفي تدفقات OAuth/token وCLI ذات نمط الاشتراك التكلفة بالدولار.
- ملاحظة Gemini CLI: عندما يعيد CLI مخرجات JSON، يقرأ OpenClaw معلومات الاستخدام من
`stats`، ويُطبّع `stats.cached` إلى `cacheRead`، ويستنتج رموز الإدخال
- يضيف `/usage full` تذييل استخدام إلى كل رد، بما في ذلك **التكلفة التقديرية** (لمفاتيح API فقط).
- يعرض `/usage tokens` الرموز فقط؛ بينما تُخفي تدفقات OAuth/الرموز بنمط الاشتراك وتدفقات CLI تكلفة الدولار.
- ملاحظة Gemini CLI: عندما يعيد CLI مخرجات JSON، يقرأ OpenClaw الاستخدام من
`stats`، ويطبّع `stats.cached` إلى `cacheRead`، ويستنتج رموز الإدخال
من `stats.input_tokens - stats.cached` عند الحاجة.
ملاحظة Anthropic: أخبرنا موظفو Anthropic أن استخدام Claude CLI بأسلوب OpenClaw
مسموح به مجددًا، لذلك يتعامل OpenClaw مع إعادة استخدام Claude CLI واستخدام `claude -p` على أنه
معتمد لهذا التكامل ما لم تنشر Anthropic سياسة جديدة.
ولا تزال Anthropic لا تعرض تقديرًا بالدولار لكل رسالة يمكن لـ OpenClaw
ملاحظة Anthropic: أخبرنا فريق Anthropic أن استخدام Claude CLI بأسلوب OpenClaw
مسموح به مرة أخرى، لذا يتعامل OpenClaw مع إعادة استخدام Claude CLI واستخدام `claude -p` على أنهما
مصرّح بهما لهذا التكامل ما لم تنشر Anthropic سياسة جديدة.
ولا تزال Anthropic لا توفّر تقديرًا بالدولار لكل رسالة يمكن لـ OpenClaw
عرضه في `/usage full`.
**نوافذ استخدام CLI (حصص المزود)**
**نوافذ استخدام CLI (حصص المزوّد)**
- يعرض `openclaw status --usage` و`openclaw channels list` **نوافذ استخدام** المزود
(لقطات للحصة، وليست تكاليف لكل رسالة).
- يتم تطبيع المخرجات البشرية إلى `X% left` عبر جميع المزودين.
- مزودو نوافذ الاستخدام الحاليون: Anthropic، وGitHub Copilot، وGemini CLI،
وOpenAI Codex، وMiniMax، وXiaomi، وz.ai.
- ملاحظة MiniMax: تعني الحقول الخام `usage_percent` / `usagePercent` مقدار
الحصة المتبقية، لذلك يعكسها OpenClaw قبل العرض. وتظل الحقول المعتمدة على العدّ هي الغالبة
عند وجودها. وإذا أعاد المزود `model_remains`، فإن OpenClaw يفضل
- يعرض `openclaw status --usage` و`openclaw channels list` **نوافذ الاستخدام** الخاصة بالمزوّد
(لقطات للحصص، وليست تكاليف لكل رسالة).
- يتم توحيد المخرجات البشرية إلى `X% left` عبر جميع المزوّدين.
- مزوّدو نوافذ الاستخدام الحاليون: Anthropic وGitHub Copilot وGemini CLI،
وOpenAI Codex وMiniMax وXiaomi وz.ai.
- ملاحظة MiniMax: تعني حقول `usage_percent` / `usagePercent` الخام لديه
الحصة المتبقية، لذلك يعكسها OpenClaw قبل العرض. وتظل الحقول المعتمدة على العد
ذات أولوية عند توفّرها. وإذا أعاد المزوّد `model_remains`، فإن OpenClaw يفضّل
إدخال نموذج الدردشة، ويستنتج تسمية النافذة من الطوابع الزمنية عند الحاجة،
ويتضمن اسم النموذج في تسمية الخطة.
- تأتي مصادقة الاستخدام لنوافذ الحصص هذه من hooks خاصة بالمزود عند
توفرها؛ وإلا فإن OpenClaw يرجع إلى مطابقة بيانات اعتماد OAuth/API-key
ويضمّن اسم النموذج في تسمية الخطة.
- تأتي مصادقة الاستخدام لنوافذ الحصص تلك من خطّافات خاصة بالمزوّد عند
توفّرها؛ وإلا يعود OpenClaw إلى مطابقة بيانات اعتماد OAuth/مفاتيح API
من ملفات تعريف المصادقة، أو البيئة، أو الإعدادات.
راجع [استخدام الرموز والتكاليف](/ar/reference/token-use) للاطلاع على التفاصيل والأمثلة.
## كيف يتم اكتشاف المفاتيح
## كيفية اكتشاف المفاتيح
يمكن لـ OpenClaw التقاط بيانات الاعتماد من:
- **ملفات تعريف المصادقة** (لكل وكيل، مخزنة في `auth-profiles.json`).
- **متغيرات البيئة** (مثل `OPENAI_API_KEY`, `BRAVE_API_KEY`, `FIRECRAWL_API_KEY`).
- **الإعدادات** (`models.providers.*.apiKey`, `plugins.entries.*.config.webSearch.apiKey`,
`plugins.entries.firecrawl.config.webFetch.apiKey`, `memorySearch.*`,
`talk.providers.*.apiKey`).
- **Skills** (`skills.entries.<name>.apiKey`) التي قد تصدر المفاتيح إلى بيئة عملية Skill.
- **ملفات تعريف المصادقة** (لكل وكيل، وتُخزَّن في `auth-profiles.json`).
- **متغيّرات البيئة** (مثل `OPENAI_API_KEY` و`BRAVE_API_KEY` و`FIRECRAWL_API_KEY`).
- **الإعدادات** (`models.providers.*.apiKey` و`plugins.entries.*.config.webSearch.apiKey`،
و`plugins.entries.firecrawl.config.webFetch.apiKey` و`memorySearch.*`،
و`talk.providers.*.apiKey`).
- **Skills** (`skills.entries.<name>.apiKey`) التي قد تصدّر المفاتيح إلى بيئة عملية Skill.
## الميزات التي يمكنها إنفاق المفاتيح
## الميزات التي يمكن أن تنفق المفاتيح
### 1) استجابات النماذج الأساسية (الدردشة + الأدوات)
### 1) استجابات النموذج الأساسية (الدردشة + الأدوات)
كل رد أو استدعاء أداة يستخدم **مزود النموذج الحالي** (OpenAI أو Anthropic أو غيرهما). وهذا هو
المصدر الرئيسي للاستخدام والتكلفة.
كل رد أو استدعاء أداة يستخدم **مزوّد النموذج الحالي** (OpenAI أو Anthropic أو غيرهما). وهذا هو
المصدر الأساسي للاستخدام والتكلفة.
ويشمل ذلك أيضًا المزودين المستضافين بنمط الاشتراك الذين ما زالوا يفرضون الرسوم خارج
واجهة OpenClaw المحلية، مثل **OpenAI Codex** و**Alibaba Cloud Model Studio
Coding Plan** و**MiniMax Coding Plan** و**Z.AI / GLM Coding Plan** و
مسار تسجيل دخول Claude في OpenClaw من Anthropic مع تفعيل **Extra Usage**.
ويتضمن ذلك أيضًا المزوّدين المستضافين بنمط الاشتراك الذين لا تزال تتم
محاسبتهم خارج واجهة OpenClaw المحلية، مثل **OpenAI Codex** و**Alibaba Cloud Model Studio
Coding Plan** و**MiniMax Coding Plan** و**Z.AI / GLM Coding Plan**،
ومسار Claude-login في OpenClaw الخاص بـ Anthropic مع تفعيل **Extra Usage**.
راجع [النماذج](/ar/providers/models) لإعدادات التسعير و[استخدام الرموز والتكاليف](/ar/reference/token-use) للعرض.
### 2) فهم الوسائط (الصوت/الصورة/الفيديو)
يمكن تلخيص الوسائط الواردة أو نسخها قبل تشغيل الرد. وهذا يستخدم APIs النماذج/المزودين.
يمكن تلخيص الوسائط الواردة أو تفريغها نصيًا قبل تنفيذ الرد. وهذا يستخدم واجهات API الخاصة بالنموذج/المزوّد.
- الصوت: OpenAI / Groq / Deepgram / Google / Mistral.
- الصورة: OpenAI / OpenRouter / Anthropic / Google / MiniMax / Moonshot / Qwen / Z.A.I.
- الصورة: OpenAI / OpenRouter / Anthropic / Google / MiniMax / Moonshot / Qwen / Z.AI.
- الفيديو: Google / Qwen / Moonshot.
راجع [فهم الوسائط](/ar/nodes/media-understanding).
### 3) توليد الصور والفيديو
### 3) إنشاء الصور والفيديو
يمكن لقدرات التوليد المشتركة أيضًا إنفاق مفاتيح المزود:
يمكن لقدرات الإنشاء المشتركة أيضًا أن تستهلك مفاتيح المزوّدين:
- توليد الصور: OpenAI / Google / fal / MiniMax
- توليد الفيديو: Qwen
- إنشاء الصور: OpenAI / Google / fal / MiniMax
- إنشاء الفيديو: Qwen
يمكن لتوليد الصور استنتاج مزود افتراضي مدعوم بالمصادقة عندما
لا يتم ضبط `agents.defaults.imageGenerationModel`. أما توليد الفيديو فيتطلب حاليًا
`agents.defaults.videoGenerationModel` صريحًا مثل
يمكن لإنشاء الصور استنتاج مزوّد افتراضي يعتمد على المصادقة عندما
يكون `agents.defaults.imageGenerationModel` غير مضبوط. أما إنشاء الفيديو فيتطلّب حاليًا
ضبطًا صريحًا لـ `agents.defaults.videoGenerationModel` مثل
`qwen/wan2.6-t2v`.
راجع [توليد الصور](/ar/tools/image-generation)، و[Qwen Cloud](/ar/providers/qwen)،
راجع [إنشاء الصور](/ar/tools/image-generation)، و[Qwen Cloud](/ar/providers/qwen)،
و[النماذج](/ar/concepts/models).
### 4) Embeddings الذاكرة + البحث الدلالي
### 4) تضمينات الذاكرة + البحث الدلالي
يستخدم البحث الدلالي في الذاكرة **APIs embeddings** عند ضبطه لمزودات بعيدة:
يستخدم البحث الدلالي في الذاكرة **واجهات API للتضمينات** عند تهيئته لمزوّدين بعيدين:
- `memorySearch.provider = "openai"` ← OpenAI embeddings
- `memorySearch.provider = "gemini"` ← Gemini embeddings
- `memorySearch.provider = "voyage"` ← Voyage embeddings
- `memorySearch.provider = "mistral"` ← Mistral embeddings
- `memorySearch.provider = "ollama"` ← Ollama embeddings (محلي/مستضاف ذاتيًا؛ وعادةً لا توجد رسوم API مستضافة)
- إمكانية fallback اختيارية إلى مزود بعيد إذا فشلت embeddings المحلية
- `memorySearch.provider = "openai"` ← تضمينات OpenAI
- `memorySearch.provider = "gemini"` ← تضمينات Gemini
- `memorySearch.provider = "voyage"` ← تضمينات Voyage
- `memorySearch.provider = "mistral"` ← تضمينات Mistral
- `memorySearch.provider = "lmstudio"` ← تضمينات LM Studio (محلي/مستضاف ذاتيًا)
- `memorySearch.provider = "ollama"` ← تضمينات Ollama (محلي/مستضاف ذاتيًا؛ عادةً بلا فوترة API مستضافة)
- رجوع اختياري إلى مزوّد بعيد إذا فشلت التضمينات المحلية
يمكنك إبقاؤه محليًا باستخدام `memorySearch.provider = "local"` دون استخدام API).
يمكنك إبقاءه محليًا باستخدام `memorySearch.provider = "local"` (من دون استخدام API).
راجع [الذاكرة](/ar/concepts/memory).
### 5) أداة البحث على الويب
قد تتحمل `web_search` رسوم استخدام حسب المزود:
قد تؤدي `web_search` إلى رسوم استخدام بحسب مزوّدك:
- **Brave Search API**: `BRAVE_API_KEY` أو `plugins.entries.brave.config.webSearch.apiKey`
- **Exa**: `EXA_API_KEY` أو `plugins.entries.exa.config.webSearch.apiKey`
- **Firecrawl**: `FIRECRAWL_API_KEY` أو `plugins.entries.firecrawl.config.webSearch.apiKey`
- **Gemini (Google Search)**: `GEMINI_API_KEY` أو `plugins.entries.google.config.webSearch.apiKey`
- **Grok (xAI)**: `XAI_API_KEY` أو `plugins.entries.xai.config.webSearch.apiKey`
- **Kimi (Moonshot)**: `KIMI_API_KEY`, `MOONSHOT_API_KEY` أو `plugins.entries.moonshot.config.webSearch.apiKey`
- **MiniMax Search**: `MINIMAX_CODE_PLAN_KEY`, `MINIMAX_CODING_API_KEY`, `MINIMAX_API_KEY` أو `plugins.entries.minimax.config.webSearch.apiKey`
- **Ollama Web Search**: بدون مفتاح افتراضيًا، لكنه يتطلب مضيف Ollama يمكن الوصول إليه بالإضافة إلى `ollama signin`؛ ويمكنه أيضًا إعادة استخدام مصادقة bearer العادية لمزود Ollama عندما يتطلبها المضيف
- **Perplexity Search API**: `PERPLEXITY_API_KEY`, `OPENROUTER_API_KEY` أو `plugins.entries.perplexity.config.webSearch.apiKey`
- **Kimi (Moonshot)**: `KIMI_API_KEY` أو `MOONSHOT_API_KEY` أو `plugins.entries.moonshot.config.webSearch.apiKey`
- **MiniMax Search**: `MINIMAX_CODE_PLAN_KEY` أو `MINIMAX_CODING_API_KEY` أو `MINIMAX_API_KEY` أو `plugins.entries.minimax.config.webSearch.apiKey`
- **Ollama Web Search**: بلا مفتاح افتراضيًا، لكنه يتطلّب مضيف Ollama يمكن الوصول إليه بالإضافة إلى `ollama signin`؛ ويمكنه أيضًا إعادة استخدام مصادقة bearer العادية الخاصة بمزوّد Ollama عندما يتطلّبها المضيف
- **Perplexity Search API**: `PERPLEXITY_API_KEY` أو `OPENROUTER_API_KEY` أو `plugins.entries.perplexity.config.webSearch.apiKey`
- **Tavily**: `TAVILY_API_KEY` أو `plugins.entries.tavily.config.webSearch.apiKey`
- **DuckDuckGo**: fallback بدون مفتاح (من دون رسوم API، لكنه غير رسمي ويعتمد على HTML)
- **SearXNG**: `SEARXNG_BASE_URL` أو `plugins.entries.searxng.config.webSearch.baseUrl` (بدون مفتاح/مستضاف ذاتيًا؛ من دون رسوم API مستضافة)
- **DuckDuckGo**: بديل احتياطي بلا مفتاح (من دون فوترة API، لكنه غير رسمي ويعتمد على HTML)
- **SearXNG**: `SEARXNG_BASE_URL` أو `plugins.entries.searxng.config.webSearch.baseUrl` (بلا مفتاح/مستضاف ذاتيًا؛ من دون فوترة API مستضافة)
لا تزال مسارات المزود القديمة `tools.web.search.*` تُحمّل عبر طبقة التوافق المؤقتة، لكنها لم تعد سطح الإعدادات الموصى به.
لا تزال مسارات المزوّد القديمة `tools.web.search.*` تُحمَّل عبر طبقة التوافق المؤقتة، لكنها لم تعد سطح الإعدادات الموصى به.
**رصيد Brave Search المجاني:** تتضمن كل خطة Brave رصيدًا مجانيًا متجددًا بقيمة \$5 شهريًا.
تبلغ تكلفة خطة Search مبلغ \$5 لكل 1,000 طلب، لذلك يغطي الرصيد
1,000 طلب شهريًا بدون رسوم. اضبط حد الاستخدام في لوحة تحكم Brave
لتجنب الرسوم غير المتوقعة.
**رصيد Brave Search المجاني:** تتضمن كل خطة Brave رصيدًا مجانيًا متجددًا
بقيمة \$5 شهريًا. وتبلغ تكلفة خطة Search \$5 لكل 1,000 طلب، لذا يغطي الرصيد
1,000 طلب شهريًا من دون رسوم. اضبط حد الاستخدام في لوحة تحكم Brave
لتجنّب الرسوم غير المتوقعة.
راجع [أدوات الويب](/ar/tools/web).
@ -159,45 +162,45 @@ Coding Plan** و**MiniMax Coding Plan** و**Z.AI / GLM Coding Plan** و
- `FIRECRAWL_API_KEY` أو `plugins.entries.firecrawl.config.webFetch.apiKey`
إذا لم يتم ضبط Firecrawl، فستعود الأداة إلى fetch مباشر + readability (من دون API مدفوع).
إذا لم يكن Firecrawl مهيّأً، فستعود الأداة إلى الجلب المباشر + readability (من دون API مدفوع).
راجع [أدوات الويب](/ar/tools/web).
### 6) لقطات استخدام المزود (الحالة/السلامة)
### 6) لقطات استخدام المزوّد (الحالة/السلامة)
تستدعي بعض أوامر الحالة **endpoints استخدام المزود** لعرض نوافذ الحصص أو سلامة المصادقة.
وتكون هذه الاستدعاءات عادة منخفضة الحجم لكنها ما تزال تضرب APIs المزود:
تستدعي بعض أوامر الحالة **نقاط نهاية استخدام المزوّد** لعرض نوافذ الحصص أو سلامة المصادقة.
وعادةً ما تكون هذه استدعاءات منخفضة الحجم، لكنها لا تزال تضرب واجهات API الخاصة بالمزوّد:
- `openclaw status --usage`
- `openclaw models status --json`
راجع [CLI النماذج](/cli/models).
راجع [Models CLI](/cli/models).
### 7) تلخيص وسيلة الحماية للضغط
### 7) تلخيص حماية Compaction
يمكن لوسيلة الحماية للضغط تلخيص سجل الجلسة باستخدام **النموذج الحالي**، ما
يستدعي APIs المزود عند تشغيلها.
يمكن لحماية Compaction تلخيص سجل الجلسة باستخدام **النموذج الحالي**، ما
يستدعي واجهات API الخاصة بالمزوّد عند تشغيله.
راجع [إدارة الجلسات + الضغط](/ar/reference/session-management-compaction).
راجع [إدارة الجلسة + Compaction](/ar/reference/session-management-compaction).
### 8) فحص / استكشاف النماذج
### 8) فحص / سبر النموذج
يمكن لـ `openclaw models scan` فحص نماذج OpenRouter ويستخدم `OPENROUTER_API_KEY` عندما
يكون الفحص مفعّلًا.
يمكن لـ `openclaw models scan` سبر نماذج OpenRouter ويستخدم `OPENROUTER_API_KEY` عندما
يكون السبر مفعّلًا.
راجع [CLI النماذج](/cli/models).
راجع [Models CLI](/cli/models).
### 9) Talk (الكلام)
### 9) Talk (الكلام)
يمكن لوضع Talk استدعاء **ElevenLabs** عند ضبطه:
يمكن لوضع Talk استدعاء **ElevenLabs** عند تهيئته:
- `ELEVENLABS_API_KEY` أو `talk.providers.elevenlabs.apiKey`
راجع [وضع Talk](/ar/nodes/talk).
### 10) Skills (APIs خارجية)
### 10) Skills (واجهات API لجهات خارجية)
يمكن لـ Skills تخزين `apiKey` في `skills.entries.<name>.apiKey`. وإذا استخدمت Skill هذا المفتاح مع
APIs خارجية، فقد تتحمل تكاليف وفقًا لمزود تلك Skill.
يمكن لـ Skills تخزين `apiKey` في `skills.entries.<name>.apiKey`. وإذا كانت Skill تستخدم هذا المفتاح مع
واجهات API خارجية، فقد تترتب عليها تكاليف وفقًا لمزوّد تلك Skill.
راجع [Skills](/ar/tools/skills).