Concepts and configuration
واجهة سطر أوامر النماذج
تدوير ملفات تعريف المصادقة، وفترات التهدئة، وكيفية تفاعل ذلك مع البدائل.
نظرة عامة سريعة على الموفّرين وأمثلة.
OpenClaw وCodex وبيئات تشغيل حلقات الوكلاء الأخرى.
مفاتيح تهيئة النماذج.
تختار مراجع النماذج موفّرًا ونموذجًا. وهي لا تختار عادةً بيئة تشغيل الوكيل منخفضة المستوى. مراجع وكلاء OpenAI هي الاستثناء الرئيسي: يعمل openai/gpt-5.5 عبر بيئة تشغيل خادم تطبيق Codex افتراضيًا على موفّر OpenAI الرسمي. يمكن أيضًا اختيار تشغيل مراجع اشتراك Copilot (github-copilot/*) عبر Plugin بيئة تشغيل وكيل GitHub Copilot الخارجي، ويبقى هذا المسار صريحًا (من دون بديل auto). تنتمي تجاوزات بيئة التشغيل الصريحة إلى سياسة الموفّر/النموذج، لا إلى الوكيل أو الجلسة بالكامل. في وضع بيئة تشغيل Codex، لا يعني المرجع openai/gpt-* الفوترة عبر مفتاح API؛ يمكن أن تأتي المصادقة من حساب Codex أو ملف تعريف OAuth باسم openai. راجع بيئات تشغيل الوكلاء وبيئة تشغيل وكيل GitHub Copilot.
كيف يعمل اختيار النموذج
يختار OpenClaw النماذج بهذا الترتيب:
النموذج الأساسي
agents.defaults.model.primary (أو agents.defaults.model).
البدائل
agents.defaults.model.fallbacks (بالترتيب).
تجاوز فشل مصادقة الموفّر
يحدث تجاوز فشل المصادقة داخل الموفّر قبل الانتقال إلى النموذج التالي.
أسطح النماذج ذات الصلة
agents.defaults.modelsهي قائمة السماح/الفهرس للنماذج التي يمكن لـ OpenClaw استخدامها (بالإضافة إلى الأسماء المستعارة). استخدم إدخالاتprovider/*لتقييد الموفّرين المرئيين مع إبقاء اكتشاف الموفّرين ديناميكيًا.- يُستخدم
agents.defaults.imageModelفقط عندما لا يستطيع النموذج الأساسي قبول الصور. - يُستخدم
agents.defaults.pdfModelبواسطة أداةpdf. إذا أُغفل، تعود الأداة إلىagents.defaults.imageModel، ثم نموذج الجلسة/النموذج الافتراضي المحلول. - يُستخدم
agents.defaults.imageGenerationModelبواسطة قدرة توليد الصور المشتركة. إذا أُغفل، فلا يزال بإمكانimage_generateاستنتاج افتراضي موفّر مدعوم بالمصادقة. يجرّب الموفّر الافتراضي الحالي أولًا، ثم بقية موفّري توليد الصور المسجلين بترتيب معرّف الموفّر. إذا عيّنت موفّرًا/نموذجًا محددًا، فهيّئ أيضًا مصادقة/مفتاح API لذلك الموفّر. - يُستخدم
agents.defaults.musicGenerationModelبواسطة قدرة توليد الموسيقى المشتركة. إذا أُغفل، فلا يزال بإمكانmusic_generateاستنتاج افتراضي موفّر مدعوم بالمصادقة. يجرّب الموفّر الافتراضي الحالي أولًا، ثم بقية موفّري توليد الموسيقى المسجلين بترتيب معرّف الموفّر. إذا عيّنت موفّرًا/نموذجًا محددًا، فهيّئ أيضًا مصادقة/مفتاح API لذلك الموفّر. - يُستخدم
agents.defaults.videoGenerationModelبواسطة قدرة توليد الفيديو المشتركة. إذا أُغفل، فلا يزال بإمكانvideo_generateاستنتاج افتراضي موفّر مدعوم بالمصادقة. يجرّب الموفّر الافتراضي الحالي أولًا، ثم بقية موفّري توليد الفيديو المسجلين بترتيب معرّف الموفّر. إذا عيّنت موفّرًا/نموذجًا محددًا، فهيّئ أيضًا مصادقة/مفتاح API لذلك الموفّر. - يمكن للافتراضيات الخاصة بكل وكيل تجاوز
agents.defaults.modelعبرagents.list[].modelمع الارتباطات (راجع توجيه الوكلاء المتعددين).
مصدر الاختيار وسلوك البدائل
يمكن أن يعني provider/model نفسه أشياء مختلفة حسب مصدره:
- الافتراضيات المهيأة (
agents.defaults.model.primaryوالنماذج الأساسية الخاصة بالوكلاء) هي نقطة البدء المعتادة وتستخدمagents.defaults.model.fallbacks. - اختيارات البديل التلقائي هي حالة استرداد مؤقتة. تُخزّن مع
modelOverrideSource: "auto"حتى تتمكن المنعطفات اللاحقة من الاستمرار في استخدام سلسلة البدائل من دون فحص نموذج أساسي معروف أنه سيئ في كل مرة؛ يفحص OpenClaw النموذج الأساسي الأصلي مرة أخرى دوريًا، ويمسح الاختيار التلقائي عند تعافيه، ويعلن انتقالات البديل/التعافي مرة واحدة لكل تغيير حالة. - اختيارات جلسة المستخدم دقيقة. يخزّن
/model، ومنتقي النماذج، وsession_status(model=...)، وsessions.patchالقيمةmodelOverrideSource: "user"؛ إذا كان ذلك الموفّر/النموذج المحدد غير قابل للوصول، يفشل OpenClaw بشكل مرئي بدلًا من الانتقال إلى نموذج آخر مهيأ. - لا تؤدي تغييرات
agents.defaults.model.primaryإلى إعادة كتابة اختيارات الجلسات الحالية. إذا قالت الحالةThis session is pinned to X; config primary Y will apply to new/unpinned sessions.، فامسح اختيار الجلسة الحالية باستخدام/model defaultحتى ترث النموذج الأساسي المهيأ مرة أخرى. - Cron
--model/ حمولةmodelهي نموذج أساسي لكل مهمة. ما زالت تستخدم البدائل المهيأة ما لم توفّر المهمة حمولةfallbacksصريحة (استخدمfallbacks: []لتشغيل cron صارم). - تحترم منتقيات النموذج الافتراضي وقائمة السماح في CLI القيمة
models.mode: "replace"عبر سردmodels.providers.*.modelsالصريحة بدلًا من تحميل الفهرس المدمج الكامل. - يطلب منتقي النماذج في واجهة التحكم من Gateway عرض النماذج المهيأ لديه:
agents.defaults.modelsعند وجوده، بما في ذلك إدخالاتprovider/*على مستوى الموفّر، وإلاmodels.providers.*.modelsالصريحة بالإضافة إلى الموفّرين ذوي المصادقة القابلة للاستخدام. يُحجز الفهرس المدمج الكامل لعروض التصفح الصريحة مثلmodels.listمعview: "all"أوopenclaw models list --all.
سياسة نماذج سريعة
- عيّن النموذج الأساسي إلى أقوى نموذج من الجيل الأحدث متاح لك.
- استخدم البدائل للمهام الحساسة للتكلفة/زمن الاستجابة وللمحادثات الأقل حساسية.
- للوكلاء المفعّلة بالأدوات أو المدخلات غير الموثوقة، تجنب طبقات النماذج الأقدم/الأضعف.
الإعداد الأولي (موصى به)
إذا كنت لا تريد تعديل التهيئة يدويًا، شغّل الإعداد الأولي:
openclaw onboardيمكنه إعداد النموذج + المصادقة للموفّرين الشائعين، بما في ذلك اشتراك OpenAI Code (Codex) (OAuth) وAnthropic (مفتاح API أو Claude CLI).
مفاتيح التهيئة (نظرة عامة)
agents.defaults.model.primaryوagents.defaults.model.fallbacksagents.defaults.imageModel.primaryوagents.defaults.imageModel.fallbacksagents.defaults.pdfModel.primaryوagents.defaults.pdfModel.fallbacksagents.defaults.imageGenerationModel.primaryوagents.defaults.imageGenerationModel.fallbacksagents.defaults.videoGenerationModel.primaryوagents.defaults.videoGenerationModel.fallbacksagents.defaults.models(قائمة سماح + أسماء مستعارة + معلمات موفّر + إدخالات موفّر ديناميكيةprovider/*)models.providers(موفّرون مخصصون مكتوبون فيmodels.json)
تعديلات آمنة لقائمة السماح
استخدم الكتابات الإضافية عند تحديث agents.defaults.models يدويًا:
openclaw config set agents.defaults.models '{"openai/gpt-5.4":{}}' --strict-json --mergeقواعد الحماية من الاستبدال غير المقصود
يحمي openclaw config set خرائط النماذج/الموفّرين من الاستبدال غير المقصود. يُرفض تعيين كائن عادي إلى agents.defaults.models أو models.providers أو models.providers.<id>.models عندما يؤدي ذلك إلى إزالة إدخالات موجودة. استخدم --merge للتغييرات الإضافية؛ واستخدم --replace فقط عندما يجب أن تصبح القيمة المقدمة هي القيمة الهدف الكاملة.
يدمج إعداد الموفّر التفاعلي وopenclaw configure --section model أيضًا اختيارات نطاق الموفّر في قائمة السماح الحالية، لذلك لا تؤدي إضافة Codex أو Ollama أو موفّر آخر إلى إسقاط إدخالات نماذج غير ذات صلة. يحافظ configure على agents.defaults.model.primary موجود عند إعادة تطبيق مصادقة الموفّر. ما تزال أوامر تعيين الافتراضي الصريحة مثل openclaw models auth login --provider <id> --set-default وopenclaw models set <model> تستبدل agents.defaults.model.primary.
"النموذج غير مسموح به" (ولماذا تتوقف الردود)
إذا عُيّن agents.defaults.models، يصبح قائمة السماح لـ /model ولتجاوزات الجلسات. عندما يختار المستخدم نموذجًا غير موجود في قائمة السماح تلك، يعيد OpenClaw:
Model "provider/model" is not allowed. Use /models to list providers, or /models <provider> to list models.Add it with: openclaw config set agents.defaults.models '{"provider/model":{}}' --strict-json --mergeعندما يتضمن الأمر المرفوض تجاوزًا لبيئة التشغيل مثل /model openai/gpt-5.5 --runtime codex، أصلح قائمة السماح أولًا، ثم أعد محاولة الأمر نفسه /model ... --runtime .... للتنفيذ الأصلي عبر Codex، يظل النموذج المحدد هو openai/gpt-5.5؛ تختار بيئة التشغيل codex الحزمة وتستخدم مصادقة Codex بشكل منفصل.
للنماذج المحلية/GGUF، خزّن المرجع الكامل المسبوق بالموفّر في قائمة السماح،
مثل ollama/gemma4:26b أو lmstudio/Gemma4-26b-a4-it-gguf أو
الموفّر/النموذج الدقيق المعروض بواسطة openclaw models list --provider <provider>.
لا تكفي أسماء الملفات المحلية المجردة أو أسماء العرض عندما تكون قائمة السماح
نشطة.
إذا كنت تريد تقييد الموفّرين من دون سرد كل نموذج يدويًا، فأضف
إدخالات provider/* إلى agents.defaults.models:
{ agents: { defaults: { models: { "openai/*": {}, "vllm/*": {}, }, }, },}مع هذه السياسة، يعرض /model و/models ومنتقيات النماذج الفهرس
المكتشف لهؤلاء الموفّرين فقط. يمكن أن تظهر نماذج جديدة من الموفّرين المحددين
من دون تعديل قائمة السماح. يمكن خلط إدخالات provider/model الدقيقة
مع إدخالات provider/* عندما تحتاج إلى نموذج محدد واحد من موفّر آخر.
مثال على تهيئة قائمة السماح:
{ agents: { defaults: { model: { primary: "anthropic/claude-sonnet-4-6" }, models: { "anthropic/claude-sonnet-4-6": { alias: "Sonnet" }, "anthropic/claude-opus-4-6": { alias: "Opus" }, }, }, },}تبديل النماذج في المحادثة (/model)
يمكنك تبديل النماذج للجلسة الحالية من دون إعادة التشغيل:
/model/model list/model 3/model openai/gpt-5.4/model default/model statusسلوك المنتقي
/model(و/model list) هو منتقي مدمج مرقّم (عائلة النموذج + الموفّرون المتاحون).- على Discord، يفتح
/modelو/modelsمنتقيًا تفاعليًا يتضمن قوائم منسدلة للموفّر والنموذج بالإضافة إلى خطوة إرسال. - على Telegram، تكون اختيارات منتقي
/modelsمقيّدة بنطاق الجلسة؛ ولا تغيّر الافتراضي الدائم للوكيل فيopenclaw.json. - أصبح
/models addمهجورًا ويعيد الآن رسالة إهجار بدلًا من تسجيل النماذج من المحادثة. - يختار
/model <#>من ذلك المنتقي.
الاستمرارية والتبديل المباشر
- يحفظ
/modelاختيار الجلسة الجديد فورًا. - إذا كان الوكيل خاملاً، فسيستخدم التشغيل التالي النموذج الجديد مباشرةً.
- إذا كان هناك تشغيل نشط بالفعل، يضع OpenClaw علامة على التبديل المباشر بأنه معلّق، ولا يعيد التشغيل بالنموذج الجديد إلا عند نقطة إعادة محاولة نظيفة.
- إذا بدأ نشاط الأدوات أو بدأ إخراج الرد بالفعل، فقد يبقى التبديل المعلّق في قائمة الانتظار حتى فرصة إعادة محاولة لاحقة أو حتى دور المستخدم التالي.
- يمسح
/model defaultاختيار الجلسة ويعيد الجلسة إلى النموذج الافتراضي المضبوط. - يكون مرجع
/modelالذي اختاره المستخدم صارمًا لتلك الجلسة: إذا تعذر الوصول إلى المزوّد/النموذج المحدد، يفشل الرد بشكل ظاهر بدلاً من الإجابة بصمت منagents.defaults.model.fallbacks. يختلف هذا عن الإعدادات الافتراضية المضبوطة وأساسيات مهام cron، التي لا يزال بإمكانها استخدام سلاسل الرجوع الاحتياطية. /model statusهو العرض التفصيلي (مرشحو المصادقة، وعند ضبطها، نقطة نهاية المزوّدbaseUrl+ وضعapi).
تحليل المراجع
- تُحلل مراجع النماذج بالتقسيم عند أول
/. استخدمprovider/modelعند كتابة/model <ref>. - إذا كان معرّف النموذج نفسه يحتوي على
/(بنمط OpenRouter)، فيجب تضمين بادئة المزوّد (مثال:/model openrouter/moonshotai/kimi-k2). - إذا حذفت المزوّد، يحل OpenClaw الإدخال بهذا الترتيب:
- تطابق الاسم المستعار
- تطابق مزوّد مضبوط وفريد لمعرّف النموذج غير المسبوق نفسه
- رجوع مهمل إلى المزوّد الافتراضي المضبوط — إذا لم يعد ذلك المزوّد يعرض النموذج الافتراضي المضبوط، يرجع OpenClaw بدلاً من ذلك إلى أول مزوّد/نموذج مضبوط لتجنب إظهار إعداد افتراضي قديم لمزوّد أزيل.
سلوك الأمر/الإعداد الكامل: أوامر الشرطة المائلة.
أوامر CLI
openclaw models listopenclaw models statusopenclaw models set <provider/model>openclaw models set-image <provider/model> openclaw models aliases listopenclaw models aliases add <alias> <provider/model>openclaw models aliases remove <alias> openclaw models fallbacks listopenclaw models fallbacks add <provider/model>openclaw models fallbacks remove <provider/model>openclaw models fallbacks clear openclaw models image-fallbacks listopenclaw models image-fallbacks add <provider/model>openclaw models image-fallbacks remove <provider/model>openclaw models image-fallbacks clearopenclaw models (بلا أمر فرعي) هو اختصار لـ models status.
models list
يعرض النماذج المضبوطة/المتاحة بالمصادقة افتراضيًا. علامات مفيدة:
--allbooleanالفهرس الكامل. يتضمن صفوف الفهرس الثابتة المملوكة للمزوّد والمضمّنة قبل ضبط المصادقة، بحيث يمكن لعروض الاكتشاف فقط إظهار النماذج غير المتاحة حتى تضيف بيانات اعتماد المزوّد المطابقة.
--localbooleanالمزوّدون المحليون فقط.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcHJvdmlkZXIgPGlk
" type="string">
التصفية حسب معرّف المزوّد، مثل moonshot. لا تُقبل تسميات العرض من أدوات الاختيار التفاعلية.
--plainbooleanنموذج واحد في كل سطر.
--jsonbooleanإخراج قابل للقراءة آليًا.
models status
يعرض النموذج الأساسي المحلول، والاحتياطيات، ونموذج الصور، ونظرة عامة للمصادقة على المزوّدين المضبوطين. كما يُظهر حالة انتهاء صلاحية OAuth للملفات الشخصية الموجودة في مخزن المصادقة (يحذّر خلال 24 ساعة افتراضيًا). يطبع --plain النموذج الأساسي المحلول فقط.
سلوك المصادقة والفحص
- تُعرض حالة OAuth دائمًا (وتُضمّن في إخراج
--json). إذا لم تكن لدى مزوّد مضبوط بيانات اعتماد، يطبعmodels statusقسم مصادقة مفقودة. - يتضمن JSON
auth.oauth(نافذة التحذير + الملفات الشخصية) وauth.providers(المصادقة الفعالة لكل مزوّد، بما في ذلك بيانات الاعتماد المدعومة بمتغيرات البيئة).auth.oauthهو لصحة ملفات مخزن المصادقة فقط؛ المزوّدون المعتمدون على البيئة فقط لا يظهرون هناك. - استخدم
--checkللأتمتة (رمز الخروج1عند الفقدان/الانتهاء، و2عند قرب الانتهاء). - استخدم
--probeلفحوصات المصادقة المباشرة؛ يمكن أن تأتي صفوف الفحص من ملفات المصادقة الشخصية، أو بيانات اعتماد البيئة، أوmodels.json. - إذا حذف
auth.order.<provider>الصريح ملفًا شخصيًا مخزنًا، يبلّغ الفحص عنexcluded_by_auth_orderبدلاً من تجربته. إذا كانت المصادقة موجودة ولكن لا يمكن حل نموذج قابل للفحص لذلك المزوّد، يبلّغ الفحص عنstatus: no_model.
مثال (Claude CLI):
claude auth loginopenclaw models statusالفحص (نماذج OpenRouter المجانية)
يفحص openclaw models scan فهرس النماذج المجانية في OpenRouter، ويمكنه اختياريًا فحص النماذج لدعم الأدوات والصور.
--no-probebooleanتخطَّ الفحوصات المباشرة (البيانات الوصفية فقط).
"--min-params"--max-age-days"--provider"--max-candidates--set-defaultbooleanعيّن agents.defaults.model.primary إلى الاختيار الأول.
--set-imagebooleanعيّن agents.defaults.imageModel.primary إلى أول اختيار للصور.
تُرتب نتائج الفحص حسب:
- دعم الصور
- زمن استجابة الأدوات
- حجم السياق
- عدد المعاملات
الإدخال:
- قائمة OpenRouter
/models(مرشح:free) - تتطلب الفحوصات المباشرة مفتاح OpenRouter API من ملفات المصادقة الشخصية أو
OPENROUTER_API_KEY(راجع متغيرات البيئة) - مرشحات اختيارية:
--max-age-days،--min-params،--provider،--max-candidates - عناصر تحكم الطلب/الفحص:
--timeout،--concurrency
عند تشغيل الفحوصات المباشرة في TTY، يمكنك تحديد الاحتياطيات تفاعليًا. في الوضع غير التفاعلي، مرر --yes لقبول الإعدادات الافتراضية. نتائج البيانات الوصفية فقط معلوماتية؛ يتطلب --set-default و--set-image فحوصات مباشرة حتى لا يضبط OpenClaw نموذج OpenRouter غير قابل للاستخدام بلا مفتاح.
سجل النماذج (models.json)
تُكتب المزوّدات المخصصة في models.providers إلى models.json ضمن دليل الوكيل (افتراضيًا ~/.openclaw/agents/<agentId>/agent/models.json). تُخزّن فهارس Plugin المزوّد كأجزاء فهرس مولّدة مملوكة للـ Plugin ضمن حالة Plugin الخاصة بالوكيل وتُحمّل تلقائيًا. يُدمج هذا الملف افتراضيًا ما لم يُعيّن models.mode إلى replace.
أسبقية وضع الدمج
أسبقية وضع الدمج لمعرّفات المزوّدين المطابقة:
- يفوز
baseUrlغير الفارغ الموجود مسبقًا فيmodels.jsonالخاص بالوكيل. - يفوز
apiKeyغير الفارغ فيmodels.jsonالخاص بالوكيل فقط عندما لا يكون ذلك المزوّد مُدارًا عبر SecretRef في سياق الإعداد/ملف المصادقة الحالي. - تُحدّث قيم
apiKeyللمزوّد المُدار عبر SecretRef من علامات المصدر (ENV_VAR_NAMEلمراجع البيئة، وsecretref-managedلمراجع الملف/التنفيذ) بدلاً من الاستمرار في حفظ الأسرار المحلولة. - تُحدّث قيم ترويسة المزوّد المُدار عبر SecretRef من علامات المصدر (
secretref-env:ENV_VAR_NAMEلمراجع البيئة، وsecretref-managedلمراجع الملف/التنفيذ). - تعود قيم
apiKey/baseUrlالفارغة أو المفقودة في الوكيل إلىmodels.providersفي الإعداد. - تُحدّث حقول المزوّد الأخرى من الإعداد وبيانات الفهرس المطبّعة.
ذات صلة
- بيئات تشغيل الوكلاء — OpenClaw وCodex وبيئات تشغيل حلقات وكلاء أخرى
- مرجع الإعدادات — مفاتيح إعداد النماذج
- توليد الصور — إعداد نموذج الصور
- تحويل النماذج عند الفشل — سلاسل الرجوع الاحتياطية
- مزوّدو النماذج — توجيه المزوّدين والمصادقة
- توليد الموسيقى — إعداد نموذج الموسيقى
- توليد الفيديو — إعداد نموذج الفيديو