Провайдеры ИИ

Здесь разбираем настройку провайдеров инференса для Hermes Agent: от облачных API вроде OpenRouter и Anthropic до self-hosted-эндпоинтов (Ollama, vLLM), а также продвинутые схемы маршрутизации и резервирования. Чтобы пользоваться Hermes, нужен хотя бы один настроенный провайдер.

Провайдеры инференса

Нужен хотя бы один способ подключиться к LLM. Используйте hermes model, чтобы переключать провайдеров и модели интерактивно, либо настройте напрямую:

ПровайдерНастройка
Nous Portalhermes model (OAuth, по подписке)
OpenAI Codexhermes model (OAuth от ChatGPT, использует модели Codex)
GitHub Copilothermes model (OAuth по device code, COPILOT_GITHUB_TOKEN, GH_TOKEN или gh auth token)
GitHub Copilot ACPhermes model (запускает локальный copilot --acp --stdio)
Anthropichermes model (Claude Max + дополнительные кредиты через OAuth; также поддерживает API-ключ Anthropic или ручной setup-token — см. заметку ниже)
OpenRouterOPENROUTER_API_KEY в ~/.hermes/.env
NovitaAINOVITA_API_KEY в ~/.hermes/.env (провайдер: novita, 200+ моделей, Model API, Agent Sandbox, GPU Cloud)
z.ai / GLMGLM_API_KEY в ~/.hermes/.env (провайдер: zai)
Kimi / MoonshotKIMI_API_KEY в ~/.hermes/.env (провайдер: kimi-coding)
Kimi / Moonshot (Китай)KIMI_CN_API_KEY в ~/.hermes/.env (провайдер: kimi-coding-cn; алиасы: kimi-cn, moonshot-cn)
Arcee AIARCEEAI_API_KEY в ~/.hermes/.env (провайдер: arcee; алиасы: arcee-ai, arceeai)
GMI CloudGMI_API_KEY в ~/.hermes/.env (провайдер: gmi; алиасы: gmi-cloud, gmicloud)
MiniMaxMINIMAX_API_KEY в ~/.hermes/.env (провайдер: minimax)
MiniMax ChinaMINIMAX_CN_API_KEY в ~/.hermes/.env (провайдер: minimax-cn)
xAI (Grok) — Responses APIXAI_API_KEY в ~/.hermes/.env (провайдер: xai)
xAI Grok OAuth (SuperGrok)hermes model → «xAI Grok OAuth (SuperGrok / Premium+)» — вход через браузер, без API-ключа. См. руководство
Qwen Cloud (Alibaba DashScope)DASHSCOPE_API_KEY в ~/.hermes/.env (провайдер: alibaba)
Alibaba Cloud (Coding Plan)DASHSCOPE_API_KEY (провайдер: alibaba-coding-plan, алиас: alibaba_coding) — отдельный SKU биллинга, другой эндпоинт
Kilo CodeKILOCODE_API_KEY в ~/.hermes/.env (провайдер: kilocode)
Xiaomi MiMoXIAOMI_API_KEY в ~/.hermes/.env (провайдер: xiaomi, алиасы: mimo, xiaomi-mimo)
Tencent TokenHubTOKENHUB_API_KEY в ~/.hermes/.env (провайдер: tencent-tokenhub, алиасы: tencent, tokenhub, tencentmaas)
OpenCode ZenOPENCODE_ZEN_API_KEY в ~/.hermes/.env (провайдер: opencode-zen)
OpenCode GoOPENCODE_GO_API_KEY в ~/.hermes/.env (провайдер: opencode-go)
DeepSeekDEEPSEEK_API_KEY в ~/.hermes/.env (провайдер: deepseek)
Hugging FaceHF_TOKEN в ~/.hermes/.env (провайдер: huggingface, алиасы: hf)
Google / GeminiGOOGLE_API_KEY (или GEMINI_API_KEY) в ~/.hermes/.env (провайдер: gemini)
Google Gemini (OAuth)hermes model → «Google Gemini (OAuth)» (провайдер: google-gemini-cli, поддерживается бесплатный тариф, вход через браузер по PKCE)
OpenAI API (напрямую)OPENAI_API_KEY в ~/.hermes/.env (провайдер: openai-api, опционально OPENAI_BASE_URL)
Azure AI Foundryhermes model → «Azure AI Foundry» (провайдер: azure-foundry; использует эндпоинт и ключ Azure OpenAI / Foundry)
AWS Bedrockhermes model → «AWS Bedrock» (провайдер: bedrock; стандартная цепочка учётных данных AWS через boto3)
NVIDIA BuildNVIDIA_API_KEY в ~/.hermes/.env (провайдер: nvidia; модели на NIM-хостинге build.nvidia.com)
Ollama Cloudhermes model → «Ollama Cloud» (провайдер: ollama-cloud; облачный API Ollama)
Qwen OAuthhermes model → «Qwen OAuth» (провайдер: qwen-oauth; вход через браузер по PKCE)
MiniMax OAuthhermes model → «MiniMax (OAuth)» (провайдер: minimax-oauth; вход через браузер по PKCE)
StepFunSTEPFUN_API_KEY в ~/.hermes/.env (провайдер: stepfun)
LM Studiohermes model → «LM Studio» (провайдер: lmstudio, опционально LM_API_KEY)
Свой эндпоинтhermes model → выберите «Custom endpoint» (сохраняется в config.yaml)

Официальный путь через API-ключ описан в отдельном руководстве по Google Gemini.

совет
Алиас ключа модели

В секции конфига model: в качестве имени ключа для ID модели можно использовать и default:, и model:. И model: { default: my-model }, и model: { model: my-model } работают одинаково.

Nous Portal

Nous Portal — единый шлюз по подписке от Nous Research и рекомендуемый способ запускать Hermes Agent. Один вход через OAuth покрывает 300+ передовых агентных моделей (Claude, GPT, Gemini, DeepSeek, Qwen, Kimi, GLM, MiniMax, Grok, …) плюс Tool Gateway (веб-поиск, генерация изображений, TTS, автоматизация браузера) плюс Nous Chat — оплата идёт с подписки Nous, а не с отдельных аккаунтов у каждого провайдера.

hermes setup --portal     # свежая установка — OAuth + провайдер + шлюз одной командой
hermes model              # существующая установка — выберите «Nous Portal» из списка
hermes portal info        # в любой момент проверить вход + маршрутизацию

Подписки ещё нет? Оформите её на portal.nousresearch.com/manage-subscription.

Полные детали: см. отдельную страницу интеграции Nous Portal (что входит в подписку, каталог моделей, решение проблем) и пошаговое руководство «Запуск Hermes Agent с Nous Portal».

Идентификация клиента. Каждый запрос к Portal от Hermes Agent несёт тег client=hermes-client-v<версия> (например, client=hermes-client-v0.13.0), который автоматически совпадает с установленным релизом. Тег уходит по всем путям Portal — основной цикл чата, вспомогательные вызовы, резюмер для сжатия, извлечение веба — и помогает телеметрии на стороне Portal отличать трафик Hermes от других клиентов. Настройка не нужна; тег обновляется сам при hermes update.

JWT-авторизация (автоматически). Для запросов к Portal Hermes предпочитает скоупленные JWT inference:invoke, оставляя устаревший путь с непрозрачным session-key как фолбэк. Настройка не требуется — учётными данными управляет поток OAuth, и они ротируются прозрачно. Отозванные refresh-токены помещаются в карантин, чтобы избежать петель переотправки.

инфо
Заметка о Codex

Провайдер OpenAI Codex авторизуется по device code (открыть URL, ввести код). Hermes хранит полученные учётные данные в собственном хранилище ~/.hermes/auth.json и может импортировать существующие учётные данные Codex CLI из ~/.codex/auth.json, если они есть. Установка Codex CLI не требуется.

Если обновление токена падает с терминальной ошибкой (HTTP 4xx, invalid_grant, отозванный grant и т. д.), Hermes помечает refresh-токен мёртвым и перестаёт его переотправлять, чтобы вы не видели поток одинаковых ошибок авторизации. Следующий запрос вместо этого покажет типизированное сообщение о повторной авторизации. Выполните hermes auth add codex-oauth (или hermes model → OpenAI Codex), чтобы начать свежий вход по device code; карантин снимается при следующем успешном обмене.

внимание

Даже при использовании Nous Portal, Codex или своего эндпоинта некоторые инструменты (зрение, веб-резюмирование, MoA) используют отдельную «вспомогательную» модель. По умолчанию (auxiliary.*.provider: "auto") Hermes направляет эти задачи на вашу основную чат-модель — ту же, что вы выбрали в hermes model. Каждую задачу можно переопределить отдельно, направив на более дешёвую/быструю модель (например, Gemini Flash на OpenRouter) — см. Вспомогательные модели.

совет
Nous Tool Gateway

Платные подписчики Nous Portal также получают доступ к Tool Gateway — веб-поиск, генерация изображений, TTS и автоматизация браузера через вашу подписку. Дополнительные API-ключи не нужны. На свежей установке hermes setup --portal входит за вас, назначает Nous провайдером и включает шлюз одной командой. Существующие пользователи могут включить его из hermes model или по инструментам из hermes tools. Маршрутизацию в любой момент покажет hermes portal info.

Две команды для управления моделями

В Hermes две команды для моделей, и у них разные задачи:

КомандаГде запускатьЧто делает
hermes modelВ терминале (вне сессии)Полный мастер настройки — добавить провайдеров, провести OAuth, ввести API-ключи, настроить эндпоинты
/modelВнутри чат-сессии HermesБыстрое переключение между уже настроенными провайдерами и моделями

