Настройка моделей

Hermes использует два типа слотов для моделей:

Эта страница описывает настройку обеих категорий через панель управления. Если вы предпочитаете конфигурационные файлы или CLI, перейдите к разделу Альтернативные методы внизу страницы.

Страница «Модели»

Откройте панель управления и нажмите Models на боковой панели. Вы увидите два раздела:

  1. Model Settings — верхняя панель, где вы назначаете модели слотам.

  2. Usage analytics — карточки с рейтингом, показывающие все модели, которые участвовали в сессиях за выбранный период, с количеством токенов, стоимостью и значками возможностей.

Обзор страницы Models

Верхняя карточка — это панель Model Settings. Основная строка всегда показывает, какую модель агент будет использовать для новых сессий. Нажмите Change, чтобы открыть выбор.

Установка основной модели

Нажмите Change на строке основной модели:

Диалог выбора модели

Окно выбора содержит две колонки:

Введите текст в поле фильтра, чтобы сузить поиск по имени провайдера, slug или ID модели.

Выберите модель, нажмите Switch, и Hermes запишет её в ~/.hermes/config.yaml в раздел model. Это применяется только к новым сессиям — любая уже открытая вкладка чата продолжает использовать ту модель, с которой была запущена. Для горячей замены модели в текущем чате используйте слэш-команду /model внутри него.

Установка вспомогательных моделей

Нажмите Show auxiliary, чтобы раскрыть восемь слотов задач:

Панель вспомогательных моделей развёрнута

Каждая вспомогательная задача по умолчанию имеет значение auto — то есть Hermes использует для неё вашу основную модель. Переопределите конкретную задачу, когда хотите использовать более дешёвую или быструю модель для фоновой работы.

Типичные сценарии переопределения

Задача Когда переопределять
Title Gen Почти всегда. Flash-модель за $0.10/M пишет названия сессий не хуже Opus. В конфигурации по умолчанию установлено google/gemini-3-flash-preview на OpenRouter.
Vision Когда ваша основная модель — это модель для кодинга без поддержки Vision (например, Kimi, DeepSeek). Укажите google/gemini-2.5-flash или gpt-4o-mini.
Compression Когда вы тратите токены рассуждения на Opus/M2.7 просто для суммаризации контекста. Быстрая чат-модель справится с задачей за 1/50 стоимости.
Session Search Когда поисковые запросы расходятся веером — максимальная параллельность по умолчанию равна 3. Дешёвая модель делает расходы предсказуемыми.
Approval Для approval_mode: smart — быстрая/дешёвая модель (haiku, flash, gpt-5-mini) решает, стоит ли автоматически одобрять низкорисковые команды. Дорогие модели здесь — пустая трата.
Web Extract Если вы активно используете web_extract. Та же логика, что и для Compression — суммаризация не требует рассуждений.
Skills Hub hermes skills search использует этот слот. Обычно подходит auto.
MCP Маршрутизация MCP-инструментов. Обычно подходит auto.

Переопределение для отдельной задачи

Нажмите Change на любой строке вспомогательной задачи. Откроется то же окно выбора с тем же поведением — выберите провайдера + модель, нажмите Switch. Строка обновится и покажет provider · model вместо auto (use main model).

Сброс всех на auto

Если вы перенастроили отдельные задачи и хотите начать заново, нажмите Reset all to auto в верхней части раздела вспомогательных моделей. Каждый слот вернётся к использованию основной модели.

Быстрый выбор «Use as»

У каждой карточки модели на странице есть выпадающее меню Use as. Это быстрый путь — найдите модель в своей аналитике, нажмите Use as и назначьте её в основной слот или любую вспомогательную задачу одним кликом:

Выпадающее меню Use as

Выпадающее меню содержит:

На карточках отображаются значки main или aux · <task>, если они в данный момент назначены на что-либо — так вы с одного взгляда видите, какие из ваших исторических моделей и где задействованы.

Что записывается в config.yaml

Когда вы сохраняете настройки через панель управления, Hermes записывает данные в ~/.hermes/config.yaml:

Основная модель:

model:
  provider: openrouter
  default: anthropic/claude-opus-4.7
  base_url: ''        # cleared on provider switch
  api_mode: chat_completions

Переопределение вспомогательной модели (пример — Vision на gemini-flash):

auxiliary:
  vision:
    provider: openrouter
    model: google/gemini-2.5-flash
    base_url: ''
    api_key: ''
    timeout: 120
    extra_body: {}
    download_timeout: 30

Вспомогательная модель в режиме auto (по умолчанию):

auxiliary:
  compression:
    provider: auto
    model: ''
    base_url: ''
    # ... other fields unchanged

provider: auto с model: '' указывает Hermes использовать основную модель для данной задачи.

Когда изменения вступают в силу?

Изменения никогда не сбрасывают кэши промптов в запущенных сессиях. Это сделано намеренно: замена основной модели внутри сессии требует сброса кэша (системный промпт содержит моделе-специфичный контент), и мы оставляем это для явной слэш-команды /model внутри чата.

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

«Нет аутентифицированных провайдеров» в окне выбора

Hermes отображает провайдера только при наличии действующих учётных данных. Проверьте раздел Keys на боковой панели — вы должны увидеть одно из: API-ключ, успешный OAuth или URL пользовательской конечной точки. Если нужного провайдера нет, выполните hermes setup для его настройки или перейдите в Keys и добавьте переменную окружения.

