Провайдеры ИИ
Здесь разбираем настройку провайдеров инференса для Hermes Agent: от облачных API вроде OpenRouter и Anthropic до self-hosted-эндпоинтов (Ollama, vLLM), а также продвинутые схемы маршрутизации и резервирования. Чтобы пользоваться Hermes, нужен хотя бы один настроенный провайдер.
Провайдеры инференса
Нужен хотя бы один способ подключиться к LLM. Используйте hermes model, чтобы переключать провайдеров и модели интерактивно, либо настройте напрямую:
| Провайдер | Настройка |
|---|---|
| Nous Portal | hermes model (OAuth, по подписке) |
| OpenAI Codex | hermes model (OAuth от ChatGPT, использует модели Codex) |
| GitHub Copilot | hermes model (OAuth по device code, COPILOT_GITHUB_TOKEN, GH_TOKEN или gh auth token) |
| GitHub Copilot ACP | hermes model (запускает локальный copilot --acp --stdio) |
| Anthropic | hermes model (Claude Max + дополнительные кредиты через OAuth; также поддерживает API-ключ Anthropic или ручной setup-token — см. заметку ниже) |
| OpenRouter | OPENROUTER_API_KEY в ~/.hermes/.env |
| NovitaAI | NOVITA_API_KEY в ~/.hermes/.env (провайдер: novita, 200+ моделей, Model API, Agent Sandbox, GPU Cloud) |
| z.ai / GLM | GLM_API_KEY в ~/.hermes/.env (провайдер: zai) |
| Kimi / Moonshot | KIMI_API_KEY в ~/.hermes/.env (провайдер: kimi-coding) |
| Kimi / Moonshot (Китай) | KIMI_CN_API_KEY в ~/.hermes/.env (провайдер: kimi-coding-cn; алиасы: kimi-cn, moonshot-cn) |
| Arcee AI | ARCEEAI_API_KEY в ~/.hermes/.env (провайдер: arcee; алиасы: arcee-ai, arceeai) |
| GMI Cloud | GMI_API_KEY в ~/.hermes/.env (провайдер: gmi; алиасы: gmi-cloud, gmicloud) |
| MiniMax | MINIMAX_API_KEY в ~/.hermes/.env (провайдер: minimax) |
| MiniMax China | MINIMAX_CN_API_KEY в ~/.hermes/.env (провайдер: minimax-cn) |
| xAI (Grok) — Responses API | XAI_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 Code | KILOCODE_API_KEY в ~/.hermes/.env (провайдер: kilocode) |
| Xiaomi MiMo | XIAOMI_API_KEY в ~/.hermes/.env (провайдер: xiaomi, алиасы: mimo, xiaomi-mimo) |
| Tencent TokenHub | TOKENHUB_API_KEY в ~/.hermes/.env (провайдер: tencent-tokenhub, алиасы: tencent, tokenhub, tencentmaas) |
| OpenCode Zen | OPENCODE_ZEN_API_KEY в ~/.hermes/.env (провайдер: opencode-zen) |
| OpenCode Go | OPENCODE_GO_API_KEY в ~/.hermes/.env (провайдер: opencode-go) |
| DeepSeek | DEEPSEEK_API_KEY в ~/.hermes/.env (провайдер: deepseek) |
| Hugging Face | HF_TOKEN в ~/.hermes/.env (провайдер: huggingface, алиасы: hf) |
| Google / Gemini | GOOGLE_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 Foundry | hermes model → «Azure AI Foundry» (провайдер: azure-foundry; использует эндпоинт и ключ Azure OpenAI / Foundry) |
| AWS Bedrock | hermes model → «AWS Bedrock» (провайдер: bedrock; стандартная цепочка учётных данных AWS через boto3) |
| NVIDIA Build | NVIDIA_API_KEY в ~/.hermes/.env (провайдер: nvidia; модели на NIM-хостинге build.nvidia.com) |
| Ollama Cloud | hermes model → «Ollama Cloud» (провайдер: ollama-cloud; облачный API Ollama) |
| Qwen OAuth | hermes model → «Qwen OAuth» (провайдер: qwen-oauth; вход через браузер по PKCE) |
| MiniMax OAuth | hermes model → «MiniMax (OAuth)» (провайдер: minimax-oauth; вход через браузер по PKCE) |
| StepFun | STEPFUN_API_KEY в ~/.hermes/.env (провайдер: stepfun) |
| LM Studio | hermes 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-токены помещаются в карантин, чтобы избежать петель переотправки.
Провайдер 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 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. Поддерживает три метода авторизации:
Когда вы авторизуетесь через 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
Варианты авторизации (проверяются в этом порядке):
- Переменная окружения
COPILOT_GITHUB_TOKEN - Переменная окружения
GH_TOKEN - Переменная окружения
GITHUB_TOKEN - Фолбэк через 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 PAT | github_pat_ | GitHub Settings → Developer settings → Fine-grained tokens (нужно разрешение Copilot Requests) |
| Токен GitHub App | ghu_ | Через установку GitHub App |
Если ваш gh auth token возвращает токен ghp_*, авторизуйтесь через OAuth с помощью hermes model.
Hermes отправляет поддерживаемый токен GitHub (gho_*, github_pat_* или ghu_*) напрямую на api.githubcopilot.com и включает специфичные для Copilot заголовки (Editor-Version, Copilot-Integration-Id, Openai-Intent, x-initiator).
При HTTP 401 Hermes теперь выполняет однократное восстановление учётных данных перед фолбэком:
- Заново разрешает токен по обычной цепочке приоритетов (
COPILOT_GITHUB_TOKEN→GH_TOKEN→GITHUB_TOKEN→gh auth token) - Пересобирает общий клиент OpenAI с обновлёнными заголовками
- Один раз повторяет запрос
Некоторые старые прокси сообщества используют потоки обмена 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 / 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) сохраняется при нормализации — не используйте дефисы.
Оба говорят на одном 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 использует потребительский 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 использует потребительский портал 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"
Для 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-SC | Hermes обнаруживает 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 (запуск из терминала, вне чат-сессии) — это полный мастер настройки провайдеров. Используйте его, чтобы добавлять новых провайдеров, проводить потоки 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 по умолчанию не использует полное окно контекста вашей модели. В зависимости от 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. Без этого флага вызовы инструментов возвращаются обычным текстом.
Если ответы кажутся обрезанными, добавляйте 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:
- Нажмите на шестерёнку рядом с выбором модели
- Установите «Context Length» не меньше 64000 для комфортной работы
- Перезагрузите модель, чтобы изменение вступило в силу
- Если ваша машина не вмещает 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 (типично для vLLM, SGLang и llama-server), localhost работает как ожидается — они в одном сетевом пространстве имён. Пропустите этот раздел.
Способ 1: режим зеркальной сети (рекомендуется)
Доступен на Windows 11 22H2+, зеркальный режим делает localhost рабочим в обе стороны между Windows и WSL2 — самое простое решение.
-
Создайте или отредактируйте
%USERPROFILE%\.wslconfig(например,C:\Users\YourName\.wslconfig):[wsl2] networkingMode=mirrored -
Перезапустите WSL из PowerShell:
wsl --shutdown -
Снова откройте терминал WSL2. Теперь
localhostдостаёт до сервисов Windows:curl http://localhost:11434/v1/models # Ollama на Windows — работает
На некоторых сборках 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 работает нормально.
| Сервер | Привязка по умолчанию | Как исправить |
|---|---|---|
| Ollama | 127.0.0.1 | Задайте переменную окружения OLLAMA_HOST=0.0.0.0 перед запуском Ollama (System Settings → Environment Variables на Windows или отредактируйте сервис Ollama) |
| LM Studio | 127.0.0.1 | Включите «Serve on Network» во вкладке Developer → настройки сервера |
| llama-server | 127.0.0.1 | Добавьте --host 0.0.0.0 в команду запуска |
| vLLM | 0.0.0.0 | Уже привязывается ко всем интерфейсам по умолчанию |
| SGLang | 127.0.0.1 | Добавьте --host 0.0.0.0 в команду запуска |
Ollama на Windows (подробно): Ollama работает как сервис Windows. Чтобы задать OLLAMA_HOST:
- Откройте System Properties → Environment Variables
- Добавьте новую системную переменную:
OLLAMA_HOST=0.0.0.0 - Перезапустите сервис 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
Ответы обрываются на полуслове
Возможные причины:
- Низкий лимит вывода (
max_tokens) на сервере — SGLang по умолчанию ставит 128 токенов на ответ. Задайте--default-max-tokensна сервере или настройте Hermes черезmodel.max_tokensв config.yaml. Учтите:max_tokensуправляет только длиной ответа — он не связан с тем, насколько длинной может быть история разговора (этоcontext_length). - Исчерпание контекста — модель заполнила окно контекста. Увеличьте
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 AI | https://api.together.xyz/v1 | Открытые модели в облаке |
| Groq | https://api.groq.com/openai/v1 | Ультрабыстрый инференс |
| DeepSeek | https://api.deepseek.com/v1 | Модели DeepSeek |
| Fireworks AI | https://api.fireworks.ai/inference/v1 | Быстрый хостинг открытых моделей |
| GMI Cloud | https://api.gmi-serving.com/v1 | Управляемый OpenAI-совместимый инференс |
| Cerebras | https://api.cerebras.ai/v1 | Инференс на чипе масштаба пластины |
| Mistral AI | https://api.mistral.ai/v1 | Модели Mistral |
| OpenAI | https://api.openai.com/v1 | Прямой доступ к OpenAI |
| Azure OpenAI | https://YOUR.openai.azure.com/ | Корпоративный OpenAI |
| LocalAI | http://localhost:8080/v1 | Self-hosted, мультимодельный |
| Jan | http://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 идёт по цепочке из нескольких источников:
- Переопределение в конфиге —
model.context_lengthв config.yaml (высший приоритет) - По модели у своего провайдера —
custom_providers[].models.<id>.context_length - Постоянный кэш — ранее обнаруженные значения (переживают перезапуски)
- Эндпоинт
/models— запрос к API вашего сервера (локальные/свои эндпоинты) - Anthropic
/v1/models— запрос к API Anthropic заmax_input_tokens(только для пользователей с API-ключом) - API OpenRouter — живые метаданные модели от OpenRouter
- Nous Portal — сопоставление ID моделей Nous с метаданными OpenRouter по суффиксу
- models.dev — поддерживаемый сообществом реестр с длинами контекста по провайдерам для 3800+ моделей у 100+ провайдеров
- Значения по умолчанию (фолбэк) — широкие паттерны семейств моделей (по умолчанию 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 (например, пути /anthropic → anthropic_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 |
| Продакшен-обслуживание на GPU | vLLM или SGLang |
| Mac / без GPU | Ollama или llama.cpp |
| Маршрутизация между провайдерами | LiteLLM Proxy или OpenRouter |
| Оптимизация стоимости | ClawRouter или OpenRouter с sort: "price" |
| Максимум приватности | Ollama, vLLM или llama.cpp (полностью локально) |
| Корпоратив / Azure | Azure OpenAI со своим эндпоинтом |
| Китайские модели ИИ | z.ai (GLM), Kimi/Moonshot (kimi-coding или kimi-coding-cn), MiniMax, Xiaomi MiMo или Tencent TokenHub (провайдеры первого класса) |
Переключаться между провайдерами можно в любой момент через hermes model — без перезапуска. История разговора, память и навыки сохраняются независимо от того, каким провайдером вы пользуетесь.
Опциональные API-ключи
| Возможность | Провайдер | Переменная окружения |
|---|---|---|
| Веб-скрапинг | Firecrawl | FIRECRAWL_API_KEY, FIRECRAWL_API_URL |
| Автоматизация браузера | Browserbase | BROWSERBASE_API_KEY, BROWSERBASE_PROJECT_ID |
| Генерация изображений | FAL | FAL_KEY |
| Премиум-голоса TTS | ElevenLabs | ELEVENLABS_API_KEY |
| OpenAI TTS + транскрипция голоса | OpenAI | VOICE_TOOLS_OPENAI_KEY |
| Mistral TTS + транскрипция голоса | Mistral | MISTRAL_API_KEY |
| Межсессионное моделирование пользователя | Honcho | HONCHO_API_KEY |
| Семантическая долговременная память | Supermemory | SUPERMEMORY_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.
Настройка:
-
Клонируйте и запустите 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 -
Направьте 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. Полные детали о том, когда он срабатывает, как продвигается цепочка и как взаимодействует со вспомогательными задачами и делегированием, — в Резервных провайдерах.
Смотрите также
- Конфигурация — общая настройка (структура каталогов, приоритет конфигов, терминальные бэкенды, память, сжатие и не только)
- Переменные окружения — полный справочник всех переменных окружения