Если вы пытаетесь переключиться на провайдера, которого ещё не настроили (например, настроен только OpenRouter, а нужен Anthropic), вам нужен hermes model, а не /model. Сначала выйдите из сессии (Ctrl+C или /quit), запустите hermes model, завершите настройку провайдера, затем начните новую сессию.

Anthropic (нативно)

Используйте модели Claude напрямую через API Anthropic — без прокси OpenRouter. Поддерживает три метода авторизации:

осторожно
Нужны кредиты «extra usage» плана Claude Max

Когда вы авторизуетесь через hermes model → Anthropic OAuth (или через hermes auth add anthropic --type oauth), Hermes ходит как Claude Code от имени вашего аккаунта Anthropic. Это работает только если у вас план Claude Max и вы докупили дополнительные кредиты использования. Базовый лимит плана Max (то, что включено в Claude Code по умолчанию) Hermes не расходует — только дополнительные/сверхлимитные кредиты, которые вы добавили. Подписчики Claude Pro этот путь использовать не могут.

Если у вас нет Max + дополнительных кредитов, используйте ANTHROPIC_API_KEY — оплата идёт за токены (pay-per-token) на организацию этого ключа (стандартные цены API, независимо от любой подписки Claude).

# С API-ключом (оплата за токены)
export ANTHROPIC_API_KEY=***
hermes chat --provider anthropic --model claude-sonnet-4-6

# Предпочтительно: авторизация через `hermes model`
# Hermes напрямую использует хранилище учётных данных Claude Code, когда оно доступно
hermes model

# Ручное переопределение через setup-token (фолбэк / устаревшее)
export ANTHROPIC_TOKEN=***  # setup-token или ручной OAuth-токен
hermes chat --provider anthropic

# Автоопределение учётных данных Claude Code (если вы уже пользуетесь Claude Code)
hermes chat --provider anthropic  # автоматически читает файлы учётных данных Claude Code

Когда вы выбираете Anthropic OAuth через hermes model, Hermes предпочитает собственное хранилище учётных данных Claude Code копированию токена в ~/.hermes/.env. Так учётные данные Claude сохраняют способность к автообновлению.

Или задайте навсегда:

model:
  provider: "anthropic"
  default: "claude-sonnet-4-6"
совет
Алиасы

--provider claude и --provider claude-code тоже работают как сокращение для --provider anthropic.

GitHub Copilot

Hermes поддерживает GitHub Copilot как полноценного провайдера в двух режимах:

copilot — прямой API Copilot (рекомендуется). Использует вашу подписку GitHub Copilot для доступа к GPT-5.x, Claude, Gemini и другим моделям через API Copilot.

hermes chat --provider copilot --model gpt-5.4

Варианты авторизации (проверяются в этом порядке):

  1. Переменная окружения COPILOT_GITHUB_TOKEN
  2. Переменная окружения GH_TOKEN
  3. Переменная окружения GITHUB_TOKEN
  4. Фолбэк через CLI gh auth token

Если токен не найден, hermes model предлагает вход по OAuth device code — тот же поток, что у Copilot CLI и opencode.

внимание
Типы токенов

API Copilot не поддерживает классические Personal Access Token (ghp_*). Поддерживаемые типы токенов:

ТипПрефиксКак получить
OAuth-токенgho_hermes model → GitHub Copilot → Login with GitHub
Fine-grained PATgithub_pat_GitHub Settings → Developer settings → Fine-grained tokens (нужно разрешение Copilot Requests)
Токен GitHub Appghu_Через установку GitHub App

Если ваш gh auth token возвращает токен ghp_*, авторизуйтесь через OAuth с помощью hermes model.

инфо
Поведение авторизации Copilot в Hermes

Hermes отправляет поддерживаемый токен GitHub (gho_*, github_pat_* или ghu_*) напрямую на api.githubcopilot.com и включает специфичные для Copilot заголовки (Editor-Version, Copilot-Integration-Id, Openai-Intent, x-initiator).

При HTTP 401 Hermes теперь выполняет однократное восстановление учётных данных перед фолбэком:

  1. Заново разрешает токен по обычной цепочке приоритетов (COPILOT_GITHUB_TOKENGH_TOKENGITHUB_TOKENgh auth token)
  2. Пересобирает общий клиент OpenAI с обновлёнными заголовками
  3. Один раз повторяет запрос

Некоторые старые прокси сообщества используют потоки обмена api.github.com/copilot_internal/v2/token. Этот эндпоинт может быть недоступен для части типов аккаунтов (возвращает 404). Поэтому Hermes держит авторизацию по прямому токену основным путём и полагается на обновление учётных данных во время работы + повтор для надёжности.

Маршрутизация API: модели GPT-5+ (кроме gpt-5-mini) автоматически используют Responses API. Все прочие модели (GPT-4o, Claude, Gemini и т. д.) используют Chat Completions. Модели автоматически определяются из живого каталога Copilot.

copilot-acp — бэкенд агента Copilot ACP. Запускает локальный Copilot CLI как подпроцесс:

hermes chat --provider copilot-acp --model copilot-acp
# Требует GitHub Copilot CLI в PATH и существующую сессию `copilot login`

Постоянная конфигурация:

model:
  provider: "copilot"
  default: "gpt-5.4"
Переменная окруженияОписание
COPILOT_GITHUB_TOKENТокен GitHub для API Copilot (первый приоритет)
HERMES_COPILOT_ACP_COMMANDПереопределить путь к бинарнику Copilot CLI (по умолчанию: copilot)
HERMES_COPILOT_ACP_ARGSПереопределить аргументы ACP (по умолчанию: --acp --stdio)

Провайдеры первого класса с API-ключом

У этих провайдеров встроенная поддержка с выделенными ID провайдера. Задайте API-ключ и выбирайте через --provider:

# NovitaAI Model API
hermes chat --provider novita --model moonshotai/kimi-k2.5
# Требует: NOVITA_API_KEY в ~/.hermes/.env

# z.ai / ZhipuAI GLM
hermes chat --provider zai --model glm-5
# Требует: GLM_API_KEY в ~/.hermes/.env

# Kimi / Moonshot AI (международный: api.moonshot.ai)
hermes chat --provider kimi-coding --model kimi-for-coding
# Требует: KIMI_API_KEY в ~/.hermes/.env

# Kimi / Moonshot AI (Китай: api.moonshot.cn)
hermes chat --provider kimi-coding-cn --model kimi-k2.5
# Требует: KIMI_CN_API_KEY в ~/.hermes/.env

# MiniMax (глобальный эндпоинт)
hermes chat --provider minimax --model MiniMax-M2.7
# Требует: MINIMAX_API_KEY в ~/.hermes/.env

# MiniMax (эндпоинт Китая)
hermes chat --provider minimax-cn --model MiniMax-M2.7
# Требует: MINIMAX_CN_API_KEY в ~/.hermes/.env

# Qwen Cloud / DashScope (модели Qwen)
hermes chat --provider alibaba --model qwen3.5-plus
# Требует: DASHSCOPE_API_KEY в ~/.hermes/.env

# Xiaomi MiMo
hermes chat --provider xiaomi --model mimo-v2-pro
# Требует: XIAOMI_API_KEY в ~/.hermes/.env

# Tencent TokenHub (Hy3 Preview)
hermes chat --provider tencent-tokenhub --model hy3-preview
# Требует: TOKENHUB_API_KEY в ~/.hermes/.env

# Arcee AI (модели Trinity)
hermes chat --provider arcee --model trinity-large-thinking
# Требует: ARCEEAI_API_KEY в ~/.hermes/.env

# GMI Cloud
# Используйте точный ID модели, который возвращает эндпоинт GMI /v1/models.
hermes chat --provider gmi --model zai-org/GLM-5.1-FP8
# Требует: GMI_API_KEY в ~/.hermes/.env

Или задайте провайдера навсегда в config.yaml:

model:
  provider: "gmi"
  default: "zai-org/GLM-5.1-FP8"

Base URL можно переопределить переменными окружения NOVITA_BASE_URL, GLM_BASE_URL, KIMI_BASE_URL, MINIMAX_BASE_URL, MINIMAX_CN_BASE_URL, DASHSCOPE_BASE_URL, XIAOMI_BASE_URL, GMI_BASE_URL или TOKENHUB_BASE_URL.

заметка
Автоопределение эндпоинта Z.AI

При использовании провайдера Z.AI / GLM Hermes автоматически прощупывает несколько эндпоинтов (глобальный, Китай, варианты для кода), чтобы найти тот, что принимает ваш API-ключ. Задавать GLM_BASE_URL вручную не нужно — рабочий эндпоинт определяется и кэшируется автоматически.

xAI (Grok) — Responses API + кэширование промптов

xAI подключён через Responses API (транспорт codex_responses) с автоматической поддержкой рассуждений на моделях Grok 4 — параметр reasoning_effort не нужен, сервер рассуждает по умолчанию. Задайте XAI_API_KEY в ~/.hermes/.env и выберите xAI в hermes model либо используйте grok как сокращение: /model grok-4-fast-reasoning.

Подписчики SuperGrok и X Premium+ могут войти через браузерный OAuth вместо API-ключа — выберите xAI Grok OAuth (SuperGrok / Premium+) в hermes model или выполните hermes auth add xai-oauth. Тот же OAuth bearer-токен автоматически переиспользуется инструментами, работающими напрямую с xAI (TTS, генерация изображений, генерация видео, транскрипция). Полный поток — в руководстве по xAI Grok OAuth; а если Hermes работает на удалённом хосте, см. также OAuth через SSH / удалённые хосты для нужного туннеля ssh -L.

