Конфигурация и модели

Полное руководство по настройке Hermes Agent: файл config.yaml, провайдеры моделей (OpenRouter, OpenAI, Anthropic, Google, локальные), управление API-ключами и конфигурация моделей для основных и вспомогательных задач.

Файл config.yaml

Все настройки Hermes Agent хранятся в директории ~/.hermes/. Основной конфигурационный файл — config.yaml. Структура каталога:

~/.hermes/
├── config.yaml     # Настройки (модель, терминал, TTS, сжатие и др.)
├── .env            # API-ключи и секреты
├── SOUL.md         # Идентификация агента
├── credentials/    # Учётные данные провайдеров
└── profiles/       # Профили агентов

Основные секции config.yaml:

Секция Описание Ключевые параметры
model Основная модель и провайдер default, provider, base_url, api_key, context_length
agent Поведение агента max_turns (90), tool_use_enforcement
terminal Бэкенд терминала backend (local/docker/ssh/modal), cwd, timeout (180)
compression Сжатие контекста enabled, threshold (0.50), target_ratio (0.20)
display Визуальные настройки skin, tool_progress, show_reasoning, show_cost
memory Память агента memory_enabled, user_profile_enabled, provider
stt Распознавание речи (Speech-to-Text) enabled, provider (local/groq/openai/mistral), local.model
tts Синтез речи (Text-to-Speech) provider (edge/elevenlabs/openai/minimax/mistral/neutts)
delegation Субагенты и делегирование model, provider, base_url, api_key, max_iterations (50), reasoning_effort
checkpoints Автоматические снимки файловой системы enabled, max_snapshots (50)
approvals Режим подтверждения команд mode (manual/smart/off)
security Безопасность и фильтрация redact_secrets, tirith_enabled, website_blocklist
privacy Приватность данных redact_pii — хеширование PII в gateway

Приоритет конфигурации: аргументы CLI → переменные окружения → config.yaml → значения по умолчанию. Также поддерживается подстановка переменных окружения через синтаксис ${ENV_VAR}.

Секция agent

Управляет поведением агента в ходе сессии:

agent:
  max_turns: 90              # Максимум итераций агента в одной сессии
  tool_use_enforcement: auto  # Строгость использования инструментов

Секция terminal

Настраивает бэкенд для выполнения shell-команд:

terminal:
  backend: local    # local, docker, ssh, modal
  cwd: ~/workspace  # Рабочая директория
  timeout: 180      # Таймаут команд в секундах

Секция compression

Автоматическое сжатие контекста для экономии токенов при длинных сессиях:

compression:
  enabled: true
  threshold: 0.50    # Сжатие запускается при заполнении 50% контекста
  target_ratio: 0.20 # Целевой размер после сжатия (20% от контекста)

Секция display

Визуальные настройки CLI-интерфейса:

display:
  skin: default          # Тема оформления
  tool_progress: true    # Показывать прогресс инструментов
  show_reasoning: false  # Показывать рассуждения модели
  show_cost: true        # Показывать стоимость запросов

Секция checkpoints

Автоматические снимки файловой системы для возможности отката изменений. При включении агент делает снимки перед каждым изменением файлов, и можно откатиться командой /rollback:

checkpoints:
  enabled: true
  max_snapshots: 50  # Максимум хранимых снимков

Включить можно также флагом hermes --checkpoints при запуске.

Секция approvals

Управляет режимом подтверждения опасных команд (rm -rf, git reset —hard и т.д.):

approvals:
  mode: manual  # manual | smart | off
  • manual — всегда спрашивать подтверждение (по умолчанию)
  • smart — использовать вспомогательную LLM для автоодобрения безопасных команд, спрашивать для опасных
  • off — пропускать все подтверждения (эквивалент --yolo)

Одноразовый обход: hermes --yolo или export HERMES_YOLO_MODE=1.

Секция security

Параметры безопасности и фильтрации:

security:
  redact_secrets: true      # Автоматическая маскировка секретов в выводе инструментов
  tirith_enabled: false     # Политика безопасности через tirith
  website_blocklist: []     # Список заблокированных доменов

Важно: redact_secrets считывается при старте сессии. Изменение через hermes config set security.redact_secrets true требует перезапуск сессии (/reset).

Секция privacy

Отдельно от redact_secrets, управляет обработкой персональных данных в gateway:

