Concepts and configuration
CLI مدلها
چرخش پروفایل احراز هویت، دورههای انتظار، و نحوه تعامل آن با مدلهای جایگزین.
مرور سریع ارائهدهندهها و مثالها.
PI، Codex، و دیگر زماناجراهای حلقه عامل.
کلیدهای پیکربندی مدل.
ارجاعهای مدل یک ارائهدهنده و مدل را انتخاب میکنند. آنها معمولاً زماناجرای سطح پایین عامل را انتخاب نمیکنند. برای مثال، openai/gpt-5.5 بسته به agents.defaults.agentRuntime.id میتواند از مسیر عادی ارائهدهنده OpenAI یا از طریق زماناجرای app-server در Codex اجرا شود. در حالت زماناجرای Codex، ارجاع openai/gpt-* بهمعنای صورتحساب API key نیست؛ احراز هویت میتواند از یک حساب Codex یا پروفایل احراز هویت openai-codex بیاید. زماناجراهای عامل را ببینید.
انتخاب مدل چگونه کار میکند
OpenClaw مدلها را به این ترتیب انتخاب میکند:
مدل اصلی
agents.defaults.model.primary (یا agents.defaults.model).
مدلهای جایگزین
agents.defaults.model.fallbacks (بهترتیب).
جایگزینی احراز هویت ارائهدهنده هنگام خرابی
جایگزینی احراز هویت هنگام خرابی، پیش از رفتن به مدل بعدی، داخل یک ارائهدهنده انجام میشود.
سطوح مرتبط با مدل
agents.defaults.modelsفهرست مجاز/کاتالوگ مدلهایی است که OpenClaw میتواند استفاده کند (بههمراه aliasها).agents.defaults.imageModelفقط وقتی استفاده میشود که مدل اصلی نتواند تصویر بپذیرد.agents.defaults.pdfModelتوسط ابزارpdfاستفاده میشود. اگر حذف شود، ابزار ابتدا بهagents.defaults.imageModelو سپس به مدل حلشده نشست/پیشفرض برمیگردد.agents.defaults.imageGenerationModelتوسط قابلیت مشترک تولید تصویر استفاده میشود. اگر حذف شود،image_generateهمچنان میتواند یک پیشفرض ارائهدهنده دارای پشتوانه احراز هویت را استنتاج کند. ابتدا ارائهدهنده پیشفرض فعلی را امتحان میکند، سپس سایر ارائهدهندگان ثبتشده تولید تصویر را بهترتیب شناسه ارائهدهنده امتحان میکند. اگر یک ارائهدهنده/مدل مشخص تنظیم میکنید، احراز هویت/API key آن ارائهدهنده را نیز پیکربندی کنید.agents.defaults.musicGenerationModelتوسط قابلیت مشترک تولید موسیقی استفاده میشود. اگر حذف شود،music_generateهمچنان میتواند یک پیشفرض ارائهدهنده دارای پشتوانه احراز هویت را استنتاج کند. ابتدا ارائهدهنده پیشفرض فعلی را امتحان میکند، سپس سایر ارائهدهندگان ثبتشده تولید موسیقی را بهترتیب شناسه ارائهدهنده امتحان میکند. اگر یک ارائهدهنده/مدل مشخص تنظیم میکنید، احراز هویت/API key آن ارائهدهنده را نیز پیکربندی کنید.agents.defaults.videoGenerationModelتوسط قابلیت مشترک تولید ویدئو استفاده میشود. اگر حذف شود،video_generateهمچنان میتواند یک پیشفرض ارائهدهنده دارای پشتوانه احراز هویت را استنتاج کند. ابتدا ارائهدهنده پیشفرض فعلی را امتحان میکند، سپس سایر ارائهدهندگان ثبتشده تولید ویدئو را بهترتیب شناسه ارائهدهنده امتحان میکند. اگر یک ارائهدهنده/مدل مشخص تنظیم میکنید، احراز هویت/API key آن ارائهدهنده را نیز پیکربندی کنید.- پیشفرضهای هر عامل میتوانند
agents.defaults.modelرا از طریقagents.list[].modelبههمراه bindingها بازنویسی کنند (مسیریابی چندعامله را ببینید).
منبع انتخاب و رفتار جایگزینی
همان provider/model بسته به اینکه از کجا آمده است میتواند معنیهای متفاوتی داشته باشد:
- پیشفرضهای پیکربندیشده (
agents.defaults.model.primaryو مدلهای اصلی مخصوص عامل) نقطه شروع عادی هستند و ازagents.defaults.model.fallbacksاستفاده میکنند. - انتخابهای جایگزین خودکار، وضعیت بازیابی موقت هستند. آنها با
modelOverrideSource: "auto"ذخیره میشوند تا نوبتهای بعدی بتوانند بدون بررسی اولیهای که میدانیم خراب است، همچنان از زنجیره جایگزین استفاده کنند. - انتخابهای نشست کاربر دقیق هستند.
/model، انتخابگر مدل،session_status(model=...)، وsessions.patchمقدارmodelOverrideSource: "user"را ذخیره میکنند؛ اگر آن ارائهدهنده/مدل انتخابشده در دسترس نباشد، OpenClaw بهجای افتادن به مدل پیکربندیشده دیگر، بهصورت آشکار شکست میخورد. - Cron
--model/ payloadmodelمدل اصلی هر کار است. همچنان از مدلهای جایگزین پیکربندیشده استفاده میکند، مگر اینکه کار payloadfallbacksصریح ارائه کند (برای اجرای cron سختگیرانه ازfallbacks: []استفاده کنید). - انتخابگرهای مدل پیشفرض و فهرست مجاز CLI با فهرست کردن
models.providers.*.modelsصریح بهجای بارگذاری کامل کاتالوگ داخلی، بهmodels.mode: "replace"احترام میگذارند. - انتخابگر مدل Control UI از Gateway نمای مدل پیکربندیشدهاش را میخواهد: وقتی وجود داشته باشد
agents.defaults.models، وگرنهmodels.providers.*.modelsصریح بههمراه ارائهدهندگانی که احراز هویت قابل استفاده دارند. کاتالوگ کامل داخلی برای نماهای مرور صریح مانندmodels.listباview: "all"یاopenclaw models list --allرزرو شده است.
سیاست سریع مدل
- مدل اصلی خود را روی قویترین مدل نسل جدیدی تنظیم کنید که در دسترس شماست.
- از مدلهای جایگزین برای کارهای حساس به هزینه/تأخیر و گفتوگوهای کمریسکتر استفاده کنید.
- برای عاملهای دارای ابزار یا ورودیهای غیرقابل اعتماد، از ردههای مدل قدیمیتر/ضعیفتر پرهیز کنید.
راهاندازی اولیه (توصیهشده)
اگر نمیخواهید پیکربندی را دستی ویرایش کنید، راهاندازی اولیه را اجرا کنید:
openclaw onboard
این میتواند مدل + احراز هویت را برای ارائهدهندگان رایج، از جمله اشتراک OpenAI Code (Codex) (OAuth) و Anthropic (API key یا 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(فهرست مجاز + aliasها + پارامترهای ارائهدهنده)models.providers(ارائهدهندگان سفارشی نوشتهشده درmodels.json)
ویرایشهای امن فهرست مجاز
هنگام بهروزرسانی دستی agents.defaults.models از نوشتن افزایشی استفاده کنید:
openclaw config set agents.defaults.models '{"openai/gpt-5.4":{}}' --strict-json --merge
قواعد محافظت در برابر بازنویسی ناخواسته
openclaw config set از mapهای مدل/ارائهدهنده در برابر بازنویسی ناخواسته محافظت میکند. انتساب یک شیء ساده به 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 harness را انتخاب میکند و احراز هویت Codex را جداگانه بهکار میبرد.
برای مدلهای محلی/GGUF، ارجاع کامل دارای پیشوند ارائهدهنده را در فهرست مجاز ذخیره کنید،
برای مثال ollama/gemma4:26b، lmstudio/Gemma4-26b-a4-it-gguf، یا
ارائهدهنده/مدل دقیقی که توسط openclaw models list --provider <provider> نمایش داده میشود.
نام فایلهای محلی خام یا نامهای نمایشی وقتی فهرست مجاز
فعال است کافی نیستند.
نمونه پیکربندی فهرست مجاز:
{
agent: {
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 status
رفتار انتخابگر
/model(و/model list) یک انتخابگر فشرده و شمارهگذاریشده است (خانواده مدل + ارائهدهندگان موجود).- در Discord،
/modelو/modelsیک انتخابگر تعاملی با dropdownهای ارائهدهنده و مدل بههمراه گام Submit باز میکنند. - در Telegram، انتخابهای انتخابگر
/modelsمحدود به نشست هستند؛ آنها پیشفرض پایدار عامل را درopenclaw.jsonتغییر نمیدهند. /models addمنسوخ شده است و اکنون بهجای ثبت مدلها از گفتوگو، پیام منسوخشدن برمیگرداند./model <#>از همان انتخابگر انتخاب میکند.
پایداری و تغییر زنده
/modelانتخاب نشست جدید را فوراً پایدار میکند.- اگر عامل بیکار باشد، اجرای بعدی بلافاصله از مدل جدید استفاده میکند.
- اگر یک اجرا از قبل فعال باشد، OpenClaw تغییر زنده را در حالت در انتظار علامتگذاری میکند و فقط در یک نقطه تلاش مجدد تمیز به مدل جدید راهاندازی دوباره میشود.
- اگر فعالیت ابزار یا خروجی پاسخ از قبل شروع شده باشد، تغییر در انتظار میتواند تا یک فرصت تلاش مجدد بعدی یا نوبت بعدی کاربر در صف بماند.
- ارجاع
/modelانتخابشده توسط کاربر برای آن نشست سختگیرانه است: اگر ارائهدهنده/مدل انتخابشده در دسترس نباشد، پاسخ بهجای پاسخ دادن بیصدا ازagents.defaults.model.fallbacksبهصورت آشکار شکست میخورد. این با پیشفرضهای پیکربندیشده و مدلهای اصلی کار cron متفاوت است، که همچنان میتوانند از زنجیرههای جایگزین استفاده کنند. /model statusنمای جزئیات است (نامزدهای احراز هویت و، در صورت پیکربندی، endpoint ارائهدهندهbaseUrl+ حالتapi).
تجزیه ارجاع
- ارجاعهای مدل با تقسیم روی اولین
/تجزیه میشوند. هنگام تایپ/model <ref>ازprovider/modelاستفاده کنید. - اگر خود شناسه مدل شامل
/باشد (سبک OpenRouter)، باید پیشوند ارائهدهنده را وارد کنید (مثال:/model openrouter/moonshotai/kimi-k2). - اگر ارائهدهنده را حذف کنید، OpenClaw ورودی را به این ترتیب حل میکند:
- تطابق alias
- تطابق یکتای ارائهدهنده پیکربندیشده برای همان شناسه مدل بدون پیشوند دقیق
- بازگشت منسوخشده به ارائهدهنده پیشفرض پیکربندیشده — اگر آن ارائهدهنده دیگر مدل پیشفرض پیکربندیشده را ارائه نکند، OpenClaw بهجای نمایش پیشفرض کهنه ارائهدهنده حذفشده، به اولین ارائهدهنده/مدل پیکربندیشده برمیگردد.
رفتار/پیکربندی کامل فرمان: فرمانهای Slash.
فرمانهای CLI
openclaw models list
openclaw models status
openclaw models set <provider/model>
openclaw models set-image <provider/model>
openclaw models aliases list
openclaw models aliases add <alias> <provider/model>
openclaw models aliases remove <alias>
openclaw models fallbacks list
openclaw models fallbacks add <provider/model>
openclaw models fallbacks remove <provider/model>
openclaw models fallbacks clear
openclaw models image-fallbacks list
openclaw models image-fallbacks add <provider/model>
openclaw models image-fallbacks remove <provider/model>
openclaw models image-fallbacks clear
openclaw models (بدون زیرفرمان) میانبری برای models status است.
models list
مدلهای پیکربندیشده/دارای احراز هویت موجود را بهصورت پیشفرض نشان میدهد. پرچمهای مفید:
--allbooleanکاتالوگ کامل. ردیفهای کاتالوگ ایستای متعلق به ارائهدهندههای همراه را پیش از پیکربندی احراز هویت شامل میشود، بنابراین نماهای صرفاً اکتشافی میتوانند مدلهایی را نشان دهند که تا وقتی اعتبارنامههای ارائهدهنده متناظر را اضافه نکنید در دسترس نیستند.
--localbooleanفقط ارائهدهندههای محلی.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcHJvdmlkZXIgPGlk
" type="string">
فیلتر بر اساس شناسه ارائهدهنده، برای مثال moonshot. برچسبهای نمایشی از انتخابگرهای تعاملی پذیرفته نمیشوند.
--plainbooleanهر مدل در یک خط.
--jsonbooleanخروجی قابل خواندن توسط ماشین.
models status
مدل اصلی حلشده، جایگزینها، مدل تصویر، و نمای کلی احراز هویت ارائهدهندههای پیکربندیشده را نشان میدهد. همچنین وضعیت انقضای OAuth را برای پروفایلهای موجود در ذخیرهگاه احراز هویت نمایش میدهد (بهصورت پیشفرض در بازه ۲۴ ساعت هشدار میدهد). --plain فقط مدل اصلی حلشده را چاپ میکند.
رفتار احراز هویت و آزمون
- وضعیت OAuth همیشه نشان داده میشود (و در خروجی
--jsonهم گنجانده میشود). اگر یک ارائهدهنده پیکربندیشده اعتبارنامه نداشته باشد،models statusیک بخش احراز هویت مفقود چاپ میکند. - JSON شامل
auth.oauth(پنجره هشدار + پروفایلها) وauth.providers(احراز هویت مؤثر برای هر ارائهدهنده، از جمله اعتبارنامههای مبتنی بر env) است.auth.oauthفقط سلامت پروفایلهای ذخیرهگاه احراز هویت است؛ ارائهدهندههای فقط env در آن ظاهر نمیشوند. - برای خودکارسازی از
--checkاستفاده کنید (کد خروج1هنگام فقدان/انقضا،2هنگام نزدیک بودن انقضا). - برای بررسیهای زنده احراز هویت از
--probeاستفاده کنید؛ ردیفهای آزمون میتوانند از پروفایلهای احراز هویت، اعتبارنامههای env، یاmodels.jsonبیایند. - اگر
auth.order.<provider>صریح یک پروفایل ذخیرهشده را حذف کند، آزمون بهجای تلاش برای آن،excluded_by_auth_orderگزارش میدهد. اگر احراز هویت وجود داشته باشد اما هیچ مدل قابل آزمونی برای آن ارائهدهنده قابل حل نباشد، آزمونstatus: no_modelگزارش میدهد.
مثال (Claude CLI):
claude auth login
openclaw models status
اسکن (مدلهای رایگان OpenRouter)
openclaw models scan کاتالوگ مدل رایگان OpenRouter را بررسی میکند و میتواند بهصورت اختیاری مدلها را برای پشتیبانی از ابزار و تصویر بیازماید.
--no-probebooleanآزمونهای زنده را رد کن (فقط فراداده).
"--min-params"--max-age-days"--provider"--max-candidates--set-defaultbooleanagents.defaults.model.primary را روی نخستین انتخاب تنظیم کن.
--set-imagebooleanagents.defaults.imageModel.primary را روی نخستین انتخاب تصویر تنظیم کن.
نتایج اسکن بر اساس موارد زیر رتبهبندی میشوند:
- پشتیبانی تصویر
- تأخیر ابزار
- اندازه زمینه
- تعداد پارامترها
ورودی:
- فهرست
/modelsدر OpenRouter (فیلتر:free) - آزمونهای زنده به کلید API OpenRouter از پروفایلهای احراز هویت یا
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). این فایل بهصورت پیشفرض ادغام میشود، مگر اینکه models.mode روی replace تنظیم شده باشد.
تقدم حالت ادغام
تقدم حالت ادغام برای شناسههای ارائهدهنده مطابق:
baseUrlغیرخالی که از قبل درmodels.jsonعامل وجود دارد برنده میشود.apiKeyغیرخالی درmodels.jsonعامل فقط وقتی برنده میشود که آن ارائهدهنده در زمینه فعلی پیکربندی/پروفایل احراز هویت توسط SecretRef مدیریت نشده باشد.- مقدارهای
apiKeyارائهدهنده مدیریتشده توسط SecretRef بهجای ماندگار کردن رازهای حلشده، از نشانگرهای منبع (ENV_VAR_NAMEبرای ارجاعهای env،secretref-managedبرای ارجاعهای file/exec) تازهسازی میشوند. - مقدارهای هدر ارائهدهنده مدیریتشده توسط SecretRef از نشانگرهای منبع (
secretref-env:ENV_VAR_NAMEبرای ارجاعهای env،secretref-managedبرای ارجاعهای file/exec) تازهسازی میشوند. apiKey/baseUrlخالی یا مفقود عامل بهmodels.providersدر پیکربندی برمیگردد.- فیلدهای دیگر ارائهدهنده از پیکربندی و دادههای کاتالوگ نرمالشده تازهسازی میشوند.
مرتبط
- زمانهای اجرای عامل — Pi، Codex، و دیگر زمانهای اجرای حلقه عامل
- مرجع پیکربندی — کلیدهای پیکربندی مدل
- تولید تصویر — پیکربندی مدل تصویر
- جابجایی خرابی مدل — زنجیرههای جایگزین
- ارائهدهندههای مدل — مسیریابی و احراز هویت ارائهدهنده
- تولید موسیقی — پیکربندی مدل موسیقی
- تولید ویدئو — پیکربندی مدل ویدئو