Основная модель не изменилась в запущенном чате

Это ожидаемо. Панель управления записывает изменения в config.yaml, который читают новые сессии. Уже открытый чат — это активный процесс агента, который сохраняет модель, с которой был запущен. Используйте /model <name> внутри чата для горячей замены модели в конкретной сессии.

Переопределение вспомогательной модели «не сработало»

Проверьте три момента:

  1. Вы начали новую сессию? Существующие чаты не перечитывают конфиг.

  2. Установлен ли provider в значение, отличное от auto? Если в поле указано auto, задача всё ещё использует вашу основную модель. Нажмите Change и выберите реального провайдера.

  3. Аутентифицирован ли провайдер? Если вы назначили minimax на задачу, но у вас нет API-ключа MiniMax, эта задача откатится к провайдеру по умолчанию (openrouter) и запишет предупреждение в agent.log.

Я выбрал модель, но Hermes переключил провайдера

На OpenRouter (или любом агрегаторе) «голые» названия моделей разрешаются внутри агрегатора. То есть claude-sonnet-4 на OpenRouter становится anthropic/claude-sonnet-4.6, оставаясь на вашей аутентификации OpenRouter. Но если бы вы ввели claude-sonnet-4 при нативной аутентификации Anthropic, оно осталось бы как claude-sonnet-4-6. Если вы видите неожиданную смену провайдера, проверьте, что ваш текущий провайдер соответствует ожидаемому — окно выбора всегда показывает текущую основную модель в верхней части диалога.

Альтернативные методы

Слэш-команда CLI

Внутри любой сессии hermes chat:

/model gpt-5.4 --provider openrouter             # session-only
/model gpt-5.4 --provider openrouter --global    # also persists to config.yaml

--global делает то же самое, что и кнопка Change в панели управления, плюс переключает текущую сессию на месте.

Пользовательские алиасы

Определите собственные короткие имена для моделей, к которым вы часто обращаетесь, а затем используйте /model <alias> в CLI или любой платформе обмена сообщениями:

# ~/.hermes/config.yaml
model_aliases:
  fav:
    model: claude-sonnet-4.6
    provider: anthropic
  grok:
    model: grok-4
    provider: x-ai

Или из командной оболочки (краткая форма provider/model):

hermes config set model.aliases.fav anthropic/claude-opus-4.6
hermes config set model.aliases.grok x-ai/grok-4

Затем используйте /model fav или /model grok в чате. Пользовательские алиасы переопределяют встроенные короткие имена (sonnet, kimi, opus и т.д.). Подробнее см. в разделе Пользовательские алиасы моделей.

Подкоманда hermes model

hermes model            # Interactive provider + model picker (the canonical way to switch defaults)

hermes model проведёт вас через выбор провайдера, аутентификацию (OAuth-потоки открывают браузер; провайдеры с API-ключами запрашивают ключ) и выбор конкретной модели из курируемого каталога провайдера. Выбор записывается в model.provider и model.model в ~/.hermes/config.yaml.

Чтобы просмотреть список провайдеров/моделей без запуска окна выбора, используйте панель управления или REST-эндпоинты ниже. Чтобы проверить, что CLI будет использовать прямо сейчас: hermes config get model и hermes status.

Редактирование конфигурации напрямую

Отредактируйте ~/.hermes/config.yaml и перезапустите всё, что его читает. Полную схему см. в Справочнике по конфигурации.

REST API

Панель управления использует три эндпоинта. Полезно для написания скриптов:

# List authenticated providers + curated model lists
curl -H "X-Hermes-Session-Token: $TOKEN" http://localhost:PORT/api/model/options

# Read current main + auxiliary assignments
curl -H "X-Hermes-Session-Token: $TOKEN" http://localhost:PORT/api/model/auxiliary

# Set the main model
curl -X POST -H "Content-Type: application/json" -H "X-Hermes-Session-Token: $TOKEN" \\
  -d '{"scope":"main","provider":"openrouter","model":"anthropic/claude-opus-4.7"}' \\
  http://localhost:PORT/api/model/set

# Override a single auxiliary task
curl -X POST -H "Content-Type: application/json" -H "X-Hermes-Session-Token: $TOKEN" \\
  -d '{"scope":"auxiliary","task":"vision","provider":"openrouter","model":"google/gemini-2.5-flash"}' \\
  http://localhost:PORT/api/model/set

# Assign one model to every auxiliary task
curl -X POST -H "Content-Type: application/json" -H "X-Hermes-Session-Token: $TOKEN" \\
  -d '{"scope":"auxiliary","task":"","provider":"openrouter","model":"google/gemini-2.5-flash"}' \\
  http://localhost:PORT/api/model/set

# Reset all auxiliary tasks to auto
curl -X POST -H "Content-Type: application/json" -H "X-Hermes-Session-Token: $TOKEN" \\
  -d '{"scope":"auxiliary","task":"__reset__","provider":"","model":""}' \\
  http://localhost:PORT/api/model/set

Токен сессии внедряется в HTML панели управления при запуске и изменяется при каждом перезапуске сервера. Получите его из инструментов разработчика браузера (window.__HERMES_SESSION_TOKEN__), если пишете скрипты для работы с запущенной панелью управления.