FAQ и устранение неполадок
Краткие ответы и исправления для самых распространённых вопросов и проблем.
Часто задаваемые вопросы
Заголовок раздела «Часто задаваемые вопросы»Какие LLM провайдеры работают с Hermes?
Заголовок раздела «Какие LLM провайдеры работают с Hermes?»Hermes Agent работает с любым API, совместимым с OpenAI. Поддерживаемые провайдеры:
- OpenRouter — доступ к сотням моделей через один ключ API (рекомендуется для гибкости)
- Nous Portal — собственная точка инференса Nous Research
- OpenAI — GPT-5.4, GPT-5-codex, GPT-4.1, GPT-4o и другие
- Anthropic — модели Claude: прямой API, OAuth через
hermes login anthropic, OpenRouter или любой совместимый прокси - Google — модели Gemini: прямой API через провайдер
gemini, OAuth-провайдерgoogle-gemini-cli, OpenRouter или совместимый прокси - z.ai / ZhipuAI — модели GLM
- Kimi / Moonshot AI — модели Kimi
- MiniMax — глобальная и китайская точки доступа
- Локальные модели — через Ollama, vLLM, llama.cpp, SGLang или любой OpenAI-совместимый сервер
Установите своего провайдера с помощью hermes model или отредактировав ~/.hermes/.env. Все ключи провайдеров см. в справочнике Environment Variables.
Работает ли это в Windows?
Заголовок раздела «Работает ли это в Windows?»Не нативно. Hermes Agent требует Unix-подобное окружение. В Windows установите WSL2 и запускайте Hermes внутри него. Стандартная команда установки отлично работает в WSL2:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bashЯ запускаю Hermes в WSL2. Как лучше всего управлять моим обычным Chrome в Windows?
Заголовок раздела «Я запускаю Hermes в WSL2. Как лучше всего управлять моим обычным Chrome в Windows?»Лучше использовать MCP-мост, а не /browser connect.
Рекомендуемый подход:
- запускайте Hermes внутри WSL2
- продолжайте использовать свой обычный Chrome в Windows, в котором уже выполнен вход
- добавьте
chrome-devtools-mcpкак сервер MCP черезcmd.exeилиpowershell.exe - позвольте Hermes использовать получившиеся браузерные инструменты MCP
Это надёжнее, чем пытаться подключить встроенный браузерный транспорт Hermes напрямую через границу WSL2/Windows.
См.:
Работает ли это на Android / Termux?
Заголовок раздела «Работает ли это на Android / Termux?»Да — у Hermes теперь есть протестированный путь установки через Termux для Android-телефонов.
Быстрая установка:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bashПолные явные ручные шаги, поддерживаемые дополнения и текущие ограничения см. в руководстве по Termux.
Важное ограничение: полное дополнение .[all] сейчас недоступно на Android, потому что дополнение voice зависит от faster-whisper → ctranslate2, а ctranslate2 не публикует Android wheels. Вместо этого используйте протестированное дополнение .[termux].
Куда-либо отправляются мои данные?
Заголовок раздела «Куда-либо отправляются мои данные?»Вызовы API идут только к настроенному вами провайдеру LLM (например, OpenRouter, ваш локальный экземпляр Ollama). Hermes Agent не собирает телеметрию, данные об использовании или аналитику. Ваши разговоры, память и навыки хранятся локально в ~/.hermes/.
Можно ли использовать это офлайн / с локальными моделями?
Заголовок раздела «Можно ли использовать это офлайн / с локальными моделями?»Да. Запустите hermes model, выберите Custom endpoint и введите URL вашего сервера:
hermes model# Select: Custom endpoint (enter URL manually)# API key: ollama# Model name: qwen3.5:27b# Context length: 32768 ← set this to match your server's actual context windowИли настройте это напрямую в config.yaml:
model: default: qwen3.5:27b provider: custom base_url: http://localhost:11434/v1Hermes сохраняет endpoint, провайдер и базовый URL в config.yaml, поэтому настройки сохраняются после перезапуска. Если на вашем локальном сервере загружена ровно одна модель, /model custom определит её автоматически. Вы также можете задать provider: custom в config.yaml — это полноценный провайдер, а не псевдоним чего-либо ещё.
Это работает с Ollama, vLLM, llama.cpp server, SGLang, LocalAI и другими. Подробности см. в руководстве по конфигурации.
:::tip Пользователи Ollama
Если вы задаёте пользовательский num_ctx в Ollama (например, ollama run --num_ctx 16384), обязательно установите соответствующую длину контекста в Hermes — /api/show у Ollama сообщает максимальный контекст модели, а не фактический num_ctx, который вы настроили.
:::
:::tip Тайм-ауты с локальными моделями
Hermes автоматически определяет локальные endpoint’ы и ослабляет тайм-ауты стриминга (тайм-аут чтения увеличен с 120s до 1800s, обнаружение зависшего потока отключено). Если вы всё ещё сталкиваетесь с тайм-аутами на очень больших контекстах, установите HERMES_STREAM_READ_TIMEOUT=1800 в вашем .env. Подробности см. в руководстве по локальному LLM.
:::
Сколько это стоит?
Заголовок раздела «Сколько это стоит?»Сам Hermes Agent бесплатный и с открытым исходным кодом (лицензия MIT). Вы платите только за использование LLM API у выбранного провайдера. Локальные модели полностью бесплатны в запуске.
Могут ли несколько человек использовать один экземпляр?
Заголовок раздела «Могут ли несколько человек использовать один экземпляр?»Да. Шлюз сообщений позволяет нескольким пользователям работать с одним экземпляром Hermes Agent через Telegram, Discord, Slack, WhatsApp или Home Assistant. Доступ ограничивается allowlist-списками с ID пользователей и привязкой личных сообщений: доступ получает первый пользователь, который написал боту.
В чём разница между памятью и навыками?
Заголовок раздела «В чём разница между памятью и навыками?»- Память хранит факты — то, что агент знает о вас, ваших проектах и предпочтениях. Воспоминания автоматически извлекаются на основе релевантности.
- Навыки хранят процедуры — пошаговые инструкции о том, как что-то делать. Навыки вызываются, когда агент сталкивается с похожей задачей.
Оба сохраняются между сессиями. Подробности см. в разделах Память и Навыки.
Можно ли использовать это в моём собственном Python-проекте?
Заголовок раздела «Можно ли использовать это в моём собственном Python-проекте?»Да. Импортируйте класс AIAgent и используйте Hermes программно:
from run_agent import AIAgent
agent = AIAgent(model="anthropic/claude-opus-4.7")response = agent.chat("Explain quantum computing briefly")Полное описание использования API см. в руководстве по библиотеке Python.
Устранение неполадок
Заголовок раздела «Устранение неполадок»Проблемы установки
Заголовок раздела «Проблемы установки»hermes: command not found после установки
Заголовок раздела «hermes: command not found после установки»Причина: оболочка ещё не перечитала обновлённый PATH.
Решение:
# Перечитать профиль оболочкиsource ~/.bashrc # bashsource ~/.zshrc # zsh
# Или просто открыть новый терминалЕсли это всё ещё не работает, проверьте место установки:
which hermesls ~/.local/bin/hermesСлишком старая версия Python
Заголовок раздела «Слишком старая версия Python»Причина: Hermes требует Python 3.11 или новее.
Решение:
python3 --version
# Проверить текущую версию
# Установить более новую версию Pythonsudo apt install python3.12
# Ubuntu/Debianbrew install python@3.12
# macOSУстановщик обрабатывает это автоматически — если вы видите эту ошибку при ручной установке, сначала обновите Python.
Команды терминала показывают node: command not found (или nvm, pyenv, asdf, …)
Заголовок раздела «Команды терминала показывают node: command not found (или nvm, pyenv, asdf, …)»Причина: Hermes создаёт снимок окружения для каждой сессии, один раз запуская bash -l при старте. Bash login shell читает /etc/profile, ~/.bash_profile и ~/.profile, но не подключает ~/.bashrc — поэтому инструменты, которые устанавливают себя туда (nvm, asdf, pyenv, cargo, пользовательские экспорты PATH), остаются невидимыми для снимка. Чаще всего это происходит, когда Hermes запускается под systemd или в минимальной shell, где ничего заранее не загрузило профиль интерактивной shell.
Решение: по умолчанию Hermes сам подключает ~/.bashrc. Если этого недостаточно, например у вас PATH живёт в ~/.zshrc или nvm подключается отдельным файлом, перечислите дополнительные файлы в ~/.hermes/config.yaml:
terminal: shell_init_files:
- ~/.zshrc
# zsh users: pulls zsh-managed PATH into the bash snapshot - ~/.nvm/nvm.sh
# direct nvm init (works regardless of shell) - /etc/profile.d/cargo.sh
# system-wide rc files
# When this list is set, the default ~/.bashrc auto-source is NOT added —
# include it explicitly if you want both:
#
- ~/.bashrc
#
- ~/.zshrc```Отсутствующие файлы пропускаются без сообщений. Подключение выполняется в bash, поэтому файлы, зависящие от синтаксиса только для zsh, могут вызывать ошибки — если это важно, подключайте только часть, задающую PATH (например, напрямую `nvm.sh` от nvm), а не весь rc-файл.
Чтобы отключить поведение auto-source (только строгая семантика login-shell):
```yamlterminal: auto_source_bashrc: falseuv: command not found
Заголовок раздела «uv: command not found»Причина: Менеджер пакетов uv не установлен или отсутствует в PATH.
Решение:
curl -LsSf https://astral.sh/uv/install.sh | shsource ~/.bashrcОшибки Permission denied во время установки
Заголовок раздела «Ошибки Permission denied во время установки»Причина: Недостаточно прав для записи в каталог установки.
Решение:
# Don't use sudo with the installer — it installs to ~/.local/bin# If you previously installed with sudo, clean up:sudo rm /usr/local/bin/hermes# Then re-run the standard installercurl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bashПроблемы с провайдерами и моделями
Заголовок раздела «Проблемы с провайдерами и моделями»/model показывает только одного провайдера / не удаётся переключать провайдеров
Заголовок раздела «/model показывает только одного провайдера / не удаётся переключать провайдеров»Причина: /model (внутри чат-сессии) может переключаться только между провайдерами, которые вы уже настроили. Если у вас настроен только OpenRouter, то /model будет показывать только его.
Решение: Выйдите из сессии и используйте hermes model в терминале, чтобы добавить новых провайдеров:
# Exit the Hermes chat session first (Ctrl+C or /quit)
# Run the full provider setup wizardhermes model
# This lets you: add providers, run OAuth, enter API keys, configure endpointsПосле добавления нового провайдера через hermes model запустите новую чат-сессию — теперь /model покажет всех настроенных провайдеров.
:::tip Краткая справка
| Хотите… | Используйте |
|---|---|
| Добавить нового провайдера | hermes model (из терминала) |
| Enter/change ключи API | hermes model (из терминала) |
| Переключить модель в середине сессии | /model <name> (внутри сессии) |
| Переключиться на другого настроенного провайдера | /model provider:model (внутри сессии) |
| ::: |
Ключ API не работает
Заголовок раздела «Ключ API не работает»Причина: Ключ отсутствует, истёк, задан неверно или относится не к тому провайдеру.
Решение:
bash# Проверьте вашу конфигурациюhermes config show
# Перенастройте своего провайдераhermes model
# Или задайте напрямуюhermes config set OPENROUTER_API_KEY sk-or-v1-xxxxxxxxxxxxMake sure the key matches the provider. An OpenAI key won’t work with OpenRouter and vice versa. Check ~/.hermes/.env for conflicting entries.
Model not available / model not found
Заголовок раздела «Model not available / model not found»Cause: The model identifier is incorrect or not available on your provider.
Solution:
bash# Показать доступные модели для вашего провайдераhermes model
# Установить корректную модельhermes config set HERMES_MODEL anthropic/claude-opus-4.7
# Или указать для конкретной сессииhermes chat --model openrouter/meta-llama/llama-3.1-70b-instructRate limiting (429 errors)
Заголовок раздела «Rate limiting (429 errors)»Cause: You’ve exceeded your provider’s rate limits.
Solution: Wait a moment and retry. For sustained usage, consider:
- Upgrading your provider plan
- Switching to a different model or provider
- Using
hermes chat --provider <alternative>to route to a different backend
Context length exceeded
Заголовок раздела «Context length exceeded»Cause: The conversation has grown too long for the model’s context window, or Hermes detected the wrong context length for your model.
Solution:
bash# Сжать текущую сессию/compress
# Или начать новую сессиюhermes chat
# Использовать модель с большим окном контекстаhermes chat --model openrouter/google/gemini-3-flash-previewIf this happens on the first long conversation, Hermes may have the wrong context length for your model. Check what it detected:
Look at the CLI startup line — it shows the detected context length (e.g., 📊 Context limit: 128000 tokens). You can also check with /usage during a session.
To fix context detection, set it explicitly:
yaml# В ~/.hermes/config.yamlmodel: default: your-model-name context_length: 131072
# фактическое окно контекста вашей моделиOr for custom endpoints, add it per-model:
yamlcustom_providers:
- name: "My Server" base_url: "http://localhost:11434/v1" models: qwen3.5:27b: context_length: 32768См. Определение длины контекста, чтобы понять, как работает автоопределение и какие есть варианты переопределения.
Проблемы терминала
Заголовок раздела «Проблемы терминала»Команда заблокирована как опасная
Заголовок раздела «Команда заблокирована как опасная»Причина: Hermes обнаружил потенциально разрушительную команду (например, rm -rf, DROP TABLE). Это функция безопасности.
Решение: Когда появится prompt, проверьте команду и введите y, чтобы одобрить её. Вы также можете:
- Попросить агента использовать более безопасную альтернативу
- Посмотреть полный список опасных шаблонов в документации по безопасности
sudo не работает через messaging gateway
Заголовок раздела «sudo не работает через messaging gateway»Причина: Messaging gateway работает без интерактивного терминала, поэтому sudo не может запросить пароль.
Решение:
- Избегайте
sudoв сообщениях — попросите агента найти альтернативы - Если вам необходимо использовать
sudo, настройте passwordless sudo для определённых команд в/etc/sudoers - Или переключитесь на интерфейс терминала для административных задач:
hermes chat
Docker backend не подключается
Заголовок раздела «Docker backend не подключается»Причина: Docker daemon не запущен, или у пользователя нет прав.
Решение:
# Check Docker is runningdocker info
# Add your user to the docker groupsudo usermod -aG docker $USERnewgrp docker
# Verifydocker run hello-worldПроблемы с сообщениями
Заголовок раздела «Проблемы с сообщениями»Бот не отвечает на сообщения
Заголовок раздела «Бот не отвечает на сообщения»Причина: Бот не запущен, не авторизован, или вашего пользователя нет в allowlist.
Решение:
# Check if the gateway is runninghermes gateway status
# Start the gatewayhermes gateway start
# Check logs for errorscat ~/.hermes/logs/gateway.log | tail -50Сообщения не доставляются
Заголовок раздела «Сообщения не доставляются»Причина: Проблемы с сетью, срок действия токена бота истёк, или webhook платформы настроен неверно.
Решение:
- Убедитесь, что токен вашего бота действителен, с помощью
hermes gateway setup - Проверьте логи gateway:
cat ~/.hermes/logs/gateway.log | tail -50 - Для платформ на основе webhook (Slack, WhatsApp) убедитесь, что ваш сервер доступен публично
Путаница с allowlist — кто может общаться с ботом?
Заголовок раздела «Путаница с allowlist — кто может общаться с ботом?»Причина: Режим авторизации определяет, кто получает доступ.
Решение:| Режим | Как это работает | |------|-------------| | Allowlist | Взаимодействовать могут только ID пользователей, перечисленные в config | | DM pairing | Первый пользователь, написавший в DM, получает эксклюзивный доступ | | Open | Взаимодействовать может любой (не рекомендуется для production) |
Настройте это в ~/.hermes/config.yaml в параметрах вашего gateway. См. документацию по Messaging.
Gateway не запускается
Заголовок раздела «Gateway не запускается»Причина: Отсутствуют зависимости, есть конфликты портов или неправильно настроены токены.
Решение:
# Install core messaging gateway dependenciespip install "hermes-agent[messaging]"
# Telegram, Discord, Slack, and shared gateway deps
# Check for port conflictslsof -i :8080
# Verify configurationhermes config showWSL: Gateway продолжает отключаться или hermes gateway start не работает
Заголовок раздела «WSL: Gateway продолжает отключаться или hermes gateway start не работает»Причина: Поддержка systemd в WSL ненадежна. Во многих установках WSL2 systemd не включен, и даже когда он включен, сервисы могут не переживать перезапуски WSL или отключения Windows при простое.
Решение: Используйте режим foreground вместо сервиса systemd:
# Option 1: Direct foreground (simplest)hermes gateway run
# Option 2: Persistent via tmux (survives terminal close)tmux new -s hermes 'hermes gateway run'# Reattach later: tmux attach -t hermes
# Option 3: Background via nohupnohup hermes gateway run > ~/.hermes/logs/gateway.log 2>&1 &Если вы все же хотите попробовать systemd, убедитесь, что он включен:
- Откройте
/etc/wsl.conf(создайте, если его не существует) - Добавьте:
[boot] systemd=true- Из PowerShell:
wsl --shutdown - Снова откройте ваш терминал WSL
- Проверьте:
systemctl is-system-runningдолжно показать “running” или “degraded”
:::tip Автозапуск при загрузке Windows Для надежного автозапуска используйте Windows Task Scheduler, чтобы запускать WSL + gateway при входе в систему:
- Создайте задачу, которая запускает
wsl -d Ubuntu -- bash -lc 'hermes gateway run' - Установите срабатывание при входе пользователя в систему :::
macOS: Node.js / ffmpeg / другие инструменты не находятся gatewayПричина: сервисы launchd наследуют минимальный PATH (/usr/bin:/bin:/usr/sbin:/sbin), который не включает Homebrew, nvm, cargo или другие каталоги инструментов, установленных пользователем. Это часто ломает мост WhatsApp (node not found) или расшифровку голоса (ffmpeg not found).
Заголовок раздела «macOS: Node.js / ffmpeg / другие инструменты не находятся gatewayПричина: сервисы launchd наследуют минимальный PATH (/usr/bin:/bin:/usr/sbin:/sbin), который не включает Homebrew, nvm, cargo или другие каталоги инструментов, установленных пользователем. Это часто ломает мост WhatsApp (node not found) или расшифровку голоса (ffmpeg not found).»Решение: gateway захватывает ваш shell PATH, когда вы запускаете hermes gateway install. Если вы установили инструменты после настройки gateway, повторно запустите установку, чтобы захватить обновлённый PATH:
hermes gateway install
# Re-snapshots your current PATHhermes gateway start
# Detects the updated plist and reloadsВы можете проверить, что plist содержит правильный PATH:
/usr/libexec/PlistBuddy -c "Print :EnvironmentVariables:PATH" \ ~/Library/LaunchAgents/ai.hermes.gateway.plistПроблемы с производительностью
Заголовок раздела «Проблемы с производительностью»Медленные ответы
Заголовок раздела «Медленные ответы»Причина: Большая модель, удалённый сервер API или тяжёлый системный prompt с множеством инструментов.
Решение:
- Попробуйте модель faster/smaller:
hermes chat --model openrouter/meta-llama/llama-3.1-8b-instruct - Уменьшите активные наборы инструментов:
hermes chat -t "terminal" - Проверьте задержку сети до провайдера
- Для локальных моделей убедитесь, что у вас достаточно GPU VRAM
Высокое использование токенов
Заголовок раздела «Высокое использование токенов»Причина: Длинные разговоры, многословные системные prompt’ы или множество вызовов инструментов, накапливающих контекст.
Решение:
# Compress the conversation to reduce tokens/compress
# Check session token usage/usageСессия становится слишком длинной
Заголовок раздела «Сессия становится слишком длинной»Причина: Длительные разговоры накапливают сообщения и выводы инструментов, приближаясь к пределам контекста.
Решение:
# Compress current session (preserves key context)/compress
# Start a new session with a reference to the old onehermes chat
# Resume a specific session later if neededhermes chat --continueПроблемы с MCP
Заголовок раздела «Проблемы с MCP»Сервер MCP не подключается
Заголовок раздела «Сервер MCP не подключается»Причина: Не найден бинарный файл сервера, неверный путь к команде или отсутствующая среда выполнения.Решение:
# Ensure MCP dependencies are installed (already included in standard install)cd ~/.hermes/hermes-agent && uv pip install -e ".[mcp]"
# For npm-based servers, ensure Node.js is availablenode --versionnpx --version
# Test the server manuallynpx -y @modelcontextprotocol/server-filesystem /tmpПроверьте конфигурацию вашего ~/.hermes/config.yaml MCP:
mcp_servers: filesystem: command: "npx" args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/docs"]Инструменты не отображаются с сервера MCP
Заголовок раздела «Инструменты не отображаются с сервера MCP»Причина: Сервер запустился, но обнаружение инструментов не удалось, инструменты были отфильтрованы конфигурацией, или сервер не поддерживает возможность MCP, которую вы ожидали.
Решение:
- Проверьте логи gateway/agent на наличие ошибок подключения MCP
- Убедитесь, что сервер отвечает на метод
tools/listRPC - Проверьте любые настройки
tools.include,tools.exclude,tools.resources,tools.promptsилиenabledдля этого сервера - Помните, что служебные инструменты resource/prompt регистрируются только тогда, когда сессия действительно поддерживает эти возможности
- Используйте
/reload-mcpпосле изменения конфигурации
# Verify MCP servers are configuredhermes config show | grep -A 12 mcp_servers
# Restart Hermes or reload MCP after config changeshermes chatСм. также:
- MCP (Model Context Protocol)
- Использование MCP с Hermes
- [Справочник по конфигурации MCP
Ошибки тайм-аута MCP
Заголовок раздела «Ошибки тайм-аута MCP»Причина: Сервер MCP слишком долго отвечает или завершился с ошибкой во время выполнения.
Решение:
- Увеличьте тайм-аут в конфигурации вашего сервера MCP, если это поддерживается
- Проверьте, продолжает ли работать процесс сервера MCP
- Для удалённых серверов HTTP MCP проверьте сетевое подключение
Если сервер MCP аварийно завершается в середине запроса, Hermes сообщит о тайм-ауте. Чтобы диагностировать первопричину, проверьте собственные логи сервера (а не только логи Hermes).
Профили
Заголовок раздела «Профили»Чем профили отличаются от простого задания HERMES_HOME?Профили — это управляемый слой поверх HERMES_HOME. Вы могли бы вручную задавать HERMES_HOME=/some/path перед каждой командой, но профили берут всю рутину на себя: создают структуру каталогов, генерируют alias’ы shell (hermes-work), отслеживают активный профиль в ~/.hermes/active_profile, и автоматически синхронизируют обновления навыков во всех профилях. Они также интегрируются с tab completion, поэтому вам не нужно запоминать пути.
Заголовок раздела «Чем профили отличаются от простого задания HERMES_HOME?Профили — это управляемый слой поверх HERMES_HOME. Вы могли бы вручную задавать HERMES_HOME=/some/path перед каждой командой, но профили берут всю рутину на себя: создают структуру каталогов, генерируют alias’ы shell (hermes-work), отслеживают активный профиль в ~/.hermes/active_profile, и автоматически синхронизируют обновления навыков во всех профилях. Они также интегрируются с tab completion, поэтому вам не нужно запоминать пути.»Могут ли два профиля использовать один и тот же bot token?
Заголовок раздела «Могут ли два профиля использовать один и тот же bot token?»Нет. Каждая платформа обмена сообщениями (Telegram, Discord и т. д.) требует эксклюзивного доступа к bot token. Если два профиля попытаются одновременно использовать один и тот же token, второй gateway не сможет подключиться. Создайте отдельного бота для каждого профиля — для Telegram обратитесь к @BotFather, чтобы создать дополнительных ботов.
Профили разделяют память или сессии?
Заголовок раздела «Профили разделяют память или сессии?»Нет. У каждого профиля есть собственное хранилище памяти, база данных сессий и каталог навыков. Они полностью изолированы. Если вы хотите создать новый профиль с уже существующими памятью и сессиями, используйте hermes profile create newname --clone-all, чтобы скопировать всё из текущего профиля.
Что происходит, когда я запускаю hermes update?
Заголовок раздела «Что происходит, когда я запускаю hermes update?»hermes update получает последний код и переустанавливает зависимости один раз (не для каждого профиля). Затем он автоматически синхронизирует обновлённые навыки со всеми профилями. Вам нужно запустить hermes update только один раз — это охватывает каждый профиль на машине.
Сколько профилей я могу запускать?
Заголовок раздела «Сколько профилей я могу запускать?»Жёсткого ограничения нет. Каждый профиль — это просто каталог в ~/.hermes/profiles/. Практический предел зависит от объёма дискового пространства и от того, сколько одновременных gateway может обработать ваша система (каждый gateway — это лёгкий Python-процесс). Запуск десятков профилей — это нормально; каждый неактивный профиль не использует ресурсы.
Рабочие процессы и паттерны
Заголовок раздела «Рабочие процессы и паттерны»Использование разных моделей для разных задач (multi-model workflows)
Заголовок раздела «Использование разных моделей для разных задач (multi-model workflows)»Сценарий: Вы используете GPT-5.4 как основную модель на каждый день, но Gemini или Grok лучше пишут контент для соцсетей. Каждый раз вручную переключать модели утомительно.
Решение: конфигурация делегирования. Hermes может автоматически направлять subagents на другую модель. Настройте это в ~/.hermes/config.yaml:
delegation: model: "google/gemini-3-flash-preview"
# subagents use this model provider: "openrouter"
# provider for subagentsТеперь, когда вы говорите Hermes «напиши мне тред для Twitter о X», и он запускает субагент delegate_task, этот субагент работает на Gemini вместо вашей основной модели. Ваш основной разговор остаётся на GPT-5.4.
Вы также можете явно указать это в своём prompt: «Делегируй задачу по написанию постов для соцсетей о запуске нашего продукта. Используй своего субагента для самого написания.» Агент будет использовать delegate_task, который автоматически подхватывает конфигурацию делегирования.
Для разовых переключений модели без делегирования используйте /model в CLI:
/model google/gemini-3-flash-preview
# switch for this session# ... write your content .../model openai/gpt-5.4
# switch backПодробнее о том, как работает делегирование, см. в Делегирование субагенту.
Запуск нескольких агентов на одном номере WhatsApp (привязка к чату)
Заголовок раздела «Запуск нескольких агентов на одном номере WhatsApp (привязка к чату)»Сценарий: В OpenClaw у вас было несколько независимых агентов, привязанных к конкретным чатам WhatsApp — один для группы семейного списка покупок, другой для вашего личного чата. Может ли Hermes делать так же?
Текущее ограничение: Для каждого профиля Hermes требуется собственный WhatsApp number/session. Вы не можете привязать несколько профилей к разным чатам на одном и том же номере WhatsApp — мост WhatsApp (Baileys) использует одну аутентифицированную сессию на номер.
Обходные варианты:
-
Используйте один профиль с переключением личности. Создайте разные файлы контекста
AGENTS.mdили используйте команду/personality, чтобы менять поведение для каждого чата. Агент видит, в каком чате он находится, и может адаптироваться. -
Используйте cron jobs для специализированных задач. Для трекера списка покупок настройте cron job, который отслеживает конкретный чат и управляет списком — отдельный агент не нужен.
-
Используйте отдельные номера. Если вам нужны действительно независимые агенты, привяжите каждый профиль к своему номеру WhatsApp. Для этого подходят виртуальные номера из сервисов вроде Google Voice.4. Вместо этого используйте Telegram или Discord. Эти платформы более естественно поддерживают привязку к каждому чату — каждая группа Telegram или канал Discord получает собственную сессию, и вы можете запускать несколько токенов бота (по одному на профиль) в одной учётной записи.
Подробнее см. в Profiles и WhatsApp setup.
Управление тем, что отображается в Telegram (скрытие логов и рассуждений)
Заголовок раздела «Управление тем, что отображается в Telegram (скрытие логов и рассуждений)»Сценарий: В Telegram вы видите логи выполнения gateway, рассуждения Hermes и сведения о вызовах инструментов вместо только итогового результата.
Решение: Настройка display.tool_progress в config.yaml управляет тем, какой объём активности инструментов показывается:
display: tool_progress: "off"
# options: off, new, all, verboseoff— Только финальный ответ. Без вызовов инструментов, без рассуждений, без логов.new— Показывает новые вызовы инструментов по мере их выполнения (краткие однострочные сообщения).all— Показывает всю активность инструментов, включая результаты.verbose— Полная детализация, включая аргументы инструментов и выходные данные.
Для платформ обмена сообщениями обычно подходят off или new. После изменения config.yaml перезапустите gateway, чтобы изменения вступили в силу.
Вы также можете переключать это для каждой сессии с помощью команды /verbose (если включено):
display: tool_progress_command: true
# enables /verbose in the gatewayУправление навыками в Telegram (лимит slash-команд)
Заголовок раздела «Управление навыками в Telegram (лимит slash-команд)»Сценарий: В Telegram действует лимит в 100 slash-команд, и ваши навыки его превышают. Вы хотите отключить навыки, которые не нужны в Telegram, но настройки hermes skills config не дают эффекта.
Решение: Используйте hermes skills config, чтобы отключать навыки для каждой платформы. Это записывается в config.yaml:
skills: disabled: []
# globally disabled skills platform_disabled: telegram: [skill-a, skill-b]
# disabled only on telegramПосле этого перезапустите gateway (hermes gateway restart или завершите процесс и запустите заново). Меню команд Telegram-бота пересобирается при запуске.
Общие thread-сессии (несколько пользователей, один разговор)
Заголовок раздела «Общие thread-сессии (несколько пользователей, один разговор)»Сценарий: У вас есть thread в Telegram или Discord, где несколько людей упоминают бота. Вы хотите, чтобы все упоминания в этом thread были частью одного общего разговора, а не отдельными сессиями для каждого пользователя.
Текущее поведение: Hermes создаёт сессии с ключом по ID пользователя на большинстве платформ, поэтому каждый человек получает свой собственный контекст разговора. Это сделано намеренно для приватности и изоляции контекста.
Обходные варианты:
-
Используйте Slack. В Slack сессии привязаны к thread, а не к пользователю. Несколько пользователей в одном thread разделяют один разговор — именно то поведение, которое вы описываете. Это самый естественный вариант.
-
Используйте групповой чат с одним пользователем. Если один человек назначен «оператором», который передаёт вопросы, сессия остаётся единой. Остальные могут просто следить за разговором.
-
Используйте канал Discord. В Discord сессии привязаны к каналу, поэтому все пользователи в одном канале разделяют контекст. Используйте отдельный канал для общего разговора.
Экспорт Hermes на другую машину
Заголовок раздела «Экспорт Hermes на другую машину»Сценарий: Вы накопили навыки, cron jobs и память на одной машине и хотите перенести всё на новый выделенный Linux-сервер.
Решение:
- Установите Hermes Agent на новую машину:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash- На исходной машине создайте полную резервную копию:
hermes backupЭто создаст zip-архив всего вашего каталога ~/.hermes/ — config, ключи API, память, навыки, сессии и профили — сохранённый в вашем домашнем каталоге как ~/hermes-backup-<timestamp>.zip.
- Скопируйте zip-архив на новую машину и импортируйте его:
# On the source machine scp ~/hermes-backup-<timestamp>.zip newmachine:~/
# On the new machine hermes import ~/hermes-backup-<timestamp>.zip ```4. На новой машине запустите `hermes setup`, чтобы проверить, что ключи API и конфигурация провайдера работают.
### Перенос одного профиля на другую машину
**Сценарий:** Вы хотите перенести или поделиться одним конкретным профилем, а не всей установкой целиком.
```bash# On the source machinehermes profile export work ./work-backup.tar.gz
# Copy the file to the target machine, then:hermes profile import ./work-backup.tar.gz workИмпортированный профиль будет содержать всю конфигурацию, память, сессии и навыки из экспорта. Возможно, вам потребуется обновить пути или повторно пройти аутентификацию у провайдеров, если на новой машине используется другая настройка.
hermes backup vs hermes profile export
Заголовок раздела «hermes backup vs hermes profile export»| Возможность | hermes backup | hermes profile export |
|---|---|---|
| Сценарий использования | Полная миграция машины | Porting/sharing конкретного профиля |
| Область | Глобальная (весь каталог ~/.hermes) | Локальная (каталог одного профиля) |
| Включает | Все профили, глобальную конфигурацию, ключи API, сессии | Один профиль: SOUL.md, память, сессии, навыки |
| Учётные данные | Включены (.env и auth.json) | Исключены (удаляются для безопасного обмена) |
| Формат | .zip | .tar.gz |
Ручной запасной вариант (rsync): Если вы предпочитаете копировать файлы напрямую, исключите репозиторий кода:
rsync -av --exclude='hermes-agent' ~/.hermes/ newmachine:~/.hermes/Permission denied при перезагрузке shell после установки
Заголовок раздела «Permission denied при перезагрузке shell после установки»Сценарий: После запуска установщика Hermes команда source ~/.zshrc выдаёт ошибку permission denied.
Причина: Обычно это происходит, когда у ~/.zshrc (или ~/.bashrc) неверные права доступа к файлу или когда установщик не смог корректно записать в него. Это не проблема, специфичная для Hermes — это проблема с правами доступа в конфигурации shell.
Решение:
# Check permissionsls -la ~/.zshrc
# Fix if needed (should be -rw-r--r-
- or 644)chmod 644 ~/.zshrc
# Then reloadsource ~/.zshrc
# Or just open a new terminal window — it picks up PATH changes automatically```Если установщик добавил строку PATH, но права доступа неверны, вы можете добавить её вручную:
```bashecho 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrcОшибка 400 при первом запуске агента
Заголовок раздела «Ошибка 400 при первом запуске агента»Сценарий: Настройка завершается успешно, но первая попытка чата завершается ошибкой HTTP 400.
Причина: Обычно это несоответствие имени модели — настроенная модель не существует у вашего провайдера, либо ключ API не имеет к ней доступа.
Решение:
# Check what model and provider are configuredhermes config show | head -20
# Re-run model selectionhermes model
# Or test with a known-good modelhermes chat -q "hello" --model anthropic/claude-opus-4.7Если вы используете OpenRouter, убедитесь, что на вашем ключе API есть кредиты. Ошибка 400 от OpenRouter часто означает, что для модели требуется платный план или в ID модели есть опечатка.
Всё ещё не получается?
Заголовок раздела «Всё ещё не получается?»Если ваша проблема здесь не описана:
- Поищите существующие issues: GitHub Issues
- Спросите сообщество: Nous Research Discord
- Отправьте bug report: Укажите вашу ОС, версию Python (
python3 --version), версию Hermes (hermes --version) и полное сообщение об ошибке