title: Fallback Providers
description: Configure automatic failover to backup LLM providers when your primary model is unavailable.
sidebar_label: Fallback Providers
sidebar_position: 8
lang: ru
Резервные поставщики
Агент Hermes имеет три уровня устойчивости, которые поддерживают работу ваших сеансов, когда поставщики услуг сталкиваются с проблемами:
Пулы учетных данных — чередование нескольких ключей API для одного провайдера (пробовано первым)
Откат основной модели — автоматически переключается на другой поставщик:модель при сбое основной модели.
Резервный вариант вспомогательной задачи — независимое решение поставщиком дополнительных задач, таких как зрение, сжатие и извлечение веб-страниц.
Пулы учетных данных обрабатывают ротацию одного и того же поставщика (например, несколько ключей OpenRouter). На этой странице описан резервный вариант между поставщиками. Оба являются необязательными и работают независимо.
Резервный вариант основной модели
Когда ваш основной провайдер LLM обнаруживает ошибки (ограничения скорости, перегрузку сервера, сбои аутентификации, разрывы соединения) — Hermes может автоматически переключиться на резервного поставщика: пару моделей в середине сеанса, не теряя при этом разговор.
Конфигурация
Самый простой путь — интерактивный менеджер:
hermesfallback
hermes fallback повторно использует средство выбора поставщика из hermes model — тот же список поставщиков, те же запросы учетных данных, та же проверка. Нажмите a, чтобы добавить резервный вариант, ↑/↓, чтобы изменить порядок, d, чтобы удалить, q, чтобы сохранить и выйти. Изменения сохраняются под model.fallback_providers в config.yaml.
Если вы предпочитаете редактировать YAML напрямую, добавьте раздел fallback_model в ~/.hermes/config.yaml:
Оба provider и modelобязательны. Если какой-либо из них отсутствует, резервный вариант отключен.
:::примечание fallback_model против fallback_providersfallback_model (единственное число) — это устаревший одинарный резервный ключ — Hermes до сих пор использует его для обратной совместимости. fallback_providers (множественное число, список) поддерживает несколько резервных вариантов, опробованных по порядку; hermes fallback записывает на этот ключ. Когда оба установлены, Hermes объединяет их, при этом fallback_providers получает приоритет.
Поддерживаемые поставщики
Провайдер
Значение
Требования
AI-шлюз
ai-gateway
AI_GATEWAY_API_KEY
OpenRouter
openrouter
OPENROUTER_API_KEY
Ноус Портал
nous
hermes auth (OAuth)
Кодекс OpenAI
openai-codex
hermes model (ChatGPT OAuth)
Второй пилот GitHub
copilot
COPILOT_GITHUB_TOKEN, GH_TOKEN или GITHUB_TOKEN
GitHub Copilot ACP
copilot-acp
Внешний процесс (интеграция редактора)
Антропный
anthropic
ANTHROPIC_API_KEY или учетные данные Клода Кода
z.ai / ГЛМ
zai
GLM_API_KEY
Кими / Муншот
kimi-coding
KIMI_API_KEY
МиниМакс
minimax
MINIMAX_API_KEY
МиниМакс (Китай)
minimax-cn
MINIMAX_CN_API_KEY
ДипСик
deepseek
DEEPSEEK_API_KEY
NVIDIA НИМ
nvidia
NVIDIA_API_KEY (необязательно: NVIDIA_BASE_URL)
Оллама Облако
ollama-cloud
OLLAMA_API_KEY
Google Близнецы (OAuth)
google-gemini-cli
hermes model (Google OAuth; необязательно: HERMES_GEMINI_PROJECT_ID)
Google AI Studio
gemini
GOOGLE_API_KEY (псевдоним: GEMINI_API_KEY)
xAI (Грок)
xai (псевдоним grok)
XAI_API_KEY (необязательно: XAI_BASE_URL)
Основа AWS
bedrock
Стандартная аутентификация boto3 (AWS_REGION + AWS_PROFILE или AWS_ACCESS_KEY_ID)
Портал Квен (OAuth)
qwen-oauth
hermes model (Qwen Portal OAuth; необязательно: HERMES_QWEN_BASE_URL)
МиниМакс (OAuth)
minimax-oauth
hermes model (портал MiniMax OAuth)
OpenCode Дзен
opencode-zen
OPENCODE_ZEN_API_KEY
OpenCode Go
opencode-go
OPENCODE_GO_API_KEY
Код килограмма
kilocode
KILOCODE_API_KEY
Сяоми МиМо
xiaomi
XIAOMI_API_KEY
Арси AI
arcee
ARCEEAI_API_KEY
Облако GMI
gmi
GMI_API_KEY
Алибаба / DashScope
alibaba
DASHSCOPE_API_KEY
План кодирования Alibaba
alibaba-coding-plan
ALIBABA_CODING_PLAN_API_KEY (возврат к DASHSCOPE_API_KEY)
Кими/Муншот (Китай)
kimi-coding-cn
KIMI_CN_API_KEY
СтепФун
stepfun
STEPFUN_API_KEY
Tencent TokenHub
tencent-tokenhub
TOKENHUB_API_KEY
Лаборатория искусственного интеллекта Azure
azure-foundry
AZURE_FOUNDRY_API_KEY + AZURE_FOUNDRY_BASE_URL
LM Studio (локальный)
lmstudio
LM_API_KEY (или нет для локальной версии) + LM_BASE_URL
Обнимающее лицо
huggingface
HF_TOKEN
Пользовательская конечная точка
custom
base_url + key_env (см. ниже)
Пользовательский резервный вариант конечной точки
Для пользовательской конечной точки, совместимой с OpenAI, добавьте base_url и (необязательно) key_env:
fallback_model:provider:custommodel:my-local-modelbase_url:http://localhost:8000/v1key_env:MY_LOCAL_KEY# env var name containing the API key
Когда срабатывает откат
Резервный вариант активируется автоматически в случае сбоя основной модели:
Ограничения скорости (HTTP 429) — после исчерпания повторных попыток.
Недействительные ответы — когда API повторно возвращает неверные или пустые ответы.
При срабатывании Гермес:
Разрешает учетные данные для резервного поставщика.
Создает новый клиент API.
Меняет модель, поставщика и клиента на месте.
Сбрасывает счетчик повторов и продолжает разговор.
Переключение происходит плавно — история разговоров, вызовы инструментов и контекст сохраняются. Агент продолжает работу с того места, на котором остановился, просто используя другую модель.
:::информация за ход, а не за сеанс
Резервное копирование осуществляется по ходу: каждое новое сообщение пользователя начинается с восстановления основной модели. Если основной терпит неудачу в середине хода, резервный вариант активируется только на этот ход. В следующем сообщении Гермес снова пробует использовать основной. В течение одного хода резервный вариант активируется не более одного раза — если резервный вариант также терпит неудачу, вступает в силу обычная обработка ошибок (повторные попытки, затем сообщение об ошибке). Это предотвращает каскадные циклы аварийного переключения в течение хода, в то же время давая основной модели новый шанс каждый ход.
Шлюз обмена сообщениями (Telegram, Discord и т. д.)
✔
Делегирование субагента
✘ (субагенты не наследуют резервную конфигурацию)
Вакансии Cron
✘ (работает с фиксированным провайдером)
Вспомогательные задачи (видение, сжатие)
✘ (используйте собственную цепочку поставщиков — см. ниже)
:::совет
Для fallback_model нет переменных окружения — он настраивается исключительно через config.yaml. Это сделано намеренно: резервная конфигурация — это осознанный выбор, а не то, что устаревший экспорт оболочки должен переопределять.
Резервный вариант вспомогательной задачи
Гермес использует отдельные облегченные модели для побочных задач. Каждая задача имеет собственную цепочку разрешения поставщика, которая действует как встроенная резервная система.
Задачи с разрешением независимого поставщика
Задача
Что он делает
Конфигурационный ключ
Видение
Анализ изображений, скриншоты браузера
auxiliary.vision
Веб-извлечение
Резюме веб-страницы
auxiliary.web_extract
Сжатие
Сводка по сжатию контекста
auxiliary.compression
Поиск сеанса
Подведение итогов прошедшей сессии
auxiliary.session_search
Центр навыков
Поиск и открытие навыков
auxiliary.skills_hub
МКП
Вспомогательные операции MCP
auxiliary.mcp
Одобрение
Умная классификация одобрения команды
auxiliary.approval
Генерация заголовков
Краткое изложение названий сессий
auxiliary.title_generation
Цепочка автоматического обнаружения
Если поставщик задачи установлен на "auto" (по умолчанию), Hermes пробует поставщиков по порядку, пока один из них не сработает:
Для текстовых задач (сжатие, веб-извлечение и т. д.):
OpenRouter → Nous Portal → Custom endpoint → Codex OAuth →
API-key providers (z.ai, Kimi, MiniMax, Xiaomi MiMo, Hugging Face, Anthropic) → give up
Для задач машинного зрения:
Main provider (if vision-capable) → OpenRouter → Nous Portal →
Codex OAuth → Anthropic → Custom endpoint → give up
Если разрешенный провайдер дает сбой во время вызова, Hermes также имеет внутреннюю повторную попытку: если провайдером не является OpenRouter и не установлено явное значение base_url, он пытается использовать OpenRouter в качестве резервного варианта последнего средства.
Настройка вспомогательных поставщиков
Каждую задачу можно настроить независимо в config.yaml:
auxiliary:vision:provider:"auto"# auto | openrouter | nous | codex | main | anthropicmodel:""# e.g. "openai/gpt-4o"base_url:""# direct endpoint (takes precedence over provider)api_key:""# API key for base_urlweb_extract:provider:"auto"model:""compression:provider:"auto"model:""session_search:provider:"auto"model:""timeout:30max_concurrency:3extra_body:{}skills_hub:provider:"auto"model:""mcp:provider:"auto"model:""
Все вышеперечисленные задачи выполняются по одному и тому же шаблону provider/model/base_url. Сжатие контекста настраивается в auxiliary.compression:
auxiliary:compression:provider:main# Same provider options as other auxiliary tasksmodel:google/gemini-3-flash-previewbase_url:null# Custom OpenAI-compatible endpoint
Если ваш провайдер не поддерживает собственное поле управления рассуждениями, совместимое с OpenAI, extra_body не поможет в этой части; в этом случае max_concurrency по-прежнему полезен для уменьшения количества 429 пакетов запросов.
Все три — вспомогательный, сжатый, резервный — работают одинаково: установите provider, чтобы выбрать, кто будет обрабатывать запрос, model, чтобы выбрать модель, и base_url, чтобы указать на пользовательскую конечную точку (переопределяет поставщика).
Параметры поставщика для вспомогательных задач
Эти параметры применимы только к конфигурациям auxiliary:, compression: и fallback_model: — "main"не допустимое значение для model.provider верхнего уровня. Для пользовательских конечных точек используйте provider: custom в разделе model: (см. Поставщики AI).
Провайдер
Описание
Требования
"auto"
Пробуйте поставщиков по порядку, пока один из них не заработает (по умолчанию)
Настроен хотя бы один провайдер
"openrouter"
Принудительно открыть OpenRouter
OPENROUTER_API_KEY
"nous"
Портал Форс Ноус
hermes auth
"codex"
Принудительный кодекс OAuth
hermes model → Кодекс
"main"
Используйте любого поставщика, который использует основной агент (только вспомогательные задачи)
Активный основной провайдер настроен
"anthropic"
Сила антропного родного
ANTHROPIC_API_KEY или учетные данные Клода Кода
Прямое переопределение конечной точки
Для любой вспомогательной задачи установка base_url полностью обходит разрешение провайдера и отправляет запросы непосредственно в эту конечную точку:
base_url имеет приоритет над provider. Hermes использует настроенный api_key для аутентификации, возвращаясь к OPENAI_API_KEY, если он не установлен. Он не повторно использует OPENROUTER_API_KEY для пользовательских конечных точек.
Резервное сжатие контекста
Сжатие контекста использует блок конфигурации auxiliary.compression для управления тем, какая модель и поставщик обрабатывают суммирование:
auxiliary:compression:provider:"auto"# auto | openrouter | nous | mainmodel:"google/gemini-3-flash-preview"
ℹ️ Info
Устаревшая миграция
Старые конфигурации с `compression.summary_model` / `compression.summary_provider` / `compression.summary_base_url` автоматически переносятся в `auxiliary.compression.*` при первой загрузке (версия конфигурации 17).
Если ни один поставщик не доступен для сжатия, Hermes пропускает промежуточные разговоры, не создавая сводку, вместо того, чтобы завершить сеанс.
Переопределение поставщика делегирования
Субагенты, порожденные delegate_task, не используют основную резервную модель. Однако их можно перенаправить к другой паре поставщик:модель для оптимизации затрат:
delegation:provider:"openrouter"# override provider for all subagentsmodel:"google/gemini-3-flash-preview"# override model# base_url: "http://localhost:1234/v1" # or use a direct endpoint# api_key: "local-key"
Задания Cron выполняются с любым поставщиком, настроенным во время выполнения. Они не поддерживают резервную модель. Чтобы использовать другого поставщика для заданий cron, настройте переопределения provider и model в самом задании cron:
cronjob(action="create",schedule="every 2h",prompt="Check server status",provider="openrouter",model="google/gemini-3-flash-preview")