Перейти к содержанию

Variables

On this page Все переменные находятся в ~/.hermes/.env. Вы также можете задать их с помощью hermes config set VAR value.

LLM-провайдеры​

Переменная Описание
OPENROUTER_API_KEY API-ключ OpenRouter (рекомендуется для гибкости)
OPENROUTER_BASE_URL Переопределение базового URL, совместимого с OpenRouter
HERMES_OPENROUTER_CACHE Включить кеширование ответов OpenRouter (1/true/yes/on). Переопределяет openrouter.response_cache в config.yaml. См. Response Caching.
HERMES_OPENROUTER_CACHE_TTL Время жизни кеша в секундах (1-86400). Переопределяет openrouter.response_cache_ttl в config.yaml.
NOUS_BASE_URL Переопределение базового URL Nous Portal (требуется редко; только для разработки/тестирования)
NOUS_INFERENCE_BASE_URL Прямое переопределение эндпоинта инференса Nous
AI_GATEWAY_API_KEY API-ключ Vercel AI Gateway (ai-gateway.vercel.sh)
AI_GATEWAY_BASE_URL Переопределение базового URL AI Gateway (по умолчанию: https://ai-gateway.vercel.sh/v1)
OPENAI_API_KEY API-ключ для пользовательских эндпоинтов, совместимых с OpenAI (используется с OPENAI_BASE_URL)
OPENAI_BASE_URL Базовый URL для пользовательского эндпоинта (VLLM, SGLang и т.д.)
COPILOT_GITHUB_TOKEN GitHub-токен для Copilot API — наивысший приоритет (OAuth gho_* или fine-grained PAT github_pat_*; классические PAT ghp_* не поддерживаются)
GH_TOKEN GitHub-токен — второй приоритет для Copilot (также используется CLI gh)
GITHUB_TOKEN GitHub-токен — третий приоритет для Copilot
HERMES_COPILOT_ACP_COMMAND Переопределение пути к бинарнику Copilot ACP CLI (по умолчанию: copilot)
COPILOT_CLI_PATH Псевдоним для HERMES_COPILOT_ACP_COMMAND
HERMES_COPILOT_ACP_ARGS Переопределение аргументов Copilot ACP (по умолчанию: --acp --stdio)
COPILOT_ACP_BASE_URL Переопределение базового URL Copilot ACP
GLM_API_KEY API-ключ z.ai / ZhipuAI GLM (z.ai)
ZAI_API_KEY Псевдоним для GLM_API_KEY
Z_AI_API_KEY Псевдоним для GLM_API_KEY
GLM_BASE_URL Переопределение базового URL z.ai (по умолчанию: https://api.z.ai/api/paas/v4)
KIMI_API_KEY API-ключ Kimi / Moonshot AI (moonshot.ai)
KIMI_BASE_URL Переопределение базового URL Kimi (по умолчанию: https://api.moonshot.ai/v1)
KIMI_CN_API_KEY API-ключ Kimi / Moonshot China (moonshot.cn)
ARCEEAI_API_KEY API-ключ Arcee AI (chat.arcee.ai)
ARCEE_BASE_URL Переопределение базового URL Arcee (по умолчанию: https://api.arcee.ai/api/v1)
GMI_API_KEY API-ключ GMI Cloud (gmicloud.ai)
GMI_BASE_URL Переопределение базового URL GMI Cloud (по умолчанию: https://api.gmi-serving.com/v1)
MINIMAX_API_KEY API-ключ MiniMax — глобальный эндпоинт (minimax.io). Не используетсяminimax-oauth (OAuth-путь использует вход через браузер).
MINIMAX_BASE_URL Переопределение базового URL MiniMax (по умолчанию: https://api.minimax.io/anthropic — Hermes использует эндпоинт MiniMax, совместимый с Anthropic Messages). Не используетсяminimax-oauth.
MINIMAX_CN_API_KEY API-ключ MiniMax — китайский эндпоинт (minimaxi.com). Не используетсяminimax-oauth (OAuth-путь использует вход через браузер).
MINIMAX_CN_BASE_URL Переопределение базового URL MiniMax China (по умолчанию: https://api.minimaxi.com/anthropic). Не используетсяminimax-oauth.
KILOCODE_API_KEY API-ключ Kilo Code (kilo.ai)
KILOCODE_BASE_URL Переопределение базового URL Kilo Code (по умолчанию: https://api.kilo.ai/api/gateway)
XIAOMI_API_KEY API-ключ Xiaomi MiMo (platform.xiaomimimo.com)
XIAOMI_BASE_URL Переопределение базового URL Xiaomi MiMo (по умолчанию: https://api.xiaomimimo.com/v1)
TOKENHUB_API_KEY API-ключ Tencent TokenHub (tokenhub.tencentmaas.com)
TOKENHUB_BASE_URL Переопределение базового URL Tencent TokenHub (по умолчанию: https://tokenhub.tencentmaas.com/v1)
AZURE_FOUNDRY_API_KEY API-ключ Azure AI Foundry / Azure OpenAI (ai.azure.com)
AZURE_FOUNDRY_BASE_URL URL эндпоинта Azure AI Foundry (например, https://<resource>.openai.azure.com/openai/v1 для OpenAI-стиля или https://<resource>.services.ai.azure.com/anthropic для Anthropic-стиля)
AZURE_ANTHROPIC_KEY API-ключ Azure Anthropic для provider: anthropic \+ base_url, указывающего на развёртывание Claude в Azure Foundry (альтернатива ANTHROPIC_API_KEY, когда настроены и Anthropic, и Azure Anthropic)
HF_TOKEN Токен Hugging Face для Inference Providers (huggingface.co/settings/tokens)
HF_BASE_URL Переопределение базового URL Hugging Face (по умолчанию: https://router.huggingface.co/v1)
GOOGLE_API_KEY API-ключ Google AI Studio (aistudio.google.com/app/apikey)
GEMINI_API_KEY Псевдоним для GOOGLE_API_KEY
GEMINI_BASE_URL Переопределение базового URL Google AI Studio
HERMES_GEMINI_CLIENT_ID OAuth client ID для входа google-gemini-cli PKCE (опционально; по умолчанию используется публичный gemini-cli клиент Google)
HERMES_GEMINI_CLIENT_SECRET OAuth client secret для google-gemini-cli (опционально)
HERMES_GEMINI_PROJECT_ID ID проекта GCP для платных тарифов Gemini (бесплатный тариф предоставляется автоматически)
ANTHROPIC_API_KEY API-ключ Anthropic Console (console.anthropic.com)
ANTHROPIC_TOKEN Ручное или устаревшее переопределение OAuth/установочного токена Anthropic
DASHSCOPE_API_KEY API-ключ Alibaba Cloud DashScope для моделей Qwen (modelstudio.console.alibabacloud.com)
DASHSCOPE_BASE_URL Пользовательский базовый URL DashScope (по умолчанию: https://dashscope-intl.aliyuncs.com/compatible-mode/v1; используйте https://dashscope.aliyuncs.com/compatible-mode/v1 для материкового Китая)
DEEPSEEK_API_KEY API-ключ DeepSeek для прямого доступа к DeepSeek (platform.deepseek.com)
DEEPSEEK_BASE_URL Пользовательский базовый URL API DeepSeek
NVIDIA_API_KEY API-ключ NVIDIA NIM — модели Nemotron и открытые модели (build.nvidia.com)
NVIDIA_BASE_URL Переопределение базового URL NVIDIA (по умолчанию: https://integrate.api.nvidia.com/v1; установите http://localhost:8000/v1 для локального эндпоинта NIM)
GMI_API_KEY API-ключ GMI Cloud — открытые и reasoning-модели (inference.gmi.ai)
GMI_BASE_URL Переопределение базового URL GMI Cloud (по умолчанию: https://api.gmi.ai/v1)
STEPFUN_API_KEY API-ключ StepFun — модели серии Step (platform.stepfun.com)
STEPFUN_BASE_URL Переопределение базового URL StepFun (по умолчанию: https://api.stepfun.com/v1)
OLLAMA_API_KEY API-ключ Ollama Cloud — управляемый каталог Ollama без локального GPU (ollama.com/settings/keys)
OLLAMA_BASE_URL Переопределение базового URL Ollama Cloud (по умолчанию: https://ollama.com/v1)
XAI_API_KEY API-ключ xAI (Grok) для чата и TTS (console.x.ai)
XAI_BASE_URL Переопределение базового URL xAI (по умолчанию: https://api.x.ai/v1)
MISTRAL_API_KEY API-ключ Mistral для Voxtral TTS и Voxtral STT (console.mistral.ai)
AWS_REGION Регион AWS для инференса Bedrock (например, us-east-1, eu-central-1). Читается boto3.
AWS_PROFILE Именованный профиль AWS для аутентификации Bedrock (читает ~/.aws/credentials). Оставьте пустым для использования стандартной цепочки учётных данных boto3.
BEDROCK_BASE_URL Переопределение базового URL Bedrock runtime (по умолчанию: https://bedrock-runtime.us-east-1.amazonaws.com; обычно оставляйте пустым и используйте AWS_REGION)
HERMES_QWEN_BASE_URL Переопределение базового URL Qwen Portal (по умолчанию: https://portal.qwen.ai/v1)
OPENCODE_ZEN_API_KEY API-ключ OpenCode Zen — оплата по мере использования для подобранных моделей (opencode.ai)
OPENCODE_ZEN_BASE_URL Переопределение базового URL OpenCode Zen
OPENCODE_GO_API_KEY API-ключ OpenCode Go — подписка $10/мес за открытые модели (opencode.ai)
OPENCODE_GO_BASE_URL Переопределение базового URL OpenCode Go
CLAUDE_CODE_OAUTH_TOKEN Явное переопределение токена Claude Code, если вы экспортируете его вручную
HERMES_MODEL Переопределение модели на уровне процесса (используется планировщиком cron; для обычного использования предпочтительнее config.yaml)
VOICE_TOOLS_OPENAI_KEY Предпочтительный ключ OpenAI для провайдеров распознавания речи и синтеза речи OpenAI
HERMES_LOCAL_STT_COMMAND Опциональный шаблон локальной команды распознавания речи. Поддерживает плейсхолдеры {input_path}, {output_dir}, {language} и {model}
HERMES_LOCAL_STT_LANGUAGE Язык по умолчанию, передаваемый в HERMES_LOCAL_STT_COMMAND или в локальный CLI whisper (по умолчанию: en)
HERMES_HOME Переопределение директории конфигурации Hermes (по умолчанию: ~/.hermes). Также определяет область видимости PID-файла шлюза и имени systemd-сервиса, позволяя нескольким установкам работать одновременно
HERMES_KANBAN_HOME Переопределение общей корневой директории Hermes, которая служит основой для канбан-доски (БД + рабочие области + логи воркеров). По умолчанию используется get_default_hermes_root() (родительская директория активного профиля). Полезно для тестов и нестандартных развёртываний
HERMES_KANBAN_BOARD Фиксация активной канбан-доски для данного процесса. Имеет приоритет над ~/.hermes/kanban/current; диспетчер внедряет это в окружение подпроцессов воркеров, чтобы воркеры физически не могли видеть задачи с других досок. По умолчанию: default. Валидация slug: строчные буквы, цифры, дефисы и подчёркивания, 1–64 символа
HERMES_KANBAN_DB Прямая фиксация пути к файлу базы данных канбан (наивысший приоритет; переопределяет HERMES_KANBAN_BOARD и HERMES_KANBAN_HOME). Диспетчер внедряет это в окружение подпроцессов воркеров, чтобы воркеры профиля использовали доску диспетчера
HERMES_KANBAN_WORKSPACES_ROOT Прямая фиксация корня рабочих областей канбан (наивысший приоритет для рабочих областей; переопределяет HERMES_KANBAN_HOME). Диспетчер внедряет это в окружение подпроцессов воркеров
## Аутентификация провайдеров (OAuth)​
Для нативной аутентификации Anthropic Hermes предпочитает собственные файлы учётных данных Claude Code, когда они существуют, поскольку эти учётные данные могут обновляться автоматически. OAuth через Anthropic требует плана Claude Max с приобретёнными дополнительными кредитами — Hermes маршрутизируется как Claude Code, который использует только дополнительные кредиты плана Max, а не базовый лимит Max, и не работает с Claude Pro. Без Max + дополнительных кредитов используйте API-ключ. Переменные окружения, такие как ANTHROPIC_TOKEN, остаются полезными для ручного переопределения, но больше не являются предпочтительным способом для входа в Claude Max.
Переменная Описание
--- ---
HERMES_INFERENCE_PROVIDER Переопределение выбора провайдера: auto, custom, openrouter, nous, openai-codex, copilot, copilot-acp, anthropic, huggingface, gemini, zai, kimi-coding, kimi-coding-cn, minimax, minimax-cn, minimax-oauth (вход через браузер OAuth — API-ключ не требуется; см. MiniMax OAuth guide), kilocode, xiaomi, arcee, gmi, stepfun, alibaba, alibaba-coding-plan (псевдоним alibaba_coding), deepseek, nvidia, ollama-cloud, xai (псевдоним grok), google-gemini-cli, qwen-oauth, bedrock, opencode-zen, opencode-go, ai-gateway, tencent-tokenhub (по умолчанию: auto)
HERMES_PORTAL_BASE_URL Переопределение URL Nous Portal (для разработки/тестирования)
NOUS_INFERENCE_BASE_URL Переопределение URL API инференса Nous
HERMES_NOUS_MIN_KEY_TTL_SECONDS Минимальное время жизни ключа агента до перевыпуска (по умолчанию: 1800 = 30 мин)
HERMES_NOUS_TIMEOUT_SECONDS Тайм-аут HTTP для потоков учётных данных / токенов Nous
HERMES_DUMP_REQUESTS Сохранять полезную нагрузку API-запросов в лог-файлы (true/false)
HERMES_PREFILL_MESSAGES_FILE Путь к JSON-файлу с эфемерными prefill-сообщениями, внедряемыми при вызове API
HERMES_TIMEZONE Переопределение часового пояса IANA (например, America/New_York)
## Tool API​
Переменная Описание
--- ---
PARALLEL_API_KEY ИИ-нативный веб-поиск (parallel.ai)
FIRECRAWL_API_KEY Веб-скрапинг и облачный браузер (firecrawl.dev)
FIRECRAWL_API_URL Пользовательский эндпоинт Firecrawl API для самостоятельных инстансов (опционально)
TAVILY_API_KEY API-ключ Tavily для ИИ-нативного веб-поиска, извлечения и краулинга (app.tavily.com)
SEARXNG_URL URL инстанса SearXNG для бесплатного самостоятельного веб-поиска — API-ключ не требуется (searxng.github.io)
TAVILY_BASE_URL Переопределение эндпоинта API Tavily. Полезно для корпоративных прокси и самостоятельных серверов поиска, совместимых с Tavily. Аналогично GROQ_BASE_URL.
EXA_API_KEY API-ключ Exa для ИИ-нативного веб-поиска и контента (exa.ai)
BROWSERBASE_API_KEY Автоматизация браузера (browserbase.com)
BROWSERBASE_PROJECT_ID ID проекта Browserbase
BROWSER_USE_API_KEY API-ключ облачного браузера Browser Use (browser-use.com)
FIRECRAWL_BROWSER_TTL Время жизни сессии браузера Firecrawl в секундах (по умолчанию: 300)
BROWSER_CDP_URL URL Chrome DevTools Protocol для локального браузера (устанавливается через /browser connect, например ws://localhost:9222)
CAMOFOX_URL URL локального браузера Camofox для антидетекта (по умолчанию: http://localhost:9377)
BROWSER_INACTIVITY_TIMEOUT Тайм-аут неактивности сессии браузера в секундах
FAL_KEY Генерация изображений (fal.ai)
GROQ_API_KEY API-ключ Groq Whisper STT (groq.com)
ELEVENLABS_API_KEY Премиум-голоса TTS от ElevenLabs (elevenlabs.io)
STT_GROQ_MODEL Переопределение модели Groq STT (по умолчанию: whisper-large-v3-turbo)
GROQ_BASE_URL Переопределение эндпоинта STT Groq, совместимого с OpenAI
STT_OPENAI_MODEL Переопределение модели OpenAI STT (по умолчанию: whisper-1)
STT_OPENAI_BASE_URL Переопределение эндпоинта STT, совместимого с OpenAI
GITHUB_TOKEN GitHub-токен для Skills Hub (более высокие лимиты API, публикация навыков)
HONCHO_API_KEY Кросс-сессионное моделирование пользователей (honcho.dev)
HONCHO_BASE_URL Базовый URL для самостоятельных инстансов Honcho (по умолчанию: Honcho cloud). Для локальных инстансов API-ключ не требуется
HINDSIGHT_TIMEOUT Тайм-аут в секундах для вызовов API памяти Hindsight (по умолчанию: 60). Увеличьте, если ваш инстанс Hindsight медленно отвечает во время /sync или on_session_switch и вы видите тайм-ауты в errors.log.
SUPERMEMORY_API_KEY Семантическая долговременная память с извлечением профиля и приёмом сессий (supermemory.ai)
TINKER_API_KEY RL-тренировки (tinker-console.thinkingmachines.ai)
WANDB_API_KEY Метрики RL-тренировок (wandb.ai)
DAYTONA_API_KEY Облачные песочницы Daytona (daytona.io)
VERCEL_TOKEN Токен доступа к Vercel Sandbox (vercel.com)
VERCEL_PROJECT_ID ID проекта Vercel (требуется с VERCEL_TOKEN)
VERCEL_TEAM_ID ID команды Vercel (требуется с VERCEL_TOKEN)
VERCEL_OIDC_TOKEN Кратковременный OIDC-токен Vercel (альтернатива для разработки)
### Langfuse Observability​
Переменные окружения для встроенного плагина observability/langfuse. Установите их через hermes tools → Langfuse Observability или вручную в ~/.hermes/.env. Плагин также должен быть включён (hermes plugins enable observability/langfuse), прежде чем они начнут действовать.
Переменная Описание
--- ---
HERMES_LANGFUSE_PUBLIC_KEY Публичный ключ проекта Langfuse (pk-lf-...). Обязателен.
HERMES_LANGFUSE_SECRET_KEY Секретный ключ проекта Langfuse (sk-lf-...). Обязателен.
HERMES_LANGFUSE_BASE_URL URL сервера Langfuse (по умолчанию: https://cloud.langfuse.com). Задаётся для самостоятельного размещения.
HERMES_LANGFUSE_ENV Тег окружения на трассах (production, staging, …)
HERMES_LANGFUSE_RELEASE Тег релиза/версии на трассах
HERMES_LANGFUSE_SAMPLE_RATE Коэффициент выборки SDK 0.0–1.0 (по умолчанию: 1.0)
HERMES_LANGFUSE_MAX_CHARS Усечение полей для сериализованных полезных нагрузок (по умолчанию: 12000)
HERMES_LANGFUSE_DEBUG true включает подробное логирование плагина в agent.log
LANGFUSE_PUBLIC_KEY / LANGFUSE_SECRET_KEY / LANGFUSE_BASE_URL Стандартные имена SDK Langfuse. Принимаются как запасные, когда HERMES_LANGFUSE_* аналоги не заданы.
### Nous Tool Gateway​
Эти переменные настраивают Tool Gateway для платных подписчиков Nous или самостоятельных развёртываний шлюза. Большинству пользователей не нужно их задавать — шлюз настраивается автоматически через hermes model или hermes tools.
Переменная Описание
--- ---
TOOL_GATEWAY_DOMAIN Базовый домен для маршрутизации Tool Gateway (по умолчанию: nousresearch.com)
TOOL_GATEWAY_SCHEME Схема HTTP или HTTPS для URL шлюза (по умолчанию: https)
TOOL_GATEWAY_USER_TOKEN Токен аутентификации для Tool Gateway (обычно заполняется автоматически из аутентификации Nous)
FIRECRAWL_GATEWAY_URL Переопределение URL эндпоинта шлюза Firecrawl
## Терминальный бэкенд​
Переменная Описание
--- ---
TERMINAL_ENV Бэкенд: local, docker, ssh, singularity, modal, daytona, vercel_sandbox
HERMES_DOCKER_BINARY Переопределение бинарника контейнера, который вызывает Hermes (например, podman, /usr/local/bin/docker). Если не задано, Hermes автоматически находит docker или podman в PATH. Требуется, когда установлены оба и вы хотите использовать нестандартный, или когда бинарник находится вне PATH.
TERMINAL_DOCKER_IMAGE Docker-образ (по умолчанию: nikolaik/python-nodejs:python3.11-nodejs20)
TERMINAL_DOCKER_FORWARD_ENV JSON-массив имён переменных окружения для явной передачи в Docker-сессии терминала. Примечание: объявленные навыком required_environment_variables передаются автоматически — это нужно только для переменных, не объявленных ни одним навыком.
TERMINAL_DOCKER_VOLUMES Дополнительные монтирования томов Docker (пары host:container через запятую)
TERMINAL_DOCKER_MOUNT_CWD_TO_WORKSPACE Расширенный opt-in: монтировать текущую рабочую директорию запуска в Docker /workspace (true/false, по умолчанию: false)
TERMINAL_SINGULARITY_IMAGE Singularity-образ или путь .sif
TERMINAL_MODAL_IMAGE Образ контейнера Modal
TERMINAL_DAYTONA_IMAGE Образ песочницы Daytona
TERMINAL_VERCEL_RUNTIME Среда выполнения Vercel Sandbox (node24, node22, python3.13)
TERMINAL_TIMEOUT Тайм-аут команды в секундах
TERMINAL_LIFETIME_SECONDS Максимальное время жизни сессий терминала в секундах
TERMINAL_CWD Рабочая директория для сессий терминала (только шлюз/cron; CLI использует директорию запуска)
SUDO_PASSWORD Включение sudo без интерактивного запроса
Для облачных бэкендов-песочниц сохраняемость ориентирована на файловую систему. TERMINAL_LIFETIME_SECONDS определяет, когда Hermes очищает бездействующую сессию терминала, и при последующем возобновлении песочница может быть создана заново, а не поддерживать те же активные процессы.
## SSH-бэкенд​
Переменная Описание
--- ---
TERMINAL_SSH_HOST Имя хоста удалённого сервера
TERMINAL_SSH_USER Имя пользователя SSH
TERMINAL_SSH_PORT Порт SSH (по умолчанию: 22)
TERMINAL_SSH_KEY Путь к приватному ключу
TERMINAL_SSH_PERSISTENT Переопределение постоянной оболочки для SSH (по умолчанию: следует за TERMINAL_PERSISTENT_SHELL)
## Ресурсы контейнеров (Docker, Singularity, Modal, Daytona)​
Переменная Описание
--- ---
TERMINAL_CONTAINER_CPU Ядра CPU (по умолчанию: 1)
TERMINAL_CONTAINER_MEMORY Память в МБ (по умолчанию: 5120)
TERMINAL_CONTAINER_DISK Диск в МБ (по умолчанию: 51200)
TERMINAL_CONTAINER_PERSISTENT Сохранять файловую систему контейнера между сессиями (по умолчанию: true)
TERMINAL_SANDBOX_DIR Хостовая директория для рабочих областей и оверлеев (по умолчанию: ~/.hermes/sandboxes/)
## Постоянная оболочка​
Переменная Описание
--- ---
TERMINAL_PERSISTENT_SHELL Включить постоянную оболочку для нелокальных бэкендов (по умолчанию: true). Также настраивается через terminal.persistent_shell в config.yaml
TERMINAL_LOCAL_PERSISTENT Включить постоянную оболочку для локального бэкенда (по умолчанию: false)
TERMINAL_SSH_PERSISTENT Переопределение постоянной оболочки для SSH-бэкенда (по умолчанию: следует за TERMINAL_PERSISTENT_SHELL)
## Мессенджеры​
Переменная Описание
--- ---
TELEGRAM_BOT_TOKEN Токен Telegram-бота (от @BotFather)
TELEGRAM_ALLOWED_USERS ID пользователей (через запятую), которым разрешено использовать бота (применяется к личным сообщениям, группам и форумам)
TELEGRAM_GROUP_ALLOWED_USERS ID отправителей (через запятую), авторизованных только в группах/форумах (НЕ предоставляет доступ к ЛС). Значения в формате Chat-ID (начинающиеся с -) всё ещё воспринимаются как ID чатов для обратной совместимости с конфигами до #17686, с предупреждением об устаревании.
TELEGRAM_GROUP_ALLOWED_CHATS ID групповых чатов/форумов (через запятую); любой участник авторизован
TELEGRAM_HOME_CHANNEL Канал/чат Telegram по умолчанию для доставки cron
TELEGRAM_HOME_CHANNEL_NAME Отображаемое имя для домашнего канала Telegram
TELEGRAM_WEBHOOK_URL Публичный HTTPS URL для режима вебхука (включает вебхук вместо polling)
TELEGRAM_WEBHOOK_PORT Локальный порт прослушивания для сервера вебхука (по умолчанию: 8443)
TELEGRAM_WEBHOOK_SECRET Секретный токен, который Telegram отправляет обратно в каждом обновлении для проверки. Обязателен, когда заданTELEGRAM_WEBHOOK_URL — шлюз откажется запускаться без него (GHSA-3vpc-7q5r-276h). Сгенерируйте с помощью openssl rand -hex 32.
TELEGRAM_REACTIONS Включить emoji-реакции на сообщения во время обработки (по умолчанию: false)
TELEGRAM_REPLY_TO_MODE Поведение ответа-ссылки: off, first (по умолчанию) или all. Соответствует шаблону Discord.
TELEGRAM_IGNORED_THREADS ID тем/тредов форума Telegram (через запятую), в которых бот никогда не отвечает
TELEGRAM_PROXY URL прокси для подключений Telegram — переопределяет HTTPS_PROXY. Поддерживает http://, https://, socks5://
DISCORD_BOT_TOKEN Токен Discord-бота
DISCORD_ALLOWED_USERS ID пользователей Discord (через запятую), которым разрешено использовать бота
DISCORD_ALLOWED_ROLES ID ролей Discord (через запятую), которым разрешено использовать бота (логическое ИЛИ с DISCORD_ALLOWED_USERS). Автоматически включает Members intent. Полезно при текучке модераторов — разрешения ролей применяются автоматически.
DISCORD_ALLOWED_CHANNELS ID каналов Discord (через запятую). Если задано, бот отвечает только в этих каналах (плюс ЛС, если разрешено). Переопределяет config.yaml discord.allowed_channels.
DISCORD_PROXY URL прокси для подключений Discord — переопределяет HTTPS_PROXY. Поддерживает http://, https://, socks5://
DISCORD_HOME_CHANNEL Канал Discord по умолчанию для доставки cron
DISCORD_HOME_CHANNEL_NAME Отображаемое имя для домашнего канала Discord
DISCORD_COMMAND_SYNC_POLICY Политика синхронизации слеш-команд Discord при запуске: safe (diff и согласование), bulk (устаревший tree.sync()) или off
DISCORD_REQUIRE_MENTION Требовать @упоминание перед ответом в серверных каналах
DISCORD_FREE_RESPONSE_CHANNELS ID каналов (через запятую), где упоминание не требуется
DISCORD_AUTO_THREAD Автоматически создавать тред для длинных ответов, где поддерживается
DISCORD_REACTIONS Включить emoji-реакции на сообщения во время обработки (по умолчанию: true)
DISCORD_IGNORED_CHANNELS ID каналов (через запятую), где бот никогда не отвечает
DISCORD_NO_THREAD_CHANNELS ID каналов (через запятую), где бот отвечает без автоматического создания тредов
DISCORD_REPLY_TO_MODE Поведение ответа-ссылки: off, first (по умолчанию) или all
DISCORD_ALLOW_MENTION_EVERYONE Разрешить боту упоминать @everyone/@here (по умолчанию: false). См. Mention Control.
DISCORD_ALLOW_MENTION_ROLES Разрешить боту упоминать @role (по умолчанию: false).
DISCORD_ALLOW_MENTION_USERS Разрешить боту упоминать отдельных @user (по умолчанию: true).
DISCORD_ALLOW_MENTION_REPLIED_USER Упоминать автора при ответе на его сообщение (по умолчанию: true).
SLACK_BOT_TOKEN Токен Slack-бота (xoxb-...)
SLACK_APP_TOKEN Токен приложения Slack (xapp-..., требуется для Socket Mode)
SLACK_ALLOWED_USERS ID пользователей Slack (через запятую)
SLACK_HOME_CHANNEL Канал Slack по умолчанию для доставки cron
SLACK_HOME_CHANNEL_NAME Отображаемое имя для домашнего канала Slack
WHATSAPP_ENABLED Включить мост WhatsApp (true/false)
WHATSAPP_MODE bot (отдельный номер) или self-chat (написать себе)
WHATSAPP_ALLOWED_USERS Номера телефонов (через запятую, с кодом страны, без +), или * для разрешения всем отправителям
WHATSAPP_ALLOW_ALL_USERS Разрешить всем отправителям WhatsApp без белого списка (true/false)
WHATSAPP_DEBUG Логировать сырые события сообщений в мосте для отладки (true/false)
SIGNAL_HTTP_URL HTTP-эндпоинт демона signal-cli (например, http://127.0.0.1:8080)
SIGNAL_ACCOUNT Номер телефона бота в формате E.164
SIGNAL_ALLOWED_USERS Номера телефонов E.164 или UUID (через запятую)
SIGNAL_GROUP_ALLOWED_USERS ID групп (через запятую) или * для всех групп
SIGNAL_HOME_CHANNEL_NAME Отображаемое имя для домашнего канала Signal
SIGNAL_IGNORE_STORIES Игнорировать истории/статусы Signal
SIGNAL_ALLOW_ALL_USERS Разрешить всем пользователям Signal без белого списка
TWILIO_ACCOUNT_SID SID аккаунта Twilio (общий с навыком телефонии)
TWILIO_AUTH_TOKEN Auth Token Twilio (общий с навыком телефонии; также используется для проверки подписи вебхука)
TWILIO_PHONE_NUMBER Номер телефона Twilio в формате E.164 (общий с навыком телефонии)
SMS_WEBHOOK_URL Публичный URL для проверки подписи Twilio — должен совпадать с URL вебхука в консоли Twilio (обязательно)
SMS_WEBHOOK_PORT Порт прослушивания вебхука для входящих SMS (по умолчанию: 8080)
SMS_WEBHOOK_HOST Адрес привязки вебхука (по умолчанию: 0.0.0.0)
SMS_INSECURE_NO_SIGNATURE Установите true для отключения проверки подписи Twilio (только для локальной разработки — не для продакшена)
SMS_ALLOWED_USERS Номера телефонов E.164 (через запятую), которым разрешено общаться
SMS_ALLOW_ALL_USERS Разрешить всем отправителям SMS без белого списка
SMS_HOME_CHANNEL Номер телефона для доставки задач cron/уведомлений
SMS_HOME_CHANNEL_NAME Отображаемое имя для домашнего канала SMS
EMAIL_ADDRESS Адрес электронной почты для адаптера шлюза Email
EMAIL_PASSWORD Пароль или пароль приложения для учётной записи email
EMAIL_IMAP_HOST IMAP-хост для адаптера email
EMAIL_IMAP_PORT Порт IMAP
EMAIL_SMTP_HOST SMTP-хост для адаптера email
EMAIL_SMTP_PORT Порт SMTP
EMAIL_ALLOWED_USERS Адреса email (через запятую), которым разрешено писать боту
EMAIL_HOME_ADDRESS Получатель по умолчанию для проактивной доставки email
EMAIL_HOME_ADDRESS_NAME Отображаемое имя для домашнего адреса email
EMAIL_POLL_INTERVAL Интервал опроса email в секундах
EMAIL_ALLOW_ALL_USERS Разрешить всех входящих отправителей email
DINGTALK_CLIENT_ID AppKey бота DingTalk из портала разработчика (open.dingtalk.com)
DINGTALK_CLIENT_SECRET AppSecret бота DingTalk из портала разработчика
DINGTALK_ALLOWED_USERS ID пользователей DingTalk (через запятую), которым разрешено писать боту
FEISHU_APP_ID App ID бота Feishu/Lark из open.feishu.cn
FEISHU_APP_SECRET App Secret бота Feishu/Lark
FEISHU_DOMAIN feishu (Китай) или lark (международный). По умолчанию: feishu
FEISHU_CONNECTION_MODE websocket (рекомендуется) или webhook. По умолчанию: websocket
FEISHU_ENCRYPT_KEY Опциональный ключ шифрования для режима вебхука
FEISHU_VERIFICATION_TOKEN Опциональный токен проверки для режима вебхука
FEISHU_ALLOWED_USERS ID пользователей Feishu (через запятую), которым разрешено писать боту
FEISHU_ALLOW_BOTS none (по умолчанию) / mentions / all — принимать входящие сообщения от других ботов. См. bot-to-bot messaging
FEISHU_REQUIRE_MENTION true (по умолчанию) / false — требуется ли @упоминание бота в групповых сообщениях. Переопределяется для каждого чата через group_rules.<chat_id>.require_mention.
FEISHU_HOME_CHANNEL ID чата Feishu для доставки cron и уведомлений
WECOM_BOT_ID ID AI-бота WeCom из консоли администратора
WECOM_SECRET Секрет AI-бота WeCom
WECOM_WEBSOCKET_URL Пользовательский URL WebSocket (по умолчанию: wss://openws.work.weixin.qq.com)
WECOM_ALLOWED_USERS ID пользователей WeCom (через запятую), которым разрешено писать боту
WECOM_HOME_CHANNEL ID чата WeCom для доставки cron и уведомлений
WECOM_CALLBACK_CORP_ID Corp ID предприятия WeCom для callback-приложения
WECOM_CALLBACK_CORP_SECRET Corp secret для callback-приложения
WECOM_CALLBACK_AGENT_ID Agent ID callback-приложения
WECOM_CALLBACK_TOKEN Токен проверки callback
WECOM_CALLBACK_ENCODING_AES_KEY AES-ключ для шифрования callback
WECOM_CALLBACK_HOST Адрес привязки сервера callback (по умолчанию: 0.0.0.0)
WECOM_CALLBACK_PORT Порт сервера callback (по умолчанию: 8645)
WECOM_CALLBACK_ALLOWED_USERS ID пользователей (через запятую) для белого списка
WECOM_CALLBACK_ALLOW_ALL_USERS Установите true, чтобы разрешить всех пользователей без белого списка
WEIXIN_ACCOUNT_ID ID учётной записи Weixin, полученный через QR-вход через API iLink Bot
WEIXIN_TOKEN Токен аутентификации Weixin, полученный через QR-вход через API iLink Bot
WEIXIN_BASE_URL Переопределение базового URL API iLink Bot Weixin (по умолчанию: https://ilinkai.weixin.qq.com)
WEIXIN_CDN_BASE_URL Переопределение базового URL CDN Weixin для медиа (по умолчанию: https://novac2c.cdn.weixin.qq.com/c2c)
WEIXIN_DM_POLICY Политика личных сообщений: open, allowlist, pairing, disabled (по умолчанию: open)
WEIXIN_GROUP_POLICY Политика групповых сообщений: open, allowlist, disabled (по умолчанию: disabled)
WEIXIN_ALLOWED_USERS ID пользователей Weixin (через запятую), которым разрешено писать боту в ЛС
WEIXIN_GROUP_ALLOWED_USERS ID групповых чатов Weixin (через запятую, не ID участников), которым разрешено взаимодействовать с ботом. Название переменной устаревшее — ожидаются ID групп. Работает только когда iLink действительно доставляет групповые события; QR-логин iLink-боты (...@im.bot) обычно не получают обычные групповые сообщения WeChat.
WEIXIN_HOME_CHANNEL ID чата Weixin для доставки cron и уведомлений
WEIXIN_HOME_CHANNEL_NAME Отображаемое имя для домашнего канала Weixin
WEIXIN_ALLOW_ALL_USERS Разрешить всех пользователей Weixin без белого списка (true/false)
BLUEBUBBLES_SERVER_URL URL сервера BlueBubbles (например, http://192.168.1.10:1234)
BLUEBUBBLES_PASSWORD Пароль сервера BlueBubbles
BLUEBUBBLES_WEBHOOK_HOST Адрес привязки прослушивателя вебхука (по умолчанию: 127.0.0.1)
BLUEBUBBLES_WEBHOOK_PORT Порт прослушивателя вебхука (по умолчанию: 8645)
BLUEBUBBLES_HOME_CHANNEL Телефон/email для доставки cron/уведомлений
BLUEBUBBLES_ALLOWED_USERS Авторизованные пользователи (через запятую)
BLUEBUBBLES_ALLOW_ALL_USERS Разрешить всех пользователей (true/false)
QQ_APP_ID App ID QQ-бота из q.qq.com
QQ_CLIENT_SECRET App Secret QQ-бота из q.qq.com
QQ_STT_API_KEY API-ключ для внешнего запасного STT-провайдера (опционально, используется когда встроенный ASR QQ не возвращает текст)
QQ_STT_BASE_URL Базовый URL для внешнего STT-провайдера (опционально)
QQ_STT_MODEL Имя модели для внешнего STT-провайдера (опционально)
QQ_ALLOWED_USERS openID пользователей QQ (через запятую), которым разрешено писать боту
QQ_GROUP_ALLOWED_USERS ID групп QQ (через запятую) для доступа к @-сообщениям в группах
QQ_ALLOW_ALL_USERS Разрешить всех пользователей (true/false, переопределяет QQ_ALLOWED_USERS)
QQBOT_HOME_CHANNEL openID пользователя/группы QQ для доставки cron и уведомлений
QQBOT_HOME_CHANNEL_NAME Отображаемое имя для домашнего канала QQ
QQ_PORTAL_HOST Переопределение хоста портала QQ (установите sandbox.q.qq.com для маршрутизации через песочницу; по умолчанию: q.qq.com).
MATTERMOST_URL URL сервера Mattermost (например, https://mm.example.com)
MATTERMOST_TOKEN Токен бота или персональный токен доступа для Mattermost
MATTERMOST_ALLOWED_USERS ID пользователей Mattermost (через запятую), которым разрешено писать боту
MATTERMOST_HOME_CHANNEL ID канала для проактивной доставки сообщений (cron, уведомления)
MATTERMOST_REQUIRE_MENTION Требовать @упоминание в каналах (по умолчанию: true). Установите false для ответа на все сообщения.
MATTERMOST_FREE_RESPONSE_CHANNELS ID каналов (через запятую), где бот отвечает без @упоминания
MATTERMOST_REPLY_MODE Стиль ответа: thread (ответы в тредах) или off (плоские сообщения, по умолчанию)
MATRIX_HOMESERVER URL homeserver Matrix (например, https://matrix.org)
MATRIX_ACCESS_TOKEN Токен доступа Matrix для аутентификации бота
MATRIX_USER_ID ID пользователя Matrix (например, @hermes:matrix.org) — требуется для входа по паролю, опционально с токеном доступа
MATRIX_PASSWORD Пароль Matrix (альтернатива токену доступа)
MATRIX_ALLOWED_USERS ID пользователей Matrix (через запятую), которым разрешено писать боту (например, @alice:matrix.org)
MATRIX_HOME_ROOM ID комнаты для проактивной доставки сообщений (например, !abc123:matrix.org)
MATRIX_ENCRYPTION Включить сквозное шифрование (true/false, по умолчанию: false)
MATRIX_DEVICE_ID Стабильный ID устройства Matrix для сохранения E2EE между перезапусками (например, HERMES_BOT). Без этого ключи E2EE меняются при каждом запуске, и расшифровка исторических комнат нарушается.
MATRIX_REACTIONS Включить emoji-реакции жизненного цикла обработки на входящие сообщения (по умолчанию: true). Установите false для отключения.
MATRIX_REQUIRE_MENTION Требовать @упоминание в комнатах (по умолчанию: true). Установите false для ответа на все сообщения.
MATRIX_FREE_RESPONSE_ROOMS ID комнат (через запятую), где бот отвечает без @упоминания
MATRIX_AUTO_THREAD Автоматически создавать треды для сообщений в комнатах (по умолчанию: true)
MATRIX_DM_MENTION_THREADS Создавать тред, когда бота @упоминают в ЛС (по умолчанию: false)
MATRIX_RECOVERY_KEY Ключ восстановления для проверки кросс-подписи после ротации ключей устройства. Рекомендуется для E2EE-конфигураций с включённой кросс-подписью.
HASS_TOKEN Long-Lived Access Token Home Assistant (включает платформу HA + инструменты)
HASS_URL URL Home Assistant (по умолчанию: http://homeassistant.local:8123)
WEBHOOK_ENABLED Включить адаптер платформы вебхука (true/false)
WEBHOOK_PORT Порт HTTP-сервера для приёма вебхуков (по умолчанию: 8644)
WEBHOOK_SECRET Глобальный HMAC-секрет для проверки подписи вебхуков (используется как запасной, когда маршруты не задают свой собственный)
API_SERVER_ENABLED Включить API-сервер, совместимый с OpenAI (true/false). Работает параллельно с другими платформами.
API_SERVER_KEY Bearer-токен для аутентификации API-сервера. Обязателен для привязки не к loopback.
API_SERVER_CORS_ORIGINS Источники браузера (через запятую), которым разрешено вызывать API-сервер напрямую (например, http://localhost:3000,http://127.0.0.1:3000). По умолчанию: отключено.
API_SERVER_PORT Порт API-сервера (по умолчанию: 8642)
API_SERVER_HOST Хост/адрес привязки API-сервера (по умолчанию: 127.0.0.1). Используйте 0.0.0.0 для сетевого доступа — требуется API_SERVER_KEY и узкий белый список API_SERVER_CORS_ORIGINS.
API_SERVER_MODEL_NAME Имя модели, объявляемое на /v1/models. По умолчанию равно имени профиля (или hermes-agent для профиля по умолчанию). Полезно для многопользовательских конфигураций, где интерфейсы вроде Open WebUI требуют разные имена моделей для каждого подключения.
GATEWAY_PROXY_URL URL удалённого API-сервера Hermes для пересылки сообщений (режим прокси). Когда задан, шлюз обрабатывает только ввод/вывод платформы — вся работа агента делегируется удалённому серверу. Также настраивается через gateway.proxy_url в config.yaml.
GATEWAY_PROXY_KEY Bearer-токен для аутентификации на удалённом API-сервере в режиме прокси. Должен совпадать с API_SERVER_KEY на удалённом хосте.
MESSAGING_CWD Рабочая директория для терминальных команд в режиме мессенджеров (по умолчанию: ~)
GATEWAY_ALLOWED_USERS ID пользователей (через запятую), которым разрешено использование на всех платформах
GATEWAY_ALLOW_ALL_USERS Разрешить всех пользователей без белых списков (true/false, по умолчанию: false)
### Продвинутая настройка мессенджеров​
Продвинутые per-платформенные рычаги для регулировки пакетного отправителя исходящих сообщений. Большинству пользователей никогда не нужно их трогать; значения по умолчанию настроены так, чтобы соблюдать лимиты каждой платформы без ощущения задержек.
Переменная Описание
--- ---
HERMES_TELEGRAM_TEXT_BATCH_DELAY_SECONDS Окно ожидания перед отправкой накопленного фрагмента текста Telegram (по умолчанию: 0.6).
HERMES_TELEGRAM_TEXT_BATCH_SPLIT_DELAY_SECONDS Задержка между разделёнными фрагментами, когда одно сообщение Telegram превышает лимит длины (по умолчанию: 2.0).
HERMES_TELEGRAM_MEDIA_BATCH_DELAY_SECONDS Окно ожидания перед отправкой накопленных медиа Telegram (по умолчанию: 0.6).
HERMES_TELEGRAM_FOLLOWUP_GRACE_SECONDS Задержка перед отправкой дополнительного сообщения после завершения работы агента, чтобы избежать гонки с последним фрагментом стрима.
HERMES_TELEGRAM_HTTP_CONNECT_TIMEOUT / _READ_TIMEOUT / _WRITE_TIMEOUT / _POOL_TIMEOUT Переопределение тайм-аутов HTTP базовой библиотеки python-telegram-bot (секунды).
HERMES_TELEGRAM_HTTP_POOL_SIZE Максимальное количество одновременных HTTP-соединений с API Telegram.
HERMES_TELEGRAM_DISABLE_FALLBACK_IPS Отключить жёстко заданные запасные IP Cloudflare, используемые при сбое DNS (true/false).
HERMES_DISCORD_TEXT_BATCH_DELAY_SECONDS Окно ожидания перед отправкой накопленного фрагмента текста Discord (по умолчанию: 0.6).
HERMES_DISCORD_TEXT_BATCH_SPLIT_DELAY_SECONDS Задержка между разделёнными фрагментами, когда сообщение Discord превышает лимит длины (по умолчанию: 2.0).
HERMES_MATRIX_TEXT_BATCH_DELAY_SECONDS / _SPLIT_DELAY_SECONDS Аналоги Telegram для Matrix.
HERMES_FEISHU_TEXT_BATCH_DELAY_SECONDS / _SPLIT_DELAY_SECONDS / _MAX_CHARS / _MAX_MESSAGES Настройка пакетного отправителя Feishu — задержка, задержка разделения, макс. символов на сообщение, макс. сообщений в пакете.
HERMES_FEISHU_MEDIA_BATCH_DELAY_SECONDS Задержка отправки медиа Feishu.
HERMES_FEISHU_DEDUP_CACHE_SIZE Размер кеша дедупликации вебхуков Feishu (по умолчанию: 1024).
HERMES_WECOM_TEXT_BATCH_DELAY_SECONDS / _SPLIT_DELAY_SECONDS Настройка пакетного отправителя WeCom.
HERMES_VISION_DOWNLOAD_TIMEOUT Тайм-аут в секундах для загрузки изображения перед передачей vision-моделям (по умолчанию: 30).
HERMES_RESTART_DRAIN_TIMEOUT Шлюз: время ожидания в секундах завершения активных запусков при /restart до принудительного перезапуска (по умолчанию: 900).
HERMES_GATEWAY_PLATFORM_CONNECT_TIMEOUT Тайм-аут подключения для каждой платформы при запуске шлюза (секунды).
HERMES_GATEWAY_BUSY_INPUT_MODE Режим поведения шлюза по умолчанию при занятости: queue, steer или interrupt. Можно переопределить для каждого чата через /busy.
HERMES_GATEWAY_BUSY_ACK_ENABLED Отправляет ли шлюз подтверждающее сообщение (⚡/⏳/⏩), когда пользователь отправляет ввод, пока агент занят (по умолчанию: true). Установите false, чтобы отключить эти сообщения — ввод всё равно ставится в очередь/направляется/прерывает как обычно, только ответ в чате отключается. Перенесено из display.busy_ack_enabled в config.yaml.
HERMES_CRON_TIMEOUT Тайм-аут бездействия для запусков агента по cron в секундах (по умолчанию: 600). Агент может работать бесконечно, пока активно вызывает инструменты или получает токены стрима — это срабатывает только при бездействии. Установите 0 для отключения.
HERMES_CRON_SCRIPT_TIMEOUT Тайм-аут для скриптов предварительного запуска, прикреплённых к задачам cron, в секундах (по умолчанию: 120). Переопределите для скриптов, которым нужно больше времени (например, рандомизированные задержки для анти-бот тайминга). Также настраивается через cron.script_timeout_seconds в config.yaml.
HERMES_CRON_MAX_PARALLEL Максимальное количество параллельных задач cron за один тик (по умолчанию: 4).
## Поведение агента​
Переменная Описание
--- ---
HERMES_MAX_ITERATIONS Максимальное количество итераций вызова инструментов за один разговор (по умолчанию: 90)
HERMES_INFERENCE_MODEL Переопределение имени модели на уровне процесса (имеет приоритет над config.yaml для сессии). Также задаётся через флаг -m/--model.
HERMES_YOLO_MODE Установите 1 для пропуска запросов подтверждения опасных команд. Эквивалент --yolo.
HERMES_ACCEPT_HOOKS Автоматически принимать любые неизвестные хуки оболочки, объявленные в config.yaml, без TTY-запроса. Эквивалент --accept-hooks или hooks_auto_accept: true.
HERMES_IGNORE_USER_CONFIG Пропустить ~/.hermes/config.yaml и использовать встроенные значения по умолчанию (учётные данные в .env всё равно загружаются). Эквивалент --ignore-user-config.
HERMES_IGNORE_RULES Пропустить авто-внедрение AGENTS.md, SOUL.md, .cursorrules, памяти и предзагруженных навыков. Эквивалент --ignore-rules.
HERMES_MD_NAMES Список имён файлов правил (через запятую) для авто-внедрения (по умолчанию: AGENTS.md,CLAUDE.md,.cursorrules,SOUL.md).
HERMES_TOOL_PROGRESS Устаревшая переменная совместимости для отображения прогресса инструментов. Предпочтительнее использовать display.tool_progress в config.yaml.
HERMES_TOOL_PROGRESS_MODE Устаревшая переменная совместимости для режима прогресса инструментов. Предпочтительнее использовать display.tool_progress в config.yaml.
HERMES_HUMAN_DELAY_MODE Темп ответа: off/natural/custom
HERMES_HUMAN_DELAY_MIN_MS Минимум диапазона пользовательской задержки (мс)
HERMES_HUMAN_DELAY_MAX_MS Максимум диапазона пользовательской задержки (мс)
HERMES_QUIET Подавить несущественный вывод (true/false)
HERMES_API_TIMEOUT Тайм-аут вызова LLM API в секундах (по умолчанию: 1800)
HERMES_API_CALL_STALE_TIMEOUT Тайм-аут устаревшего нестримингового вызова в секундах (по умолчанию: 300). Автоматически отключается для локальных провайдеров, если оставлено пустым. Также настраивается через providers.<id>.stale_timeout_seconds или providers.<id>.models.<model>.stale_timeout_seconds в config.yaml.
HERMES_STREAM_READ_TIMEOUT Тайм-аут чтения стримингового сокета в секундах (по умолчанию: 120). Автоматически увеличивается до HERMES_API_TIMEOUT для локальных провайдеров. Увеличьте, если локальные LLM выходят по тайм-ауту во время длительной генерации кода.
HERMES_STREAM_STALE_TIMEOUT Тайм-аут обнаружения устаревшего стрима в секундах (по умолчанию: 180). Автоматически отключается для локальных провайдеров. Вызывает завершение соединения, если в течение этого окна не поступает чанков.
HERMES_STREAM_RETRIES Количество попыток переподключения в середине стрима при временных сетевых ошибках (по умолчанию: 3).
HERMES_AGENT_TIMEOUT Тайм-аут бездействия шлюза для запущенного агента в секундах (по умолчанию: 900). Сбрасывается при каждом вызове инструмента и полученном токене стрима. Установите 0 для отключения.
HERMES_AGENT_TIMEOUT_WARNING Шлюз: отправить предупреждение после этого количества секунд бездействия (по умолчанию: 75% от HERMES_AGENT_TIMEOUT).
HERMES_AGENT_NOTIFY_INTERVAL Шлюз: интервал в секундах между уведомлениями о прогрессе при длительных запусках агента.
HERMES_CHECKPOINT_TIMEOUT Тайм-аут для создания файловой точки сохранения в секундах (по умолчанию: 30).
HERMES_EXEC_ASK Включить запросы подтверждения выполнения в режиме шлюза (true/false)
HERMES_ENABLE_PROJECT_PLUGINS Включить авто-обнаружение локальных плагинов репозитория из ./.hermes/plugins/ (true/false, по умолчанию: false)
HERMES_BACKGROUND_NOTIFICATIONS Режим уведомлений о фоновых процессах в шлюзе: all (по умолчанию), result, error, off
HERMES_EPHEMERAL_SYSTEM_PROMPT Эфемерный системный промпт, внедряемый при вызове API (никогда не сохраняется в сессиях)
HERMES_PREFILL_MESSAGES_FILE Путь к JSON-файлу с эфемерными prefill-сообщениями, внедряемыми при вызове API.
HERMES_ALLOW_PRIVATE_URLS true/false — разрешить инструментам загружать URL localhost/частной сети. По умолчанию отключено в режиме шлюза.
HERMES_REDACT_SECRETS true/false — управление редактированием секретов в логах и передаваемых выводах (по умолчанию: true).
HERMES_WRITE_SAFE_ROOT Опциональный префикс директории, ограничивающий запись write_file/patch; пути вне его требуют подтверждения.
HERMES_DISABLE_FILE_STATE_GUARD Установите 1 для отключения проверки «файл изменился с момента вашего чтения» для patch/write_file.
HERMES_CORE_TOOLS Переопределение канонического списка основных инструментов (через запятую; продвинутое, редко требуется).
HERMES_BUNDLED_SKILLS Переопределение списка встроенных навыков, загружаемых при запуске (через запятую).
HERMES_OPTIONAL_SKILLS Список имён опциональных навыков (через запятую) для авто-установки при первом запуске.
HERMES_DEBUG_INTERRUPT Установите 1 для подробного логирования прерываний/отмен в agent.log.
HERMES_DUMP_REQUESTS Сохранять полезную нагрузку API-запросов в лог-файлы (true/false)
HERMES_DUMP_REQUEST_STDOUT Сохранять полезную нагрузку API-запросов в stdout вместо лог-файлов.
HERMES_OAUTH_TRACE Установите 1 для логирования обмена и обновления OAuth-токенов. Включает редактированную информацию о времени.
HERMES_OAUTH_FILE Переопределение пути для хранения OAuth-учётных данных (по умолчанию: ~/.hermes/auth.json).
HERMES_AGENT_HELP_GUIDANCE Добавить дополнительный направляющий текст в системный промпт для пользовательских развёртываний.
HERMES_AGENT_LOGO Переопределение ASCII-баннера с логотипом при запуске CLI.
DELEGATION_MAX_CONCURRENT_CHILDREN Максимальное количество параллельных подагентов на один пакет delegate_task (по умолчанию: 3, минимум 1, без верхнего предела). Также настраивается через delegation.max_concurrent_children в config.yaml — значение из конфига имеет приоритет.
## Интерфейс​
Переменная Описание
--- ---
HERMES_TUI Запустить TUI вместо классического CLI, если установлено в 1. Эквивалент флага --tui.
HERMES_TUI_DIR Путь к предварительно собранной директории ui-tui/ (должна содержать dist/entry.js и заполненную node_modules). Используется дистрибутивами и Nix для пропуска npm install при первом запуске.
HERMES_TUI_RESUME Возобновить конкретную TUI-сессию по ID при запуске. Если задано, hermes --tui пропускает создание новой сессии и восстанавливает указанную — полезно для повторного подключения после отключения или сбоя терминала.
HERMES_TUI_THEME Принудительная цветовая тема TUI: light, dark или сырой 6-символьный шестнадцатеричный цвет фона (например, ffffff или 1a1a2e). Если не задано, Hermes определяет автоматически через COLORFGBG и запросы фона терминала; эта переменная переопределяет определение на терминалах (Ghostty, Warp, iTerm2 и т.д.), которые не устанавливают COLORFGBG.
HERMES_INFERENCE_MODEL Принудительная модель для hermes -z / hermes chat без изменения config.yaml. Сочетается с HERMES_INFERENCE_PROVIDER. Полезно для вызывающих скриптов (свипер, CI, пакетные запуски), которым нужно переопределять модель по умолчанию для каждого запуска.
## Настройки сессий​
Переменная Описание
--- ---
SESSION_IDLE_MINUTES Сброс сессий после N минут бездействия (по умолчанию: 1440)
SESSION_RESET_HOUR Час ежедневного сброса в 24-часовом формате (по умолчанию: 4 = 4:00 утра)
## Сжатие контекста (только config.yaml)​
Сжатие контекста настраивается исключительно через config.yaml — для него нет переменных окружения. Пороговые значения находятся в блоке compression:, а модель суммаризации/провайдер — в auxiliary.compression:.
[code]
compression:
enabled: true
threshold: 0.50
target_ratio: 0.20 # доля порога, сохраняемая как недавний хвост
protect_last_n: 20 # минимальное количество последних сообщений для сохранения без сжатия

[/code] Миграция устаревших конфигов Старые конфиги с compression.summary_model, compression.summary_provider и compression.summary_base_url автоматически переносятся в auxiliary.compression.* при первой загрузке.

Переопределение вспомогательных задач​

Переменная Описание
AUXILIARY_VISION_PROVIDER Переопределение провайдера для задач vision
AUXILIARY_VISION_MODEL Переопределение модели для задач vision
AUXILIARY_VISION_BASE_URL Прямой эндпоинт, совместимый с OpenAI, для задач vision
AUXILIARY_VISION_API_KEY API-ключ в паре с AUXILIARY_VISION_BASE_URL
AUXILIARY_WEB_EXTRACT_PROVIDER Переопределение провайдера для извлечения/суммаризации веб-страниц
AUXILIARY_WEB_EXTRACT_MODEL Переопределение модели для извлечения/суммаризации веб-страниц
AUXILIARY_WEB_EXTRACT_BASE_URL Прямой эндпоинт, совместимый с OpenAI, для извлечения/суммаризации веб-страниц
AUXILIARY_WEB_EXTRACT_API_KEY API-ключ в паре с AUXILIARY_WEB_EXTRACT_BASE_URL
Для прямых эндпоинтов, специфичных для задачи, Hermes использует настроенный API-ключ задачи или OPENAI_API_KEY. Он не использует повторно OPENROUTER_API_KEY для этих пользовательских эндпоинтов.
## Запасные провайдеры (только config.yaml)​
Цепочка запасных провайдеров для основной модели настраивается исключительно через config.yaml — для неё нет переменных окружения. Добавьте список fallback_providers верхнего уровня с ключами provider и model, чтобы включить автоматическое переключение при ошибках вашей основной модели.
[code]
fallback_providers:
- provider: openrouter
model: anthropic/claude-sonnet-4

[/code] Старая форма fallback_model для одного провайдера всё ещё читается для обратной совместимости, но для новых конфигураций следует использовать fallback_providers. См. Fallback Providers для получения полной информации.

Маршрутизация провайдеров (только config.yaml)​

Эти настройки размещаются в ~/.hermes/config.yaml в разделе provider_routing: Ключ| Описание
---|---
sort| Сортировать провайдеров: "price" (по умолчанию), "throughput" или "latency"
only| Список разрешённых идентификаторов провайдеров (например, [\"anthropic\", \"google\"])
ignore| Список идентификаторов провайдеров для пропуска
order| Список идентификаторов провайдеров для последовательного перебора
require_parameters| Использовать только провайдеров, поддерживающих все параметры запроса (true/false)
data_collection| "allow" (по умолчанию) или "deny" для исключения провайдеров, хранящих данные
tip Используйте hermes config set для установки переменных окружения — он автоматически сохраняет их в нужный файл (.env для секретов, config.yaml для всего остального). * LLM-провайдеры * Аутентификация провайдеров (OAuth) * Tool API * Langfuse Observability * Nous Tool Gateway * Терминальный бэкенд * SSH-бэкенд * Ресурсы контейнеров (Docker, Singularity, Modal, Daytona) * Постоянная оболочка * Мессенджеры * Продвинутая настройка мессенджеров * Поведение агента * Интерфейс * Настройки сессий * Сжатие контекста (только config.yaml) * Переопределение вспомогательных задач * Запасные провайдеры (только config.yaml) * Маршрутизация провайдеров (только config.yaml)