Concepts and configuration
CLI моделей
Ротація профілів автентифікації, періоди охолодження та взаємодія з резервними варіантами.
Короткий огляд провайдерів і приклади.
PI, Codex та інші середовища виконання циклу агента.
Ключі конфігурації моделей.
Посилання на моделі вибирають провайдера й модель. Зазвичай вони не вибирають низькорівневе середовище виконання агента. Наприклад, openai/gpt-5.5 може запускатися через звичайний шлях провайдера OpenAI або через середовище виконання app-server Codex, залежно від agents.defaults.agentRuntime.id. У режимі середовища виконання Codex посилання openai/gpt-* не означає оплату за API-ключем; автентифікація може надходити з облікового запису Codex або профілю автентифікації openai-codex. Див. Середовища виконання агентів.
Як працює вибір моделі
OpenClaw вибирає моделі в такому порядку:
Основна модель
agents.defaults.model.primary (або agents.defaults.model).
Резервні варіанти
agents.defaults.model.fallbacks (за порядком).
Аварійне перемикання автентифікації провайдера
Аварійне перемикання автентифікації відбувається всередині провайдера перед переходом до наступної моделі.
Пов’язані поверхні моделей
agents.defaults.models— це allowlist/каталог моделей, які OpenClaw може використовувати (плюс псевдоніми).agents.defaults.imageModelвикористовується лише тоді, коли основна модель не може приймати зображення.agents.defaults.pdfModelвикористовується інструментомpdf. Якщо пропущено, інструмент повертається доagents.defaults.imageModel, а потім до розв’язаної моделі сеансу/типової моделі.agents.defaults.imageGenerationModelвикористовується спільною можливістю генерації зображень. Якщо пропущено,image_generateвсе одно може визначити типовий провайдер із підтриманою автентифікацією. Спершу він пробує поточного типового провайдера, потім решту зареєстрованих провайдерів генерації зображень у порядку provider-id. Якщо ви задаєте конкретного провайдера/модель, також налаштуйте автентифікацію/API-ключ цього провайдера.agents.defaults.musicGenerationModelвикористовується спільною можливістю генерації музики. Якщо пропущено,music_generateвсе одно може визначити типовий провайдер із підтриманою автентифікацією. Спершу він пробує поточного типового провайдера, потім решту зареєстрованих провайдерів генерації музики в порядку provider-id. Якщо ви задаєте конкретного провайдера/модель, також налаштуйте автентифікацію/API-ключ цього провайдера.agents.defaults.videoGenerationModelвикористовується спільною можливістю генерації відео. Якщо пропущено,video_generateвсе одно може визначити типовий провайдер із підтриманою автентифікацією. Спершу він пробує поточного типового провайдера, потім решту зареєстрованих провайдерів генерації відео в порядку provider-id. Якщо ви задаєте конкретного провайдера/модель, також налаштуйте автентифікацію/API-ключ цього провайдера.- Типові параметри окремого агента можуть перевизначати
agents.defaults.modelчерезagents.list[].modelплюс прив’язки (див. Маршрутизація кількох агентів).
Джерело вибору та поведінка резервного переходу
Те саме provider/model може означати різні речі залежно від того, звідки воно взялося:
- Налаштовані типові значення (
agents.defaults.model.primaryі основні моделі конкретних агентів) є звичайною відправною точкою та використовуютьagents.defaults.model.fallbacks. - Автоматичні резервні вибори — це тимчасовий стан відновлення. Вони зберігаються з
modelOverrideSource: "auto", щоб наступні ходи могли продовжувати використовувати ланцюг резервних варіантів без попередньої перевірки відомо несправної основної моделі. - Вибори користувача в сеансі є точними.
/model, вибирач моделі,session_status(model=...)іsessions.patchзберігаютьmodelOverrideSource: "user"; якщо вибраний провайдер/модель недоступний, OpenClaw явно завершується з помилкою, а не переходить до іншої налаштованої моделі. - Cron
--model/ корисне навантаженняmodel— це основна модель для окремого завдання. Вона все одно використовує налаштовані резервні варіанти, якщо завдання не надає явне корисне навантаженняfallbacks(використовуйтеfallbacks: []для строгого запуску cron). - Вибирачі типової моделі CLI та allowlist поважають
models.mode: "replace", показуючи явніmodels.providers.*.modelsзамість завантаження повного вбудованого каталогу. - Вибирач моделей 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-ключ або 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(allowlist + псевдоніми + параметри провайдера)models.providers(власні провайдери, записані вmodels.json)
Безпечні редагування allowlist
Використовуйте додавальні записи, коли оновлюєте 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 також зливають вибори в межах провайдера з наявним allowlist, тому додавання 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 задано, він стає allowlist для /model і перевизначень сеансу. Коли користувач вибирає модель, якої немає в цьому allowlist, 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, спершу виправте allowlist, а потім повторіть ту саму команду /model ... --runtime .... Для нативного виконання Codex вибрана модель усе ще openai/gpt-5.5; середовище виконання codex вибирає harness і окремо використовує автентифікацію Codex.
Для локальних/GGUF-моделей зберігайте повне посилання з префіксом провайдера в allowlist,
наприклад ollama/gemma4:26b, lmstudio/Gemma4-26b-a4-it-gguf або
точний provider/model, показаний openclaw models list --provider <provider>.
Самих локальних імен файлів або відображуваних назв недостатньо, коли allowlist
активний.
Приклад конфігурації allowlist:
{
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відкривають інтерактивний вибирач із випадаючими списками провайдера й моделі та кроком Submit. - У Telegram вибори вибирача
/modelsмають область дії сеансу; вони не змінюють сталий типовий параметр агента вopenclaw.json. /models addзастаріла й тепер повертає повідомлення про застарілість замість реєстрації моделей із чату./model <#>вибирає з цього вибирача.
Збереження та живе перемикання
/modelнегайно зберігає новий вибір сеансу.- Якщо агент простоює, наступний запуск одразу використовує нову модель.
- Якщо запуск уже активний, OpenClaw позначає живе перемикання як очікуване й перезапускається з новою моделлю лише в чистій точці повтору.
- Якщо активність інструментів або виведення відповіді вже почалися, очікуване перемикання може залишатися в черзі до пізнішої можливості повтору або наступного ходу користувача.
- Вибране користувачем посилання
/modelє строгим для цього сеансу: якщо вибраний провайдер/модель недоступний, відповідь явно завершується з помилкою, а не мовчки відповідає зagents.defaults.model.fallbacks. Це відрізняється від налаштованих типових значень і основних моделей завдань cron, які все одно можуть використовувати ланцюги резервних варіантів. /model status— це докладний вигляд (кандидати автентифікації та, якщо налаштовано, endpoint провайдераbaseUrl+ режимapi).
Розбір посилань
- Посилання на моделі розбираються поділом за першим
/. Використовуйтеprovider/model, коли вводите/model <ref>. - Якщо сам ID моделі містить
/(у стилі OpenRouter), потрібно вказати префікс провайдера (приклад:/model openrouter/moonshotai/kimi-k2). - Якщо ви пропустите провайдера, OpenClaw розв’язує введення в такому порядку:
- збіг псевдоніма
- унікальний збіг налаштованого провайдера для цього точного id моделі без префікса
- застарілий резервний перехід до налаштованого типового провайдера — якщо цей провайдер більше не надає налаштовану типову модель, 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">
Фільтрувати за id провайдера, наприклад moonshot. Відображувані мітки з інтерактивних засобів вибору не приймаються.
--plainbooleanОдна модель на рядок.
--jsonbooleanМашиночитаний вивід.
models status
Показує розв’язану основну модель, резервні варіанти, модель зображень і огляд автентифікації налаштованих провайдерів. Також показує стан завершення терміну дії OAuth для профілів, знайдених у сховищі автентифікації (за замовчуванням попереджає в межах 24 годин). --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-defaultbooleanУстановити agents.defaults.model.primary на перший вибір.
--set-imagebooleanУстановити agents.defaults.imageModel.primary на перший вибір зображення.
Результати сканування ранжуються за:
- Підтримкою зображень
- Затримкою інструментів
- Розміром контексту
- Кількістю параметрів
Вхідні дані:
- Список OpenRouter
/models(фільтр: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.
Пріоритет режиму об’єднання
Пріоритет режиму об’єднання для відповідних ID провайдерів:
- Непорожній
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 та інші середовища виконання циклу агента
- Довідник конфігурації — ключі конфігурації моделі
- Генерація зображень — конфігурація моделі зображень
- Відмовостійке перемикання моделей — ланцюжки резервних варіантів
- Провайдери моделей — маршрутизація провайдерів і автентифікація
- Генерація музики — конфігурація музичної моделі
- Генерація відео — конфігурація відеомоделі