Отказоустойчивое переключение моделей
Ротация профилей аутентификации, периоды охлаждения и их взаимодействие с резервными вариантами.
Провайдеры моделей
Краткий обзор провайдеров и примеры.
Среды выполнения агентов
OpenClaw, Codex и другие среды выполнения агентного цикла.
Справочник по конфигурации
Ключи конфигурации моделей.
openai/gpt-5.5 по умолчанию выполняется через среду выполнения Codex app-server у официального провайдера OpenAI. Для ссылок Subscription Copilot (github-copilot/*) дополнительно можно явно включить внешний Plugin среды выполнения агента GitHub Copilot — этот путь остается явным (без резервного auto). Явные переопределения среды выполнения относятся к политике провайдера/модели, а не ко всему агенту или сеансу. В режиме среды выполнения Codex ссылка openai/gpt-* не подразумевает оплату по API-ключу; аутентификация может выполняться через учетную запись Codex или профиль OAuth openai. См. Среды выполнения агентов и Среда выполнения агента GitHub Copilot.
Как работает выбор модели
OpenClaw выбирает модели в таком порядке:Связанные поверхности моделей
Связанные поверхности моделей
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.
Краткая политика моделей
- Задайте в качестве основной самую сильную модель последнего поколения, доступную вам.
- Используйте резервные варианты для задач, чувствительных к стоимости/задержке, и для чата с низкими рисками.
- Для агентов с включенными инструментами или недоверенных входных данных избегайте старых/более слабых уровней моделей.
Онбординг (рекомендуется)
Если вы не хотите редактировать конфигурацию вручную, запустите онбординг:Ключи конфигурации (обзор)
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)
Ссылки на модели нормализуются к нижнему регистру. Идентификаторы провайдеров в остальном точные; используйте
идентификатор провайдера, объявленный plugin.Примеры конфигурации провайдеров (включая OpenCode) находятся в OpenCode.
Безопасное редактирование allowlist
Используйте добавляющие записи при ручном обновленииagents.defaults.models:
Правила защиты от перезаписи
Правила защиты от перезаписи
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 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:
/model, /models и средства выбора моделей показывают обнаруженный
каталог только для этих провайдеров. Новые модели от выбранных провайдеров могут
появляться без редактирования allowlist. Точные записи provider/model можно смешивать
с записями provider/*, когда вам нужна одна конкретная модель от другого провайдера.
Пример конфигурации allowlist:
Переключение моделей в чате (/model)
Вы можете переключать модели для текущего сеанса без перезапуска:
Поведение средства выбора
Поведение средства выбора
/model(и/model list) — это компактное нумерованное средство выбора (семейство моделей + доступные провайдеры).- В Discord
/modelи/modelsоткрывают интерактивное средство выбора с выпадающими списками провайдера и модели, а также шагом Submit. - В Telegram выборы в средстве
/modelsпривязаны к сеансу; они не меняют постоянное значение агента по умолчанию вopenclaw.json. /models addустарел и теперь возвращает сообщение об устаревании вместо регистрации моделей из чата./model <#>выбирает из этого средства выбора.
Постоянство и переключение на лету
Постоянство и переключение на лету
/modelсразу сохраняет новый выбор для сеанса.- Если агент простаивает, следующий запуск сразу использует новую модель.
- Если запуск уже активен, OpenClaw помечает переключение на лету как ожидающее и перезапускается с новой моделью только в чистой точке повторной попытки.
- Если активность инструментов или вывод ответа уже начались, ожидающее переключение может оставаться в очереди до следующей возможности повторной попытки или следующего хода пользователя.
/model defaultочищает выбор для сеанса и возвращает сеанс к настроенной модели по умолчанию.- Выбранная пользователем ссылка
/modelявляется строгой для этого сеанса: если выбранный провайдер/модель недоступны, ответ явно завершается ошибкой, а не молча отвечает изagents.defaults.model.fallbacks. Это отличается от настроенных значений по умолчанию и основных моделей Cron-задач, которые по-прежнему могут использовать резервные цепочки. /model status— это подробное представление (кандидаты аутентификации и, если настроено, endpoint провайдераbaseUrl+ режимapi).
Разбор ссылок
Разбор ссылок
- Ссылки на модели разбираются разделением по первому
/. Используйтеprovider/modelпри вводе/model <ref>. - Если сам ID модели содержит
/(в стиле OpenRouter), необходимо указать префикс провайдера (пример:/model openrouter/moonshotai/kimi-k2). - Если провайдер не указан, OpenClaw разрешает ввод в таком порядке:
- совпадение с псевдонимом
- уникальное совпадение настроенного провайдера для точного ID модели без префикса
- устаревший fallback к настроенному провайдеру по умолчанию — если этот провайдер больше не предоставляет настроенную модель по умолчанию, OpenClaw вместо этого возвращается к первому настроенному провайдеру/модели, чтобы не показывать устаревшее значение по умолчанию для удаленного провайдера.
Команды CLI
openclaw models (без подкоманды) — это сокращение для models status.
models list
По умолчанию показывает настроенные/доступные по аутентификации модели. Полезные флаги:
Полный каталог. Включает встроенные статические строки каталога, принадлежащие провайдерам, до настройки аутентификации, поэтому представления только для обнаружения могут показывать модели, недоступные до добавления соответствующих учетных данных провайдера.
Только локальные провайдеры.
Фильтр по ID провайдера, например
moonshot. Отображаемые метки из интерактивных средств выбора не принимаются.Одна модель на строку.
Машиночитаемый вывод.
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.
Выбор аутентификации зависит от провайдера/учетной записи. Для постоянно работающих хостов Gateway ключи API обычно наиболее предсказуемы; повторное использование Claude CLI и существующие профили Anthropic OAuth/токенов также поддерживаются.
Сканирование (бесплатные модели OpenRouter)
openclaw models scan проверяет каталог бесплатных моделей OpenRouter и при необходимости может выполнять пробы моделей на поддержку инструментов и изображений.
Пропустить живые пробы (только метаданные).
Минимальный размер параметров (в миллиардах).
Пропускать более старые модели.
Фильтр по префиксу провайдера.
Размер списка fallback.
Установить
agents.defaults.model.primary в первый выбранный вариант.Установить
agents.defaults.imageModel.primary в первый выбранный вариант изображения.Каталог OpenRouter
/models публичен, поэтому сканирование только метаданных может перечислять бесплатных кандидатов без ключа. Пробы и инференс по-прежнему требуют API-ключ OpenRouter (из профилей аутентификации или OPENROUTER_API_KEY). Если ключ недоступен, openclaw models scan возвращается к выводу только метаданных и оставляет конфигурацию без изменений. Используйте --no-probe, чтобы явно запросить режим только метаданных.- Поддержке изображений
- Задержке инструментов
- Размеру контекста
- Количеству параметров
- Список OpenRouter
/models(фильтр:free) - Живые пробы требуют API-ключ OpenRouter из профилей аутентификации или
OPENROUTER_API_KEY(см. Переменные окружения) - Необязательные фильтры:
--max-age-days,--min-params,--provider,--max-candidates - Управление запросами/пробами:
--timeout,--concurrency
--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.
Приоритет режима объединения
Приоритет режима объединения
Приоритет режима объединения для совпадающих ID провайдеров:
- Непустой
baseUrl, уже присутствующий вmodels.jsonагента, имеет приоритет. - Непустой
apiKeyвmodels.jsonагента имеет приоритет только тогда, когда этот провайдер не управляется SecretRef в текущем контексте конфигурации/профиля аутентификации. - Значения
apiKeyпровайдера, управляемого SecretRef, обновляются из маркеров источника (ENV_VAR_NAMEдля ссылок на окружение,secretref-managedдля ссылок на файл/exec) вместо сохранения разрешенных секретов. - Значения заголовков провайдера, управляемого SecretRef, обновляются из маркеров источника (
secretref-env:ENV_VAR_NAMEдля ссылок на окружение,secretref-managedдля ссылок на файл/exec). - Пустые или отсутствующие
apiKey/baseUrlагента возвращаются кmodels.providersиз конфигурации. - Остальные поля провайдера обновляются из конфигурации и нормализованных данных каталога.
Сохранение маркеров авторитетно относительно источника: OpenClaw записывает маркеры из активного снимка конфигурации источника (до разрешения), а не из разрешенных значений секретов времени выполнения. Это применяется всякий раз, когда OpenClaw повторно генерирует
models.json, включая пути, управляемые командами, такие как openclaw agent.Связанные материалы
- Среды выполнения агентов — OpenClaw, Codex и другие среды выполнения циклов агентов
- Справочник конфигурации — ключи конфигурации моделей
- Генерация изображений — конфигурация модели изображений
- Отказоустойчивость моделей — резервные цепочки
- Провайдеры моделей — маршрутизация провайдеров и аутентификация
- Генерация музыки — конфигурация модели музыки
- Генерация видео — конфигурация модели видео