При использовании xAI как провайдера (любой base URL, содержащий x.ai) Hermes автоматически включает кэширование промптов и отправляет заголовок x-grok-conv-id с каждым запросом к API. Запросы в пределах одной сессии разговора уходят на один и тот же сервер, и инфраструктура xAI переиспользует кэшированные системные промпты и историю разговора.

Настройка не нужна — кэширование включается само, как только обнаружен эндпоинт xAI и есть ID сессии. Это снижает задержку и стоимость многоходовых разговоров.

У xAI также есть выделенный эндпоинт TTS (/v1/tts). Выберите xAI TTS в hermes tools → Voice & TTS либо смотрите настройку на странице Голос и TTS.

Миграция снятых с поддержки моделей xAI (15 мая 2026): xAI выводит из эксплуатации grok-4*, grok-3, grok-code-fast-1 и grok-imagine-image-pro 15.05.2026. И hermes doctor, и запуск hermes chat обнаруживают любой конфиг, всё ещё указывающий на снятую ссылку, и печатают рекомендованную замену. Используйте hermes migrate xai для разовой перезаписи конфига — по умолчанию пробный прогон, добавьте --apply, чтобы записать изменения (автоматически создаётся резервная копия с меткой времени config.yaml.bak-pre-migrate-xai-*).

hermes migrate xai          # предпросмотр замен
hermes migrate xai --apply  # переписать ~/.hermes/config.yaml на месте

Бэкенд веб-поиска xAI. Когда включён набор инструментов Веб-поиск, web.backend: xai направляет поиск через хостинговый поисковый эндпоинт xAI, используя те же учётные данные XAI_API_KEY / OAuth. Дополнительная настройка не нужна, если xAI уже настроен как провайдер.

NovitaAI

NovitaAI — AI-нативное облако для разработчиков и агентов. Три продуктовые линии: Model API для 200+ моделей, Agent Sandbox для сборки и запуска ИИ-агентов и GPU Cloud для масштабируемых вычислений — всё с одной платформы.

# Используйте любую доступную модель
hermes chat --provider novita --model moonshotai/kimi-k2.5
# Требует: NOVITA_API_KEY в ~/.hermes/.env

# Короткий алиас
hermes chat --provider novita-ai --model deepseek/deepseek-v3-0324

Или задайте навсегда в config.yaml:

model:
  provider: "novita"
  default: "moonshotai/kimi-k2.5"
  base_url: "https://api.novita.ai/openai/v1"

Получите API-ключ на novita.ai/settings/key-management. Base URL переопределяется через NOVITA_BASE_URL.

Ollama Cloud — управляемые модели Ollama, OAuth + API-ключ

Ollama Cloud хостит тот же каталог моделей с открытыми весами, что и локальный Ollama, но без требования к GPU. Выберите его в hermes model как Ollama Cloud, вставьте API-ключ с ollama.com/settings/keys, и Hermes сам обнаружит доступные модели.

hermes model
# → выберите «Ollama Cloud»
# → вставьте свой OLLAMA_API_KEY
# → выберите из обнаруженных моделей (gpt-oss:120b, glm-4.6:cloud, qwen3-coder:480b-cloud и т. д.)

Или прямо в config.yaml:

model:
  provider: "ollama-cloud"
  default: "gpt-oss:120b"

Каталог моделей подтягивается динамически с ollama.com/v1/models и кэшируется на час. Нотация model:tag (например, qwen3-coder:480b-cloud) сохраняется при нормализации — не используйте дефисы.

совет
Ollama Cloud vs локальный Ollama

