Newer
Older
AI_Lab_SCRUME_Co / config.yaml
# Конфигурация агента. Ключ 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: []