privacy:
  redact_pii: true  # Хеширование PII (ID пользователей, телефоны) в контексте сессии

Секция delegation

Настройки субагентов — когда основной агент делегирует задачи дочерним процессам:

delegation:
  model: null           # Модель для субагентов (null = основная)
  provider: null        # Провайдер для субагентов
  base_url: null        # Кастомный endpoint
  api_key: null         # API-ключ для субагентов
  max_iterations: 50    # Максимум итераций субагента
  reasoning_effort: medium  # Уровень рассуждений (none/minimal/low/medium/high)

Секция stt (Speech-to-Text)

Распознавание голосовых сообщений с платформ обмена сообщениями:

stt:
  enabled: true
  provider: local   # local, groq, openai, mistral
  local:
    model: base     # tiny, base, small, medium, large-v3
Провайдер Требования Бесплатно?
Local faster-whisper pip install faster-whisper Да (по умолчанию)
Groq Whisper GROQ_API_KEY Да (free tier)
OpenAI Whisper VOICE_TOOLS_OPENAI_KEY Платно
Mistral Voxtral MISTRAL_API_KEY Платно

Секция tts (Text-to-Speech)

Синтез речи для голосовых ответов:

tts:
  provider: edge  # edge, elevenlabs, openai, minimax, mistral, neutts
Провайдер Переменная окружения Бесплатно?
Edge TTS Не требуется Да (по умолчанию)
ElevenLabs ELEVENLABS_API_KEY Free tier
OpenAI VOICE_TOOLS_OPENAI_KEY Платно
MiniMax MINIMAX_API_KEY Платно
Mistral (Voxtral) MISTRAL_API_KEY Платно
NeuTTS (локальный) pip install neutts[all] + espeak-ng Да

Команды голосового режима: /voice on (голос-в-голос), /voice tts (всегда голос), /voice off.

Провайдеры моделей

Hermes Agent поддерживает несколько провайдеров LLM:

  • OpenRouter — агрегатор с доступом к сотням моделей разных вендоров. Рекомендуется как основной провайдер. Формат: openrouter/vendor/model-name
  • OpenAI — прямой доступ к моделям GPT. Требует ключ OPENAI_API_KEY
  • Anthropic — модели Claude. Требует ANTHROPIC_API_KEY
  • Google — модели Gemini. Требует GOOGLE_API_KEY
  • Локальные модели — любой OpenAI-совместимый эндпоинт (Ollama, LM Studio, vLLM). Указывается через base_url

Также поддерживаются: Nous, GitHub Copilot, xAI (Grok), MiniMax, Kimi Coding, DeepSeek, Hugging Face, Xiaomi MiMo и другие.

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

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

  • Основная модель (Main) — обрабатывает все сообщения пользователя, вызовы инструментов и генерацию ответов
  • Вспомогательные модели (Auxiliary) — для сжатия контекста, анализа изображений, суммаризации веб-страниц, поиска по сессиям, оценки одобрения команд, маршрутизации MCP-инструментов и генерации названий сессий

Пример настройки в config.yaml:

model:
  provider: openrouter
  model: anthropic/claude-sonnet-4.6

auxiliary:
  vision:
    provider: openrouter
    model: google/gemini-2.5-flash
  context_compression:
    provider: openrouter
    model: google/gemini-2.5-flash

delegation:
  model: null
  provider: null
  max_iterations: 50
  reasoning_effort: medium

Можно настроить алиасы моделей для быстрого переключения:

model_aliases:
  fav:
    model: claude-sonnet-4.6
    provider: anthropic
  grok:
    model: grok-4
    provider: x-ai

API-ключи

API-ключи хранятся в файле ~/.hermes/.env и настраиваются несколькими способами:

  • Интерактивная настройка: hermes setup
  • Через dashboard в разделе Keys
  • Ручное редактирование .env файла
  • Переменные окружения системы

Основные переменные: OPENROUTER_API_KEY, OPENAI_API_KEY, ANTHROPIC_API_KEY, GOOGLE_API_KEY. Для локальных моделей достаточно указать base_url — например, http://localhost:11434/v1 для Ollama.

Все провайдеры разрешают ключи при запуске автоматически. Поддерживается OAuth-аутентификация для Copilot и некоторых других провайдеров, а также пул ключей с автоматическим переключением при ошибках rate-limit.