Оба говорят на одном OpenAI-совместимом API. Cloud — провайдер первого класса (--provider ollama-cloud, OLLAMA_API_KEY); локальный Ollama доступен через путь «Свой эндпоинт» (base URL http://localhost:11434/v1, без ключа). Используйте cloud для крупных моделей, которые не запустить локально; локальный — для приватности или работы офлайн.

AWS Bedrock

Anthropic Claude, Amazon Nova, DeepSeek v3.2, Meta Llama 4 и другие модели через AWS Bedrock. Использует цепочку учётных данных AWS SDK (boto3) — без API-ключа, обычная авторизация AWS.

# Проще всего — именованный профиль в ~/.aws/credentials
hermes chat --provider bedrock --model us.anthropic.claude-sonnet-4-6

# Или с явными переменными окружения
AWS_PROFILE=myprofile AWS_REGION=us-east-1 hermes chat --provider bedrock --model us.anthropic.claude-sonnet-4-6

Или навсегда в config.yaml:

model:
  provider: "bedrock"
  default: "us.anthropic.claude-sonnet-4-6"
bedrock:
  region: "us-east-1"          # или задайте AWS_REGION
  # profile: "myprofile"       # или задайте AWS_PROFILE
  # discovery: true            # автоопределение региона из IAM
  # guardrail:                 # опциональные Bedrock Guardrails
  #   guardrail_identifier: "your-guardrail-id"
  #   guardrail_version: "DRAFT"

Авторизация использует стандартную цепочку boto3: явные AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY, AWS_PROFILE из ~/.aws/credentials, IAM-роль на EC2/ECS/Lambda, IMDS или SSO. Переменная окружения не нужна, если вы уже авторизованы в AWS CLI.

Bedrock под капотом использует Converse API — запросы транслируются в модель-агностичную форму Bedrock, так что один конфиг работает для Claude, Nova, DeepSeek и Llama. Задавайте BEDROCK_BASE_URL только если обращаетесь к нестандартному региональному эндпоинту.

Пошаговую настройку IAM, выбор региона и кросс-региональный инференс смотрите в руководстве по AWS Bedrock.

Qwen Portal (OAuth)

Qwen Portal от Alibaba с входом через браузерный OAuth. Выберите Qwen OAuth (Portal) в hermes model, войдите через браузер, и Hermes сохранит refresh-токен.

hermes model
# → выберите «Qwen OAuth (Portal)»
# → откроется браузер; войдите со своим аккаунтом Alibaba
# → подтвердите — учётные данные сохраняются в ~/.hermes/auth.json

hermes chat   # использует эндпоинт portal.qwen.ai/v1

Или настройте config.yaml:

model:
  provider: "qwen-oauth"
  default: "qwen3-coder-plus"

Задавайте HERMES_QWEN_BASE_URL только если эндпоинт портала переедет (по умолчанию: https://portal.qwen.ai/v1).

совет
Qwen OAuth vs Qwen Cloud (Alibaba DashScope)

qwen-oauth использует потребительский Qwen Portal со входом по OAuth — идеально для отдельных пользователей. Провайдер alibaba использует Qwen Cloud (Alibaba DashScope) с DASHSCOPE_API_KEY — идеально для программных / продакшен-нагрузок. Оба ведут к моделям семейства Qwen, но живут на разных эндпоинтах.

Alibaba Cloud (Coding Plan)

Если вы подписаны на Coding Plan от Alibaba (тарифный SKU, отдельный от стандартного доступа к DashScope API), Hermes выставляет его как самостоятельного провайдера первого класса: alibaba-coding-plan. Эндпоинт: https://coding-intl.dashscope.aliyuncs.com/v1. Он OpenAI-совместим, как обычный провайдер alibaba, но с другим base URL и поверхностью биллинга.

model:
  provider: alibaba_coding     # алиас для alibaba-coding-plan
  model: qwen3-coder-plus

Или из CLI:

hermes chat --provider alibaba_coding --model qwen3-coder-plus

alibaba_coding использует тот же DASHSCOPE_API_KEY, что и ваша запись alibaba — отдельный ключ не нужен, лишь другая цель маршрутизации. До регистрации этого провайдера пользователи, задавшие provider: alibaba_coding в config.yaml, молча проваливались в маршрутизацию OpenRouter.

MiniMax (OAuth)

MiniMax-M2.7 через вход по браузерному OAuth — без API-ключа. Выберите MiniMax (OAuth) в hermes model, войдите через браузер, и Hermes сохранит access- и refresh-токены. Под капотом использует Anthropic-совместимый эндпоинт Messages (/anthropic).

hermes model
# → выберите «MiniMax (OAuth)»
# → откроется браузер; войдите со своим аккаунтом MiniMax (глобальный или регион CN)
# → подтвердите — учётные данные сохраняются в ~/.hermes/auth.json

hermes chat   # использует эндпоинт api.minimax.io/anthropic

Или настройте config.yaml:

model:
  provider: "minimax-oauth"
  default: "MiniMax-M2.7"

Поддерживаемые модели: MiniMax-M2.7 (основная) и MiniMax-M2.7-highspeed (подключена как вспомогательная модель по умолчанию). Путь OAuth игнорирует MINIMAX_API_KEY / MINIMAX_BASE_URL.

совет
MiniMax OAuth vs API-ключ

minimax-oauth использует потребительский портал MiniMax со входом по OAuth — настройка биллинга не нужна. Провайдеры minimax и minimax-cn используют MINIMAX_API_KEY / MINIMAX_CN_API_KEY — для программного доступа. Полное прохождение — в руководстве по MiniMax OAuth.

NVIDIA NIM

Nemotron и другие модели с открытым исходным кодом через build.nvidia.com (бесплатный API-ключ) или локальный эндпоинт NIM.

# Облако (build.nvidia.com)
hermes chat --provider nvidia --model nvidia/nemotron-3-super-120b-a12b
# Требует: NVIDIA_API_KEY в ~/.hermes/.env

# Локальный эндпоинт NIM — переопределите base URL
NVIDIA_BASE_URL=http://localhost:8000/v1 hermes chat --provider nvidia --model nvidia/nemotron-3-super-120b-a12b

Или задайте навсегда в config.yaml:

model:
  provider: "nvidia"
  default: "nvidia/nemotron-3-super-120b-a12b"
совет
Локальный NIM

Для on-prem-развёртываний (DGX Spark, локальный GPU) задайте NVIDIA_BASE_URL=http://localhost:8000/v1. NIM выставляет тот же OpenAI-совместимый API chat completions, что и build.nvidia.com, так что переключение между облаком и локалью — это правка одной переменной окружения.

К каждому запросу на build.nvidia.com Hermes автоматически добавляет заголовок происхождения биллинга NIM — настройка не нужна. Так потребление учитывается за правильным источником в биллинг-панели NVIDIA.

GMI Cloud

Открытые и рассуждающие модели через GMI Cloud — OpenAI-совместимый API, авторизация по API-ключу.

# GMI Cloud
hermes chat --provider gmi --model deepseek-ai/DeepSeek-V3.2
# Требует: GMI_API_KEY в ~/.hermes/.env

Или задайте навсегда в config.yaml:

model:
  provider: "gmi"
  default: "deepseek-ai/DeepSeek-V3.2"

Base URL переопределяется через GMI_BASE_URL (по умолчанию: https://api.gmi-serving.com/v1).

StepFun

Модели серии Step через StepFun — OpenAI-совместимый API, авторизация по API-ключу.

# StepFun
hermes chat --provider stepfun --model step-3.5-flash
# Требует: STEPFUN_API_KEY в ~/.hermes/.env

Или задайте навсегда в config.yaml:

model:
  provider: "stepfun"
  default: "step-3.5-flash"

Base URL переопределяется через STEPFUN_BASE_URL (по умолчанию: https://api.stepfun.com/v1).

Hugging Face Inference Providers

Hugging Face Inference Providers маршрутизирует к 20+ открытым моделям через единый OpenAI-совместимый эндпоинт (router.huggingface.co/v1). Запросы автоматически направляются на самый быстрый доступный бэкенд (Groq, Together, SambaNova и т. д.) с автоматическим переключением при отказе.

# Используйте любую доступную модель
hermes chat --provider huggingface --model Qwen/Qwen3.5-397B-A17B
# Требует: HF_TOKEN в ~/.hermes/.env

# Короткий алиас
hermes chat --provider hf --model deepseek-ai/DeepSeek-V3.2

Или задайте навсегда в config.yaml:

model:
  provider: "huggingface"
  default: "Qwen/Qwen3.5-397B-A17B"

Получите токен на huggingface.co/settings/tokens — обязательно включите разрешение «Make calls to Inference Providers». Бесплатный тариф включён (кредит $0,10/мес, без наценки на тарифы провайдеров).

К именам моделей можно добавлять суффиксы маршрутизации: :fastest (по умолчанию), :cheapest или :provider_name, чтобы принудительно выбрать конкретный бэкенд.

Base URL переопределяется через HF_BASE_URL.

Google Gemini через OAuth (google-gemini-cli)

Провайдер google-gemini-cli использует бэкенд Google Cloud Code Assist — тот же API, что и собственный инструмент Google gemini-cli. Поддерживает и бесплатный тариф (щедрая дневная квота для личных аккаунтов), и платные тарифы (Standard/Enterprise через проект GCP).

Быстрый старт:

hermes model
# → выберите «Google Gemini (OAuth)»
# → прочтите предупреждение о политике, подтвердите
# → откроется браузер на accounts.google.com, войдите
# → готово — Hermes сам подготовит ваш бесплатный тариф при первом запросе

Hermes по умолчанию поставляет публичный десктопный OAuth-клиент Google gemini-cli — те же учётные данные, что Google включает в свой open-source gemini-cli. Десктопные OAuth-клиенты не являются конфиденциальными (безопасность обеспечивает PKCE). Устанавливать gemini-cli или регистрировать собственный OAuth-клиент GCP не нужно.

Как работает авторизация:

  • Поток Authorization Code с PKCE против accounts.google.com
  • Браузерный колбэк на http://127.0.0.1:8085/oauth2callback (с фолбэком на эфемерный порт, если занят)
  • Токены хранятся в ~/.hermes/auth/google_oauth.json (chmod 0600, атомарная запись, межпроцессная блокировка fcntl)
  • Автоматическое обновление за 60 с до истечения
  • Headless-окружения (SSH, HERMES_HEADLESS=1) → фолбэк в режим вставки
  • Дедупликация одновременных обновлений — два параллельных запроса не обновят токен дважды
  • invalid_grant (отозванный refresh) → файл учётных данных стирается, пользователю предлагают войти заново

Как работает инференс:

  • Трафик идёт на https://cloudcode-pa.googleapis.com/v1internal:generateContent (или :streamGenerateContent?alt=sse для потока), а НЕ на платный эндпоинт v1beta/openai
  • Тело запроса оборачивается в {project, model, user_prompt_id, request}
  • messages[], tools[], tool_choice в формате OpenAI транслируются в нативную форму Gemini — contents[], tools[].functionDeclarations, toolConfig
  • Ответы транслируются обратно в форму OpenAI, чтобы остальной Hermes работал без изменений

Тарифы и ID проектов:

Ваша ситуацияЧто делать
Личный аккаунт Google, нужен бесплатный тарифНичего — войдите и начинайте общаться
Аккаунт Workspace / Standard / EnterpriseЗадайте HERMES_GEMINI_PROJECT_ID или GOOGLE_CLOUD_PROJECT с ID вашего проекта GCP
Организация под защитой VPC-SCHermes обнаруживает SECURITY_POLICY_VIOLATED и автоматически принудительно ставит standard-tier

Бесплатный тариф при первом использовании сам подготавливает управляемый Google проект. Настройка GCP не нужна.

Мониторинг квоты:

/gquota

Показывает остаток квоты Code Assist по моделям с прогресс-барами:

Gemini Code Assist quota  (project: 123-abc)

  gemini-2.5-pro                      ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░   85%
  gemini-2.5-flash [input]            ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░   92%
внимание
Риск нарушения политики

Google считает использование OAuth-клиента Gemini CLI со сторонним ПО нарушением политики. Часть пользователей сообщала об ограничениях аккаунта. Для наименьшего риска используйте собственный API-ключ через провайдера gemini. Hermes показывает предупреждение заранее и требует явного подтверждения перед началом OAuth.

Свой OAuth-клиент (опционально):

Если вы предпочитаете зарегистрировать собственный OAuth-клиент Google — например, чтобы держать квоту и согласие в рамках своего проекта GCP — задайте:

HERMES_GEMINI_CLIENT_ID=your-client.apps.googleusercontent.com
HERMES_GEMINI_CLIENT_SECRET=...   # опционально для десктопных клиентов

Зарегистрируйте OAuth-клиент типа Desktop app на console.cloud.google.com/apis/credentials с включённым Generative Language API.

Свои и self-hosted провайдеры LLM

Hermes Agent работает с любым OpenAI-совместимым эндпоинтом API. Реализует ли сервер /v1/chat/completions — этого достаточно, чтобы направить на него Hermes. Подойдут локальные модели, серверы GPU-инференса, мультипровайдерные роутеры или любой сторонний API.

Общая настройка

Три способа настроить свой эндпоинт:

Интерактивная настройка (рекомендуется):

hermes model
# Выберите «Custom endpoint (self-hosted / VLLM / etc.)»
# Введите: base URL API, API-ключ, имя модели

Ручной конфиг (config.yaml):

# В ~/.hermes/config.yaml
model:
  default: your-model-name
  provider: custom
  base_url: http://localhost:8000/v1
  api_key: your-key-or-leave-empty-for-local
внимание
Устаревшие переменные окружения

LLM_MODEL в .env удалена — единственный источник истины для настройки модели и эндпоинта теперь config.yaml. OPENAI_BASE_URL всё ещё учитывается, но только для провайдера openai-api (она переопределяет эндпоинт OpenAI для прямого доступа по API-ключу). Для других провайдеров и своих эндпоинтов используйте hermes model либо задавайте model.base_url в config.yaml напрямую. Устаревшие записи в .env очищаются автоматически при следующем hermes setup или миграции конфига.

Оба подхода сохраняются в config.yaml — это и есть источник истины для модели, провайдера и base URL.

Смена моделей через /model

внимание
hermes model vs /model

hermes model (запуск из терминала, вне чат-сессии) — это полный мастер настройки провайдеров. Используйте его, чтобы добавлять новых провайдеров, проводить потоки OAuth, вводить API-ключи и настраивать свои эндпоинты.

/model (набирается внутри активной чат-сессии Hermes) умеет только переключаться между уже настроенными провайдерами и моделями. Он не может добавить нового провайдера, провести OAuth или запросить API-ключ. Если настроен лишь один провайдер (например, OpenRouter), /model покажет только модели этого провайдера.

Чтобы добавить нового провайдера: выйдите из сессии (Ctrl+C или /quit), запустите hermes model, настройте нового провайдера, затем начните новую сессию.

Когда настроен хотя бы один свой эндпоинт, модели можно переключать прямо в сессии:

/model custom:qwen-2.5          # Переключиться на модель вашего эндпоинта
/model custom                    # Автоопределить модель с эндпоинта
/model openrouter:claude-sonnet-4 # Вернуться к облачному провайдеру

Если настроены именованные свои провайдеры (см. ниже), используйте тройной синтаксис:

/model custom:local:qwen-2.5    # Использовать свой провайдер «local» с моделью qwen-2.5
/model custom:work:llama3       # Использовать свой провайдер «work» с llama3

При переключении провайдеров Hermes сохраняет base URL и провайдера в конфиг, чтобы смена пережила перезапуски. При переключении со своего эндпоинта на встроенного провайдера устаревший base URL автоматически очищается.

совет

/model custom (без имени модели) запрашивает API /models вашего эндпоинта и автоматически выбирает модель, если загружена ровно одна. Удобно для локальных серверов с одной моделью.

Всё, что ниже, следует той же схеме — просто меняйте URL, ключ и имя модели.


Ollama — локальные модели, без настройки

Ollama запускает модели с открытыми весами локально одной командой. Лучше всего для: быстрых локальных экспериментов, приватной работы, офлайн-использования. Поддерживает вызов инструментов через OpenAI-совместимый API.

# Установить и запустить модель
ollama pull qwen2.5-coder:32b
ollama serve   # Запускается на порту 11434

Затем настройте Hermes:

hermes model
# Выберите «Custom endpoint (self-hosted / VLLM / etc.)»
# Введите URL: http://localhost:11434/v1
# Пропустите API-ключ (Ollama он не нужен)
# Введите имя модели (например, qwen2.5-coder:32b)

Или настройте config.yaml напрямую:

model:
  default: qwen2.5-coder:32b
  provider: custom
  base_url: http://localhost:11434/v1
  context_length: 64000   # См. предупреждение ниже
осторожно
У Ollama по умолчанию очень малый контекст

Ollama по умолчанию не использует полное окно контекста вашей модели. В зависимости от VRAM значение по умолчанию:

Доступная VRAMКонтекст по умолчанию
Меньше 24 ГБ4096 токенов
24–48 ГБ32 768 токенов
48+ ГБ256 000 токенов

Hermes Agent требует не меньше 64 000 токенов контекста для агентной работы с инструментами. Меньшие окна отклоняются при запуске, потому что системному промпту, схемам инструментов и рабочему состоянию разговора нужно достаточно места для надёжных многошаговых процессов.

Как увеличить (выберите один способ):

# Способ 1: задать на весь сервер через переменную окружения (рекомендуется)
OLLAMA_CONTEXT_LENGTH=64000 ollama serve

# Способ 2: для Ollama под systemd
sudo systemctl edit ollama.service
# Добавьте: Environment="OLLAMA_CONTEXT_LENGTH=64000"
# Затем: sudo systemctl daemon-reload && sudo systemctl restart ollama

# Способ 3: запечь в свою модель (постоянно, для конкретной модели)
echo -e "FROM qwen2.5-coder:32b\nPARAMETER num_ctx 64000" > Modelfile
ollama create qwen2.5-coder-64k -f Modelfile

Через OpenAI-совместимый API (/v1/chat/completions) задать длину контекста нельзя. Её нужно настраивать на стороне сервера или через Modelfile. Это причина путаницы №1 при интеграции Ollama с инструментами вроде Hermes.

Проверьте, что контекст задан верно:

ollama ps
# Смотрите столбец CONTEXT — он должен показывать заданное значение
совет

Список доступных моделей — ollama list. Любую модель из библиотеки Ollama скачивайте через ollama pull <model>. Ollama сам управляет выгрузкой на GPU — для большинства конфигураций настройка не нужна.


vLLM — высокопроизводительный GPU-инференс

vLLM — стандарт для продакшен-обслуживания LLM. Лучше всего для: максимальной пропускной способности на GPU, обслуживания крупных моделей, непрерывного батчинга.

pip install vllm
vllm serve meta-llama/Llama-3.1-70B-Instruct \
  --port 8000 \
  --max-model-len 65536 \
  --tensor-parallel-size 2 \
  --enable-auto-tool-choice \
  --tool-call-parser hermes

Затем настройте Hermes:

hermes model
# Выберите «Custom endpoint (self-hosted / VLLM / etc.)»
# Введите URL: http://localhost:8000/v1
# Пропустите API-ключ (или введите, если настроили vLLM с --api-key)
# Введите имя модели: meta-llama/Llama-3.1-70B-Instruct

Длина контекста: vLLM по умолчанию читает max_position_embeddings модели. Если это превышает память GPU, он выдаёт ошибку и просит снизить --max-model-len. Можно также использовать --max-model-len auto, чтобы автоматически найти максимум, который помещается. Задайте --gpu-memory-utilization 0.95 (по умолчанию 0.9), чтобы вместить больше контекста в VRAM.

Вызов инструментов требует явных флагов:

ФлагНазначение
--enable-auto-tool-choiceНужен для tool_choice: "auto" (по умолчанию в Hermes)
--tool-call-parser <name>Парсер формата вызова инструментов модели

Поддерживаемые парсеры: hermes (Qwen 2.5, Hermes 2/3), llama3_json (Llama 3.x), mistral, deepseek_v3, deepseek_v31, xlam, pythonic. Без этих флагов вызовы инструментов не сработают — модель будет выводить их как текст.

совет

vLLM понимает человекочитаемые размеры: --max-model-len 64k (строчная k = 1000, заглавная K = 1024).


SGLang — быстрое обслуживание с RadixAttention

SGLang — альтернатива vLLM с RadixAttention для переиспользования KV-кэша. Лучше всего для: многоходовых разговоров (кэширование префиксов), ограниченного декодирования, структурированного вывода.

pip install "sglang[all]"
python -m sglang.launch_server \
  --model meta-llama/Llama-3.1-70B-Instruct \
  --port 30000 \
  --context-length 65536 \
  --tp 2 \
  --tool-call-parser qwen

Затем настройте Hermes:

hermes model
# Выберите «Custom endpoint (self-hosted / VLLM / etc.)»
# Введите URL: http://localhost:30000/v1
# Введите имя модели: meta-llama/Llama-3.1-70B-Instruct

Длина контекста: SGLang по умолчанию читает из конфига модели. Переопределяйте через --context-length. Если нужно превысить заявленный максимум модели, задайте SGLANG_ALLOW_OVERWRITE_LONGER_CONTEXT_LEN=1.

Вызов инструментов: используйте --tool-call-parser с подходящим для вашего семейства парсером: qwen (Qwen 2.5), llama3, llama4, deepseekv3, mistral, glm. Без этого флага вызовы инструментов возвращаются обычным текстом.

осторожно
SGLang по умолчанию ограничивает вывод 128 токенами

Если ответы кажутся обрезанными, добавляйте max_tokens в запросы или задайте --default-max-tokens на сервере. По умолчанию SGLang выдаёт лишь 128 токенов на ответ, если не указано в запросе.


llama.cpp / llama-server — инференс на CPU и Metal

llama.cpp запускает квантованные модели на CPU, Apple Silicon (Metal) и потребительских GPU. Лучше всего для: запуска моделей без датацентрового GPU, пользователей Mac, развёртывания на периферии.

# Собрать и запустить llama-server
cmake -B build && cmake --build build --config Release
./build/bin/llama-server \
  --jinja -fa \
  -c 64000 \
  -ngl 99 \
  -m models/qwen2.5-coder-32b-instruct-Q4_K_M.gguf \
  --port 8080 --host 0.0.0.0

Длина контекста (-c): свежие сборки по умолчанию ставят 0, что читает обучающий контекст модели из метаданных GGUF. Для моделей с обучающим контекстом 128k+ это может вызвать OOM при попытке выделить полный KV-кэш. Задавайте -c явно — не меньше 64 000 токенов для Hermes. При использовании параллельных слотов (-np) общий контекст делится между слотами — с -c 64000 -np 4 каждый слот получает лишь 16k, что ниже минимума Hermes на активную сессию.

Затем настройте Hermes, чтобы он указывал на сервер:

hermes model
# Выберите «Custom endpoint (self-hosted / VLLM / etc.)»
# Введите URL: http://localhost:8080/v1
# Пропустите API-ключ (локальным серверам он не нужен)
# Введите имя модели — или оставьте пустым для автоопределения, если загружена одна модель

Это сохраняет эндпоинт в config.yaml, чтобы он жил между сессиями.

осторожно

--jinja обязателен для вызова инструментов Без --jinja llama-server полностью игнорирует параметр tools. Модель будет пытаться вызывать инструменты, записывая JSON в текст ответа, но Hermes не распознает это как вызов — вы увидите сырой JSON вроде {"name": "web_search", ...}, выведенный как сообщение, вместо реального поиска.

Нативная поддержка вызова инструментов (лучшая производительность): Llama 3.x, Qwen 2.5 (включая Coder), Hermes 2/3, Mistral, DeepSeek, Functionary. Все остальные модели используют универсальный обработчик, который работает, но может быть менее эффективным. Полный список — в документации по function calling в llama.cpp.

Убедиться, что поддержка инструментов активна, можно по http://localhost:8080/props — поле chat_template должно присутствовать.

совет

Скачивайте GGUF-модели с Hugging Face. Квантование Q4_K_M даёт лучший баланс качества и потребления памяти.


LM Studio — десктопное приложение с локальными моделями

LM Studio — десктопное приложение для запуска локальных моделей с GUI. Лучше всего для: тех, кто предпочитает визуальный интерфейс, быстрого тестирования моделей, разработчиков на macOS/Windows/Linux.

Запустите сервер из приложения LM Studio (вкладка Developer → Start Server) или через CLI:

lms server start                        # Запускается на порту 1234
lms load qwen2.5-coder --context-length 64000

Затем настройте Hermes:

hermes model
# Выберите «LM Studio»
# Нажмите Enter, чтобы использовать http://localhost:1234/v1
# Выберите одну из обнаруженных моделей
# Если включена авторизация сервера LM Studio, введите LM_API_KEY по запросу

Hermes автоматически загрузит модель LM Studio с длиной контекста 64K.

Чтобы сменить длину контекста в LM Studio:

  1. Нажмите на шестерёнку рядом с выбором модели
  2. Установите «Context Length» не меньше 64000 для комфортной работы
  3. Перезагрузите модель, чтобы изменение вступило в силу
  4. Если ваша машина не вмещает 64000, рассмотрите более компактную модель с бо́льшим контекстом.

Как вариант, через CLI: lms load model-name --context-length 64000

Через CLI можно оценить, поместится ли модель: lms load model-name --context-length 64000 --estimate-only

Чтобы задать постоянные значения по умолчанию для модели: вкладка My Models → шестерёнка на модели → задать размер контекста. :::

Вызов инструментов: поддерживается с LM Studio 0.3.6. Модели с нативным обучением вызову инструментов (Qwen 2.5, Llama 3.x, Mistral, Hermes) определяются автоматически и помечаются значком инструмента. Прочие модели используют универсальный фолбэк, который может быть менее надёжным.


Сеть WSL2 (для пользователей Windows)

Поскольку Hermes Agent требует Unix-окружения, пользователи Windows запускают его внутри WSL2. Если ваш сервер моделей (Ollama, LM Studio и т. д.) работает на хосте Windows, сетевой разрыв придётся преодолеть вручную: WSL2 использует виртуальный сетевой адаптер с собственной подсетью, так что localhost внутри WSL2 указывает на Linux-ВМ, а не на хост Windows.

совет
Оба в WSL2? Без проблем.

Если сервер моделей тоже работает внутри WSL2 (типично для vLLM, SGLang и llama-server), localhost работает как ожидается — они в одном сетевом пространстве имён. Пропустите этот раздел.

Способ 1: режим зеркальной сети (рекомендуется)

Доступен на Windows 11 22H2+, зеркальный режим делает localhost рабочим в обе стороны между Windows и WSL2 — самое простое решение.

  1. Создайте или отредактируйте %USERPROFILE%\.wslconfig (например, C:\Users\YourName\.wslconfig):

    [wsl2]
    networkingMode=mirrored
  2. Перезапустите WSL из PowerShell:

    wsl --shutdown
  3. Снова откройте терминал WSL2. Теперь localhost достаёт до сервисов Windows:

    curl http://localhost:11434/v1/models   # Ollama на Windows — работает
заметка
Файрвол Hyper-V

На некоторых сборках Windows 11 файрвол Hyper-V по умолчанию блокирует зеркальные подключения. Если после включения зеркального режима localhost всё ещё не работает, выполните в PowerShell от администратора:

Set-NetFirewallHyperVVMSetting -Name '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' -DefaultInboundAction Allow

Способ 2: использовать IP хоста Windows (Windows 10 / старые сборки)

Если зеркальный режим недоступен, узнайте IP хоста Windows изнутри WSL2 и используйте его вместо localhost:

# Получить IP хоста Windows (шлюз по умолчанию виртуальной сети WSL2)
ip route show | grep -i default | awk '{ print $3 }'
# Пример вывода: 172.29.192.1

Используйте этот IP в конфиге Hermes:

model:
  default: qwen2.5-coder:32b
  provider: custom
  base_url: http://172.29.192.1:11434/v1   # IP хоста Windows, не localhost
совет
Динамический помощник

IP хоста может меняться при перезапуске WSL2. Получайте его динамически в оболочке:

export WSL_HOST=$(ip route show | grep -i default | awk '{ print $3 }')
echo "Хост Windows по адресу: $WSL_HOST"
curl http://$WSL_HOST:11434/v1/models   # Проверить Ollama

Или используйте mDNS-имя машины (требует libnss-mdns в WSL2):

sudo apt install libnss-mdns
curl http://$(hostname).local:11434/v1/models

Адрес привязки сервера (нужен для режима NAT)

Если вы используете Способ 2 (режим NAT с IP хоста), сервер моделей на Windows должен принимать подключения извне 127.0.0.1. По умолчанию большинство серверов слушают только localhost — подключения WSL2 в режиме NAT приходят из другой виртуальной подсети и будут отклонены. В зеркальном режиме localhost мапится напрямую, так что привязка по умолчанию 127.0.0.1 работает нормально.

СерверПривязка по умолчаниюКак исправить
Ollama127.0.0.1Задайте переменную окружения OLLAMA_HOST=0.0.0.0 перед запуском Ollama (System Settings → Environment Variables на Windows или отредактируйте сервис Ollama)
LM Studio127.0.0.1Включите «Serve on Network» во вкладке Developer → настройки сервера
llama-server127.0.0.1Добавьте --host 0.0.0.0 в команду запуска
vLLM0.0.0.0Уже привязывается ко всем интерфейсам по умолчанию
SGLang127.0.0.1Добавьте --host 0.0.0.0 в команду запуска

Ollama на Windows (подробно): Ollama работает как сервис Windows. Чтобы задать OLLAMA_HOST:

  1. Откройте System PropertiesEnvironment Variables
  2. Добавьте новую системную переменную: OLLAMA_HOST = 0.0.0.0
  3. Перезапустите сервис Ollama (или перезагрузитесь)

Файрвол Windows

Файрвол Windows воспринимает WSL2 как отдельную сеть (и в режиме NAT, и в зеркальном). Если после шагов выше подключения всё ещё не проходят, добавьте правило файрвола для порта сервера моделей:

# Запуск в PowerShell от администратора — замените PORT на порт вашего сервера
New-NetFirewallRule -DisplayName "Allow WSL2 to Model Server" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 11434

Типичные порты: Ollama 11434, vLLM 8000, SGLang 30000, llama-server 8080, LM Studio 1234.

Быстрая проверка

Изнутри WSL2 проверьте, что достаёте до сервера моделей:

# Замените URL на адрес и порт вашего сервера
curl http://localhost:11434/v1/models          # Зеркальный режим
curl http://172.29.192.1:11434/v1/models       # Режим NAT (используйте реальный IP хоста)

Если получили JSON-ответ со списком моделей — всё хорошо. Используйте тот же URL как base_url в конфиге Hermes.


Решение проблем с локальными моделями

Эти проблемы затрагивают все локальные серверы инференса при работе с Hermes.

«Connection refused» из WSL2 к серверу моделей на хосте Windows

Если вы запускаете Hermes внутри WSL2, а сервер моделей — на хосте Windows, http://localhost:<port> не сработает в режиме NAT-сети WSL2 по умолчанию. Исправление — в разделе Сеть WSL2 выше.

Вызовы инструментов появляются как текст вместо выполнения

Модель выводит что-то вроде {"name": "web_search", "arguments": {...}} как сообщение вместо реального вызова инструмента.

Причина: на вашем сервере не включён вызов инструментов, либо модель не поддерживает его через реализацию вызова инструментов на сервере.

СерверИсправление
llama.cppДобавьте --jinja в команду запуска
vLLMДобавьте --enable-auto-tool-choice --tool-call-parser hermes
SGLangДобавьте --tool-call-parser qwen (или подходящий парсер)
OllamaВызов инструментов включён по умолчанию — убедитесь, что модель его поддерживает (проверьте ollama show model-name)
LM StudioОбновитесь до 0.3.6+ и используйте модель с нативной поддержкой инструментов

Модель словно забывает контекст или отвечает несвязно

Причина: окно контекста слишком мало. Когда разговор превышает лимит контекста, большинство серверов молча отбрасывают старые сообщения. Один только системный промпт Hermes + схемы инструментов могут занимать 4k–8k токенов.

Диагностика:

# Проверьте, каким Hermes считает контекст
# Смотрите строку при запуске: "Context limit: X tokens"

# Проверьте реальный контекст вашего сервера
# Ollama: ollama ps (столбец CONTEXT)
# llama.cpp: curl http://localhost:8080/props | jq '.default_generation_settings.n_ctx'
# vLLM: проверьте --max-model-len в аргументах запуска

Исправление: задайте контекст не меньше 64 000 токенов для агентной работы. Конкретный флаг — в разделе соответствующего сервера выше.

«Context limit: 2048 tokens» при запуске

Hermes автоопределяет длину контекста по эндпоинту /v1/models вашего сервера. Если сервер сообщает низкое значение (или не сообщает вовсе), Hermes использует заявленный лимит модели, который может быть неверным.

Исправление: задайте явно в config.yaml:

model:
  default: your-model
  provider: custom
  base_url: http://localhost:11434/v1
  context_length: 64000

Ответы обрываются на полуслове

Возможные причины:

  1. Низкий лимит вывода (max_tokens) на сервере — SGLang по умолчанию ставит 128 токенов на ответ. Задайте --default-max-tokens на сервере или настройте Hermes через model.max_tokens в config.yaml. Учтите: max_tokens управляет только длиной ответа — он не связан с тем, насколько длинной может быть история разговора (это context_length).
  2. Исчерпание контекста — модель заполнила окно контекста. Увеличьте model.context_length или включите сжатие контекста в Hermes.

LiteLLM Proxy — мультипровайдерный шлюз

LiteLLM — OpenAI-совместимый прокси, объединяющий 100+ провайдеров LLM за единым API. Лучше всего для: переключения между провайдерами без правки конфига, балансировки нагрузки, цепочек фолбэка, контроля бюджета.

# Установить и запустить
pip install "litellm[proxy]"
litellm --model anthropic/claude-sonnet-4 --port 4000

# Или с файлом конфигурации для нескольких моделей:
litellm --config litellm_config.yaml --port 4000

Затем настройте Hermes через hermes model → Custom endpoint → http://localhost:4000/v1.

Пример litellm_config.yaml с фолбэком:

model_list:
  - model_name: "best"
    litellm_params:
      model: anthropic/claude-sonnet-4
      api_key: sk-ant-...
  - model_name: "best"
    litellm_params:
      model: openai/gpt-4o
      api_key: sk-...
router_settings:
  routing_strategy: "latency-based-routing"

ClawRouter — маршрутизация с оптимизацией стоимости

ClawRouter от BlockRunAI — локальный прокси-роутер, который сам выбирает модели по сложности запроса. Он классифицирует запросы по 14 измерениям и направляет к самой дешёвой модели, способной справиться с задачей. Оплата — криптовалютой USDC (без API-ключей).

# Установить и запустить
npx @blockrun/clawrouter    # Запускается на порту 8402

Затем настройте Hermes через hermes model → Custom endpoint → http://localhost:8402/v1 → имя модели blockrun/auto.

Профили маршрутизации:

ПрофильСтратегияЭкономия
blockrun/autoБаланс качества/цены74–100%
blockrun/ecoМаксимально дёшево95–100%
blockrun/premiumЛучшие по качеству модели0%
blockrun/freeТолько бесплатные модели100%
blockrun/agenticОптимизировано под вызов инструментовпо-разному
заметка

ClawRouter требует кошелёк с USDC на Base или Solana для оплаты. Все запросы идут через бэкенд-API BlockRun. Проверить статус кошелька — npx @blockrun/clawrouter doctor.


Другие совместимые провайдеры

Подходит любой сервис с OpenAI-совместимым API. Несколько популярных вариантов:

ПровайдерBase URLЗаметки
Together AIhttps://api.together.xyz/v1Открытые модели в облаке
Groqhttps://api.groq.com/openai/v1Ультрабыстрый инференс
DeepSeekhttps://api.deepseek.com/v1Модели DeepSeek
Fireworks AIhttps://api.fireworks.ai/inference/v1Быстрый хостинг открытых моделей
GMI Cloudhttps://api.gmi-serving.com/v1Управляемый OpenAI-совместимый инференс
Cerebrashttps://api.cerebras.ai/v1Инференс на чипе масштаба пластины
Mistral AIhttps://api.mistral.ai/v1Модели Mistral
OpenAIhttps://api.openai.com/v1Прямой доступ к OpenAI
Azure OpenAIhttps://YOUR.openai.azure.com/Корпоративный OpenAI
LocalAIhttp://localhost:8080/v1Self-hosted, мультимодельный
Janhttp://localhost:1337/v1Десктопное приложение с локальными моделями

Любой из них настраивается через hermes model → Custom endpoint или в config.yaml:

model:
  default: meta-llama/Llama-3.1-70B-Instruct-Turbo
  provider: custom
  base_url: https://api.together.xyz/v1
  api_key: your-together-key

Определение длины контекста

заметка
Две настройки, которые легко перепутать

context_length — это полное окно контекста, совокупный бюджет на токены входа и выхода (например, 200 000 для Claude Opus 4.6). По нему Hermes решает, когда сжимать историю, и проверяет запросы к API.

model.max_tokens — это лимит вывода, максимум токенов, которые модель может сгенерировать в одном ответе. К длине истории разговора он отношения не имеет. Отраслевое название max_tokens — частый источник путаницы; нативный API Anthropic с тех пор переименовал его в max_output_tokens для ясности.

Задавайте context_length, когда автоопределение ошибается с размером окна. Задавайте model.max_tokens только когда нужно ограничить длину отдельных ответов.

Чтобы определить правильное окно контекста для вашей модели и провайдера, Hermes идёт по цепочке из нескольких источников:

  1. Переопределение в конфигеmodel.context_length в config.yaml (высший приоритет)
  2. По модели у своего провайдераcustom_providers[].models.<id>.context_length
  3. Постоянный кэш — ранее обнаруженные значения (переживают перезапуски)
  4. Эндпоинт /models — запрос к API вашего сервера (локальные/свои эндпоинты)
  5. Anthropic /v1/models — запрос к API Anthropic за max_input_tokens (только для пользователей с API-ключом)
  6. API OpenRouter — живые метаданные модели от OpenRouter
  7. Nous Portal — сопоставление ID моделей Nous с метаданными OpenRouter по суффиксу
  8. models.dev — поддерживаемый сообществом реестр с длинами контекста по провайдерам для 3800+ моделей у 100+ провайдеров
  9. Значения по умолчанию (фолбэк) — широкие паттерны семейств моделей (по умолчанию 128K)

Для большинства конфигураций это работает из коробки. Система учитывает провайдера — у одной и той же модели могут быть разные лимиты контекста в зависимости от того, кто её обслуживает (например, claude-opus-4.6 — 1M напрямую у Anthropic, но 128K у GitHub Copilot).

Чтобы задать длину контекста явно, добавьте context_length в конфиг модели:

model:
  default: "qwen3.5:9b"
  base_url: "http://localhost:8080/v1"
  context_length: 131072  # токенов

Для своих эндпоинтов длину контекста можно задавать и по модели:

custom_providers:
  - name: "My Local LLM"
    base_url: "http://localhost:11434/v1"
    models:
      qwen3.5:27b:
        context_length: 64000
      deepseek-r1:70b:
        context_length: 65536

hermes model спросит длину контекста при настройке своего эндпоинта. Оставьте пустым для автоопределения.

совет
Когда задавать вручную
  • Вы используете Ollama с собственным num_ctx, который ниже максимума модели
  • Хотите ограничить контекст ниже максимума модели (например, 8k на 128k-модели ради экономии VRAM)
  • Работаете за прокси, который не выставляет /v1/models

Именованные свои провайдеры

Если вы работаете с несколькими своими эндпоинтами (например, локальный dev-сервер и удалённый GPU-сервер), определите их как именованные свои провайдеры в config.yaml:

custom_providers:
  - name: local
    base_url: http://localhost:8080/v1
    # api_key опущен — Hermes использует "no-key-required" для локальных серверов без ключа
  - name: work
    base_url: https://gpu-server.internal.corp/v1
    key_env: CORP_API_KEY
    api_mode: chat_completions   # задаётся явно мастером `hermes model` → Custom Endpoint; автоопределение остаётся фолбэком
  - name: anthropic-proxy
    base_url: https://proxy.example.com/anthropic
    key_env: ANTHROPIC_PROXY_KEY
    api_mode: anthropic_messages  # для Anthropic-совместимых прокси

Некоторым OpenAI-совместимым эндпоинтам нужны специфичные для провайдера поля в теле запроса. Добавьте карту extra_body к нужному своему провайдеру, и Hermes подмешает её в каждый запрос chat-completions к этому эндпоинту:

custom_providers:
  - name: gemma-local
    base_url: http://localhost:8080/v1
    model: google/gemma-4-31b-it
    extra_body:
      enable_thinking: true
      reasoning_effort: high

Используйте форму, которую документирует ваш сервер. Например, развёртывания Gemma на vLLM и некоторые эндпоинты NVIDIA NIM ожидают enable_thinking внутри chat_template_kwargs, а не как поле верхнего уровня extra_body:

extra_body:
  chat_template_kwargs:
    enable_thinking: true

Мастер hermes model → Custom Endpoint теперь явно спрашивает api_mode и сохраняет ваш ответ в config.yaml. Автоопределение по URL (например, пути /anthropicanthropic_messages) остаётся фолбэком, когда поле оставлено пустым.

Нативное зрение для моделей своего провайдера. Если ваш эндпоинт обслуживает модель со зрением, которой нет в models.dev, задайте model.supports_vision: true, чтобы Hermes направлял прикреплённые изображения нативно (как части image_url), а не прогонял их через vision_analyze. Один тумблер — задавать ещё и agent.image_input_mode: native не нужно.

model:
  provider: custom
  base_url: http://localhost:8080/v1
  default: qwen3.6-35b-a3b
  supports_vision: true   # отправлять изображения нативно; иначе vision_analyze опишет их заранее

Тот же ключ учитывается на моделях именованных провайдеров (custom_providers[*].models[*].supports_vision) и принимает стандартные булевы значения YAML (true/false/yes/no/on/off/1/0).

Переключайтесь между ними прямо в сессии тройным синтаксисом:

/model custom:local:qwen-2.5       # Использовать эндпоинт «local» с qwen-2.5
/model custom:work:llama3-70b      # Использовать эндпоинт «work» с llama3-70b
/model custom:anthropic-proxy:claude-sonnet-4  # Использовать прокси

Именованных своих провайдеров также можно выбрать в интерактивном меню hermes model.


Сборник рецептов: Together AI, Groq, Perplexity

Облачные провайдеры из раздела Другие совместимые провайдеры говорят на REST-диалекте OpenAI, так что подключаются одинаково через custom_providers:. Ниже три рабочих рецепта. Каждый кладётся в ~/.hermes/config.yaml, а соответствующий API-ключ — в ~/.hermes/.env.

Together AI

Хостит модели с открытыми весами (Llama, MiniMax, Gemma, DeepSeek, Qwen) по ценам заметно ниже first-party API. Хороший выбор по умолчанию, когда моделей в работе много.

# ~/.hermes/config.yaml
custom_providers:
  - name: together
    base_url: https://api.together.xyz/v1
    key_env: TOGETHER_API_KEY
    # api_mode: chat_completions  # по умолчанию — задавать не нужно

model:
  default: MiniMaxAI/MiniMax-M2.7   # или любая модель с together.ai/models
  provider: custom:together
# ~/.hermes/.env
TOGETHER_API_KEY=your-together-key

Смена моделей в сессии:

/model custom:together:meta-llama/Llama-3.3-70B-Instruct-Turbo
/model custom:together:google/gemma-4-31b-it
/model custom:together:deepseek-ai/DeepSeek-V3

Эндпоинт /v1/models у Together работает, так что hermes model может автоматически обнаружить доступные модели.

Groq

Ультрабыстрый инференс (~500 ток/с на Llama-3.3-70B). Небольшой каталог, но силён для интерактива, чувствительного к задержке.

# ~/.hermes/config.yaml
custom_providers:
  - name: groq
    base_url: https://api.groq.com/openai/v1
    key_env: GROQ_API_KEY

model:
  default: llama-3.3-70b-versatile
  provider: custom:groq
# ~/.hermes/.env
GROQ_API_KEY=your-groq-key

Perplexity

Полезен, когда нужна модель, автоматически делающая живой веб-поиск и цитирование. Строг к тому, какие модели доступны — актуальный список смотрите на perplexity.ai/settings/api.

# ~/.hermes/config.yaml
custom_providers:
  - name: perplexity
    base_url: https://api.perplexity.ai
    key_env: PERPLEXITY_API_KEY

model:
  default: sonar
  provider: custom:perplexity
# ~/.hermes/.env
PERPLEXITY_API_KEY=your-perplexity-key

Несколько провайдеров в одном конфиге

Три рецепта совмещаются — используйте их все вместе и переключайтесь по ходу через /model custom:<name>:<model>:

custom_providers:
  - name: together
    base_url: https://api.together.xyz/v1
    key_env: TOGETHER_API_KEY
  - name: groq
    base_url: https://api.groq.com/openai/v1
    key_env: GROQ_API_KEY
  - name: perplexity
    base_url: https://api.perplexity.ai
    key_env: PERPLEXITY_API_KEY

model:
  default: MiniMaxAI/MiniMax-M2.7
  provider: custom:together      # стартуем с Together; дальше переключаемся свободно
совет
Решение проблем
  • hermes doctor не должен печатать предупреждения Unknown provider ни для одного из этих имён после исправлений валидатора CLI в #15083.
  • Если эндпоинт /v1/models провайдера недоступен (типичный случай — Perplexity), hermes model сохранит модель с предупреждением, а не жёстко отклонит — см. #15136.
  • Чтобы вовсе обойтись без custom_providers: и использовать голый provider: custom с переменной окружения CUSTOM_BASE_URL, см. #15103.

Выбор подходящей конфигурации

СценарийРекомендуется
Просто чтобы работалоOpenRouter (по умолчанию) или Nous Portal
Локальные модели, простая настройкаOllama
Продакшен-обслуживание на GPUvLLM или SGLang
Mac / без GPUOllama или llama.cpp
Маршрутизация между провайдерамиLiteLLM Proxy или OpenRouter
Оптимизация стоимостиClawRouter или OpenRouter с sort: "price"
Максимум приватностиOllama, vLLM или llama.cpp (полностью локально)
Корпоратив / AzureAzure OpenAI со своим эндпоинтом
Китайские модели ИИz.ai (GLM), Kimi/Moonshot (kimi-coding или kimi-coding-cn), MiniMax, Xiaomi MiMo или Tencent TokenHub (провайдеры первого класса)
совет

Переключаться между провайдерами можно в любой момент через hermes model — без перезапуска. История разговора, память и навыки сохраняются независимо от того, каким провайдером вы пользуетесь.

Опциональные API-ключи

ВозможностьПровайдерПеременная окружения
Веб-скрапингFirecrawlFIRECRAWL_API_KEY, FIRECRAWL_API_URL
Автоматизация браузераBrowserbaseBROWSERBASE_API_KEY, BROWSERBASE_PROJECT_ID
Генерация изображенийFALFAL_KEY
Премиум-голоса TTSElevenLabsELEVENLABS_API_KEY
OpenAI TTS + транскрипция голосаOpenAIVOICE_TOOLS_OPENAI_KEY
Mistral TTS + транскрипция голосаMistralMISTRAL_API_KEY
Межсессионное моделирование пользователяHonchoHONCHO_API_KEY
Семантическая долговременная памятьSupermemorySUPERMEMORY_API_KEY

Self-hosting Firecrawl

По умолчанию Hermes использует облачный API Firecrawl для веб-поиска и скрапинга. Если предпочитаете запускать Firecrawl локально, можно направить Hermes на self-hosted-инстанс. Полную инструкцию по настройке см. в SELF_HOST.md Firecrawl.

Что вы получаете: API-ключ не нужен, нет лимитов, нет оплаты за страницу, полный суверенитет над данными.

Что теряете: облачная версия использует проприетарный «Fire-engine» Firecrawl для продвинутого обхода антибота (Cloudflare, CAPTCHA, ротация IP). Self-hosted использует базовый fetch + Playwright, так что часть защищённых сайтов может не открыться. Поиск использует DuckDuckGo вместо Google.

Настройка:

  1. Клонируйте и запустите Docker-стек Firecrawl (5 контейнеров: API, Playwright, Redis, RabbitMQ, PostgreSQL — нужно ~4–8 ГБ ОЗУ):

    git clone https://github.com/firecrawl/firecrawl
    cd firecrawl
    # В .env задайте: USE_DB_AUTHENTICATION=false, HOST=0.0.0.0, PORT=3002
    docker compose up -d
  2. Направьте Hermes на свой инстанс (API-ключ не нужен):

    hermes config set FIRECRAWL_API_URL http://localhost:3002

Можно задать и FIRECRAWL_API_KEY, и FIRECRAWL_API_URL, если на вашем self-hosted-инстансе включена авторизация.

Маршрутизация провайдеров OpenRouter

С OpenRouter вы сами управляете тем, как запросы распределяются между провайдерами. Добавьте секцию provider_routing в ~/.hermes/config.yaml:

provider_routing:
  sort: "throughput"          # "price" (по умолчанию), "throughput" или "latency"
  # only: ["anthropic"]      # Использовать только этих провайдеров
  # ignore: ["deepinfra"]    # Пропускать этих провайдеров
  # order: ["anthropic", "google"]  # Пробовать провайдеров в этом порядке
  # require_parameters: true  # Только провайдеры, поддерживающие все параметры запроса
  # data_collection: "deny"   # Исключить провайдеров, которые могут хранить/обучаться на данных

Сокращения: добавьте :nitro к любому имени модели для сортировки по пропускной способности (например, anthropic/claude-sonnet-4:nitro) или :floor для сортировки по цене.

OpenRouter Pareto Code Router

OpenRouter поставляет экспериментальный роутер кодинг-моделей на openrouter/pareto-code, который автоматически направляет запросы к самой дешёвой модели, проходящей планку качества для кода (ранжирование по Artificial Analysis). Выберите эту модель и настройте параметр min_coding_score в ~/.hermes/config.yaml:

model:
  provider: openrouter
  model: openrouter/pareto-code

openrouter:
  min_coding_score: 0.65   # 0.0–1.0; выше = сильнее (и дороже) кодеры. По умолчанию 0.65.

Заметки:

  • min_coding_score отправляется только когда model.model равно openrouter/pareto-code. На любой другой модели значение ни на что не влияет.
  • Установите пустую строку (или удалите строку), чтобы OpenRouter сам выбрал сильнейшего доступного кодера — его задокументированное поведение, когда блок плагинов опущен.
  • Выбор детерминирован по баллу в конкретный день, но фактически выбранная модель может смещаться по мере движения фронтира Парето (новые модели, обновления бенчмарков).
  • Полное поведение роутера — в документации Pareto Router от OpenRouter.
  • Чтобы использовать Pareto Code router для конкретной вспомогательной задачи (сжатие, зрение и т. д.) вместо основного агента, задайте extra_body.plugins под этой задачей — см. Вспомогательные модели → Маршрутизация OpenRouter и Pareto Code для вспомогательных задач.

Резервные провайдеры

Настройте цепочку запасных провайдеров, которые Hermes пробует по порядку, когда основная модель отказывает (лимиты, ошибки сервера, сбои авторизации). Каноничный формат — список верхнего уровня fallback_providers::

fallback_providers:
  - provider: openrouter
    model: anthropic/claude-sonnet-4
  - provider: anthropic
    model: claude-sonnet-4
    # base_url: http://localhost:8000/v1    # опционально, для своих эндпоинтов
    # api_mode: chat_completions           # опциональное переопределение

Устаревший словарь с одной парой fallback_model: всё ещё принимается ради обратной совместимости:

fallback_model:
  provider: openrouter
  model: anthropic/claude-sonnet-4

При активации фолбэк меняет модель и провайдера прямо в сессии, не теряя разговор. Цепочка пробуется запись за записью; активация — разовая на сессию.

Поддерживаемые провайдеры: openrouter, nous, novita, openai-codex, copilot, copilot-acp, anthropic, gemini, google-gemini-cli, qwen-oauth, huggingface, zai, kimi-coding, kimi-coding-cn, minimax, minimax-cn, minimax-oauth, deepseek, nvidia, xai, xai-oauth, ollama-cloud, bedrock, azure-foundry, opencode-zen, opencode-go, kilocode, xiaomi, arcee, gmi, stepfun, lmstudio, alibaba, alibaba-coding-plan, tencent-tokenhub, custom.

совет

Фолбэк настраивается исключительно через config.yaml — или интерактивно через hermes fallback. Полные детали о том, когда он срабатывает, как продвигается цепочка и как взаимодействует со вспомогательными задачами и делегированием, — в Резервных провайдерах.


Смотрите также

  • Конфигурация — общая настройка (структура каталогов, приоритет конфигов, терминальные бэкенды, память, сжатие и не только)
  • Переменные окружения — полный справочник всех переменных окружения
ESC