# Конфигурация агента. Ключ API здесь НЕ хранится — только имя переменной окружения
# (key_env), а сама переменная лежит в .env (см. .env.EXAMPLE).
model:
default: deepseek/deepseek-v4.1-flash
provider: custom:Polza.ai
base_url: https://polza.ai/api/v1
api_mode: chat_completions
key_env: HERMES_CUSTOM_POLZA_AI_API_KEY
database:
journal_mode: wal
agent:
# Явного потолка ходов НЕТ — как в ядре Hermes (`max_turns: null` означает
# «без ограничения»). В сборке стояло 500: это не защита, а обрезка длинной
# задачи на середине, причём молча. Если понадобится потолок — ставить
# через `hermes config set agent.max_turns <N>`, а не правкой файла.
max_turns: null
fast_auto_seconds: 60
verbose: false
reasoning_effort: medium
# computer_use выключен на уровне агента, а не скрыт в интерфейсе: это управление
# рабочим столом мышью и клавиатурой, для работы агента оно не нужно.
# Это реальное ограничение: вызвать этот инструмент он не сможет.
#
# terminal и code_execution ВКЛЮЧЕНЫ осознанно. Без них не работают скиллы Excel,
# Word, PDF и почты: они построены на запуске python-скриптов, а другого способа
# запустить скрипт в Hermes нет. Включены вместе — code_execution без terminal
# смысла не имеет, а terminal без code_execution ломает часть скиллов на ровном месте.
disabled_toolsets:
- computer_use
terminal:
backend: local
cwd: .
timeout: 180
home_mode: auto
browser:
inactivity_timeout: 120
use_real_profile: false
compression:
enabled: true
threshold: 0.5
target_ratio: 0.2
protect_last_n: 20
display:
compact: false
streaming: true
skin: slate
language: ru
show_reasoning: true
tool_progress: all
show_banner: false
stt:
# РАСПОЗНАВАНИЕ РЕЧИ ВКЛЮЧЕНО. В ядре Hermes это `true` по умолчанию; сборка
# выключала его — и голосовой ввод не работал, хотя в требованиях он в списке
# «оставить». Локальный движок (faster-whisper) уже стоит в venv движка, ключ
# не нужен: модель скачается при первом использовании.
enabled: true
# Язык — русский. В ядре стоит "en" (Whisper на коротких фразах ошибается с
# автоопределением), а получатель говорит по-русски.
language: ru
voice:
# Клиентское распознавание в приложении. В ядре `true`; сборка глушила его,
# из-за чего голос не работал и с этой стороны.
client_direct: true
tts:
# Синтез речи. В ядре провайдер `edge` (бесплатный, без ключа), но голос
# английский (en-US-AriaNeural) — для русского получателя это чтение
# английским голосом. Ставим русский: доступны ru-RU-SvetlanaNeural
# (женский) и ru-RU-DmitryNeural (мужской), проверено запросом к edge.
provider: edge
edge:
voice: ru-RU-SvetlanaNeural
memory:
memory_enabled: true
user_profile_enabled: true
memory_char_limit: 2200
user_char_limit: 1375
nudge_interval: 10
skills:
creation_nudge_interval: 15
cron:
catch_up_missed: true
gateway:
allow_all_users: false
telemetry:
shared_metrics:
enabled: false
send: false
updates:
# ФОНОВЫЕ ПРОВЕРКИ ОБНОВЛЕНИЙ HERMES ВЫКЛЮЧЕНЫ.
# Получателю не нужны сообщения «вышла новая версия Hermes» про тот код,
# который он не ставил и сам не обновляет: у агента свой механизм — ночная
# задача Планировщика AILabAgentUpdate зовёт update-check.ps1 и ставит сборку
# из нашего репозитория (см. README.md).
#
# Гасится именно ПАССИВНАЯ проверка (source_check.py: при check=False и
# passive=True возвращается reason=disabled, наружу ничего не уходит).
# Явный `hermes update` руками продолжает работать — это осознанно.
check: false
custom_providers: []
providers:
polza-ai:
name: Polza.ai
base_url: https://polza.ai/api/v1
model: deepseek/deepseek-v4.1-flash
discover_models: true
key_env: HERMES_CUSTOM_POLZA_AI_API_KEY
auxiliary:
vision:
provider: custom:Polza.ai
model: google/gemini-3-flash-preview
base_url: https://polza.ai/api/v1
key_env: HERMES_CUSTOM_POLZA_AI_API_KEY
timeout: 300
mcp_servers:
# ГОСТ-ассистент: поиск и чтение нормативных документов (ГОСТ, СП, СНиП).
# Ключ доступа — СВОЙ у получателя, в конфиге только имя переменной
# (headers.Authorization ссылается на .env), как и у ключа Polza.ai.
# Без ключа сервер не авторизуется: инструменты mcp__gostassistent__* будут
# видны, но отвечать не станут — это состояние «нет доступа», а не поломка
# агента. Ключ запрашивается у владельца агента.
gostassistent:
url: https://api.gostassistent.com/api/mcp
headers:
Authorization: 'Bearer ${MCP_GOSTASSISTENT_API_KEY}'
enabled: true
plugins:
enabled: []
disabled: []