Concepts and configuration
CLI моделей
Ротація профілів автентифікації, періоди охолодження та як це взаємодіє з резервними варіантами.
Короткий огляд постачальників і приклади.
OpenClaw, Codex та інші середовища виконання циклу агента.
Ключі конфігурації моделей.
Посилання на моделі вибирають постачальника й модель. Зазвичай вони не вибирають низькорівневе середовище виконання агента. Посилання на агенти OpenAI є головним винятком: openai/gpt-5.5 типово виконується через середовище виконання app-server 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— це allowlist/каталог моделей, які OpenClaw може використовувати (плюс псевдоніми). Використовуйте записиprovider/*, щоб обмежити видимих постачальників, зберігаючи динамічне виявлення постачальників.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", щоб наступні ходи могли продовжувати використовувати резервний ланцюжок без перевірки відомо несправної основної моделі щоразу; 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/ payloadmodel— це основна модель для окремого завдання. Вона все ще використовує налаштовані резервні варіанти, якщо завдання не надає явний payloadfallbacks(використовуйтеfallbacks: []для строгого запуску cron). - Засоби вибору типової моделі CLI та allowlist поважають
models.mode: "replace", перелічуючи явніmodels.providers.*.modelsзамість завантаження повного вбудованого каталогу. - Засіб вибору моделі Control UI запитує в 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(allowlist + псевдоніми + параметри постачальника + динамічні записи постачальниківprovider/*)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.
"Model is not allowed" (і чому відповіді зупиняються)
Якщо 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
активний.
Якщо ви хочете обмежити постачальників без ручного перелічення кожної моделі, додайте
записи provider/* до agents.defaults.models:
{ agents: { defaults: { models: { "openai/*": {}, "vllm/*": {}, }, }, },}За такої політики /model, /models і засоби вибору моделей показують виявлений
каталог лише для цих постачальників. Нові моделі від вибраних постачальників можуть
з’являтися без редагування allowlist. Точні записи provider/model можна поєднувати
із записами provider/*, коли потрібна одна конкретна модель від іншого постачальника.
Приклад конфігурації allowlist:
{ 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відкривають інтерактивний засіб вибору з випадаючими списками постачальника й моделі плюс крок Submit. - У Telegram вибори в засобі
/modelsприв’язані до сеансу; вони не змінюють постійне типове значення агента вopenclaw.json. /models addзастаріло й тепер повертає повідомлення про застарілість замість реєстрації моделей із чату./model <#>вибирає з цього засобу вибору.
Збереження та перемикання наживо
/modelнегайно зберігає новий вибір для сеансу.- Якщо агент простоює, наступний запуск одразу використовує нову модель.
- Якщо запуск уже активний, OpenClaw позначає перемикання наживо як очікуване й перезапускає в нову модель лише в чистій точці повторної спроби.
- Якщо активність інструментів або виведення відповіді вже почалися, очікуване перемикання може залишатися в черзі до пізнішої можливості повторної спроби або наступного ходу користувача.
/model defaultочищає вибір сеансу й повертає сеанс до налаштованої моделі за замовчуванням.- Вибраний користувачем ref
/modelє строгим для цього сеансу: якщо вибраний постачальник/модель недоступні, відповідь явно завершується помилкою замість тихого формування відповіді зagents.defaults.model.fallbacks. Це відрізняється від налаштованих значень за замовчуванням і основних моделей cron-завдань, які все ще можуть використовувати ланцюжки резервних варіантів. /model status— це докладний перегляд (кандидати автентифікації та, якщо налаштовано, endpoint постачальникаbaseUrl+ режимapi).
Розбір ref
- Model refs розбираються поділом за першим
/. Використовуйтеprovider/model, коли вводите/model <ref>. - Якщо сам ID моделі містить
/(у стилі OpenRouter), потрібно додати префікс постачальника (приклад:/model openrouter/moonshotai/kimi-k2). - Якщо постачальника опущено, OpenClaw розв’язує введення в такому порядку:
- збіг alias
- унікальний збіг налаштованого постачальника для саме цього ID моделі без префікса
- застарілий fallback до налаштованого постачальника за замовчуванням — якщо цей постачальник більше не надає налаштовану модель за замовчуванням, OpenClaw натомість fallback до першого налаштованого постачальника/моделі, щоб уникнути показу застарілого вилученого постачальника за замовчуванням.
Повна поведінка команди/конфігурація: Slash-команди.
Команди 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">
Фільтр за ID постачальника, наприклад moonshot. Мітки відображення з інтерактивних вибирачів не приймаються.
--plainbooleanОдна модель на рядок.
--jsonbooleanМашинозчитуваний вивід.
models status
Показує розв’язану основну модель, резервні варіанти, модель для зображень і огляд автентифікації налаштованих постачальників. Також показує статус завершення строку дії OAuth для профілів, знайдених у сховищі автентифікації (за замовчуванням попереджає протягом 24 год). --plain друкує лише розв’язану основну модель.
Поведінка автентифікації та перевірки
- Статус OAuth показується завжди (і включається у вивід
--json). Якщо налаштований постачальник не має облікових даних,models statusдрукує розділ Missing auth. - JSON включає
auth.oauth(вікно попередження + профілі) іauth.providers(ефективна автентифікація для кожного постачальника, включно з обліковими даними з env).auth.oauth— це лише стан профілів сховища автентифікації; постачальники лише з env там не з’являються. - Використовуйте
--checkдля автоматизації (код виходу1, коли бракує або строк дії минув,2, коли строк дії скоро минає). - Використовуйте
--probeдля live-перевірок автентифікації; рядки перевірки можуть походити з профілів автентифікації, облікових даних env або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Пропустити live-перевірки (лише метадані).
"--min-params"--max-age-days"--provider"--max-candidates--set-defaultbooleanВстановити agents.defaults.model.primary на перший вибір.
--set-imagebooleanВстановити agents.defaults.imageModel.primary на перший вибір зображення.
Результати сканування ранжуються за:
- Підтримкою зображень
- Затримкою інструментів
- Розміром контексту
- Кількістю параметрів
Вхідні дані:
- Список OpenRouter
/models(фільтр:free) - Live-перевірки потребують API-ключа OpenRouter з профілів автентифікації або
OPENROUTER_API_KEY(див. Змінні середовища) - Необов’язкові фільтри:
--max-age-days,--min-params,--provider,--max-candidates - Елементи керування запитами/перевірками:
--timeout,--concurrency
Коли live-перевірки виконуються в TTY, ви можете інтерактивно вибрати резервні варіанти. У неінтерактивному режимі передайте --yes, щоб прийняти значення за замовчуванням. Результати лише метаданих є інформаційними; --set-default і --set-image потребують live-перевірок, щоб OpenClaw не налаштував непридатну до використання модель OpenRouter без ключа.
Реєстр моделей (models.json)
Користувацькі постачальники в models.providers записуються в models.json у каталозі агента (за замовчуванням ~/.openclaw/agents/<agentId>/agent/models.json). Каталоги Plugin-постачальників зберігаються як згенеровані шарди каталогу, що належать Plugin, у стані Plugin агента й завантажуються автоматично. Цей файл за замовчуванням об’єднується, якщо models.mode не встановлено в replace.
Пріоритет режиму об’єднання
Пріоритет режиму об’єднання для збігу ID постачальників:
- Непорожній
baseUrl, який уже є в агентськомуmodels.json, перемагає. - Непорожній
apiKeyв агентськомуmodels.jsonперемагає лише тоді, коли цей постачальник не керується SecretRef у поточному контексті конфігурації/профілю автентифікації. - Значення
apiKeyпостачальника, керованого SecretRef, оновлюються з маркерів джерела (ENV_VAR_NAMEдля env refs,secretref-managedдля file/exec refs) замість збереження розв’язаних секретів. - Значення заголовків постачальника, керованого SecretRef, оновлюються з маркерів джерела (
secretref-env:ENV_VAR_NAMEдля env refs,secretref-managedдля file/exec refs). - Порожні або відсутні агентські
apiKey/baseUrlfallback до конфігураціїmodels.providers. - Інші поля постачальника оновлюються з конфігурації та нормалізованих даних каталогу.
Пов’язане
- Середовища виконання агентів — OpenClaw, Codex та інші середовища виконання agent loop
- Довідник конфігурації — ключі конфігурації моделей
- Генерація зображень — конфігурація моделі для зображень
- Model failover — ланцюжки резервних варіантів
- Постачальники моделей — маршрутизація постачальників і автентифікація
- Генерація музики — конфігурація моделі для музики
- Генерація відео — конфігурація моделі для відео