Faq
На этой странице Быстрые ответы и решения самых частых вопросов и проблем.
Часто задаваемые вопросы¶
Какие LLM-провайдеры работают с Hermes?¶
Hermes Agent работает с любым API, совместимым с OpenAI. Поддерживаемые провайдеры: * OpenRouter — доступ к сотням моделей через один API-ключ (рекомендуется для гибкости) * Nous Portal — собственный inference-энdpoint Nous Research * OpenAI — GPT-4o, o1, o3 и др. * Anthropic — модели Claude (через OpenRouter или совместимый прокси) * Google — модели Gemini (через OpenRouter или совместимый прокси) * z.ai / ZhipuAI — модели GLM * Kimi / Moonshot AI — модели Kimi * MiniMax — глобальные и китайские endpoint'ы * Локальные модели — через Ollama, vLLM, llama.cpp, SGLang или любой совместимый с OpenAI сервер
Укажите своего провайдера командой hermes model или отредактировав ~/.hermes/.env. См. справочник Переменные окружения для всех ключей провайдеров.
Работает ли на Windows?¶
Не нативно. Hermes Agent требует Unix-подобного окружения. В Windows установите WSL2 и запускайте Hermes из него. Стандартная команда установки отлично работает в WSL2: [code] curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
[/code]
Я запускаю Hermes в WSL2. Как лучше всего управлять обычным Windows Chrome?¶
Предпочтительнее использовать MCP-мост вместо /browser connect.
Рекомендуемая схема:
* запустите Hermes внутри WSL2
* продолжайте использовать ваш обычный Chrome с авторизацией в Windows
* добавьте chrome-devtools-mcp в качестве MCP-сервера через cmd.exe или powershell.exe
* позвольте Hermes использовать полученные MCP-инструменты для браузера
Это надёжнее, чем пытаться заставить встроенный браузерный транспорт Hermes подключаться напрямую через границу WSL2/Windows. См.: * Использование MCP с Hermes * Автоматизация браузера
Работает ли на Android / Termux?¶
Да — у Hermes есть проверенный путь установки в Termux на Android-устройствах. Быстрая установка: [code] curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
[/code]
Полные пошаговые инструкции, поддерживаемые расширения и текущие ограничения см. в руководстве по Termux.
Важное замечание: полное расширение .[all] пока недоступно на Android, поскольку расширение voice зависит от faster-whisper → ctranslate2, а ctranslate2 не публикует сборки для Android. Используйте проверенное расширение .[termux].
Передаются ли мои данные куда-либо?¶
API-вызовы направляются только тому LLM-провайдеру, которого вы настроили (например, OpenRouter или ваш локальный экземпляр Ollama). Hermes Agent не собирает телеметрию, данные об использовании или аналитику. Ваши беседы, память и навыки хранятся локально в ~/.hermes/.
Можно ли использовать офлайн / с локальными моделями?¶
Да. Запустите hermes model, выберите Custom endpoint и введите URL вашего сервера:
[code]
hermes model
# Выберите: Custom endpoint (enter URL manually)
# API base URL: http://localhost:11434/v1
# API key: ollama
# Model name: qwen3.5:27b
# Context length: 32768 ← установите в соответствии с реальным контекстным окном вашего сервера
[/code]
Или настройте напрямую в config.yaml:
[code]
model:
default: qwen3.5:27b
provider: custom
base_url: http://localhost:11434/v1
[/code]
Hermes сохраняет endpoint, провайдера и base URL в config.yaml, так что настройки переживают перезапуски. Если на вашем локальном сервере загружена ровно одна модель, /model custom определит её автоматически. Вы также можете установить provider: custom в config.yaml — это полноценный провайдер, а не псевдоним чего-либо ещё.
Это работает с Ollama, vLLM, llama.cpp server, SGLang, LocalAI и другими. Подробнее см. в руководстве по настройке.
Пользователям Ollama
Если вы установили пользовательский num_ctx в Ollama (например, ollama run --num_ctx 16384), обязательно укажите соответствующий размер контекста в Hermes — API /api/show в Ollama сообщает максимальный контекст модели, а не эффективный num_ctx, который вы настроили.
Таймауты с локальными моделями
Hermes автоматически определяет локальные endpoint'ы и смягчает таймауты потоковой передачи (таймаут чтения увеличен со 120 с до 1800 с, обнаружение устаревшего потока отключено). Если вы всё равно сталкиваетесь с таймаутами при очень больших контекстах, установите HERMES_STREAM_READ_TIMEOUT=1800 в вашем .env. Подробности см. в руководстве по локальным LLM.
Сколько это стоит?¶
Hermes Agent — бесплатный проект с открытым исходным кодом (лицензия MIT). Вы платите только за использование LLM API вашего провайдера. Локальные модели полностью бесплатны в запуске.
Могут ли несколько человек использовать один экземпляр?¶
Да. Шлюз обмена сообщениями позволяет нескольким пользователям взаимодействовать с одним экземпляром Hermes Agent через Telegram, Discord, Slack, WhatsApp или Home Assistant. Доступ контролируется через белые списки (конкретные ID пользователей) и DM-сопряжение (первый пользователь, написавший в личку, получает доступ).
В чём разница между памятью (memory) и навыками (skills)?¶
- Память хранит факты — то, что агент знает о вас, ваших проектах и предпочтениях. Воспоминания извлекаются автоматически на основе релевантности.
- Навыки хранят процедуры — пошаговые инструкции о том, как что-то делать. Навыки вызываются, когда агент сталкивается с похожей задачей.
И то, и другое сохраняется между сессиями. Подробнее см. Память и Навыки.
Можно ли использовать Hermes в своём Python-проекте?¶
Да. Импортируйте класс AIAgent и используйте Hermes программно:
[code]
from run_agent import AIAgent
agent = AIAgent(model="anthropic/claude-opus-4.7")
response = agent.chat("Explain quantum computing briefly")
[/code] Полное описание API см. в руководстве по Python-библиотеке.
Устранение неполадок¶
Проблемы установки¶
hermes: command not found после установки¶
Причина: Ваша оболочка ещё не перезагрузила обновлённый PATH. Решение: [code] # Перезагрузите профиль оболочки source ~/.bashrc # bash source ~/.zshrc # zsh
# Или откройте новый терминал
[/code] Если это не помогло, проверьте расположение установки: [code] which hermes ls ~/.local/bin/hermes
[/code]
tip
Установщик добавляет ~/.local/bin в PATH. Если вы используете нестандартную конфигурацию оболочки, добавьте export PATH="$HOME/.local/bin:$PATH" вручную.
Версия Python слишком старая¶
Причина: Hermes требует Python 3.11 или новее. Решение: [code] python3 --version # Проверьте текущую версию
# Установите более новую версию Python
sudo apt install python3.12 # Ubuntu/Debian
brew install python@3.12 # macOS
[/code] Установщик делает это автоматически — если вы видите эту ошибку при ручной установке, сначала обновите Python.
Команды в терминале говорят node: command not found (или nvm, pyenv, asdf, …)¶
Причина: Hermes создаёт снимок окружения для каждой сессии, запуская bash -l один раз при старте. Входная оболочка bash читает /etc/profile, ~/.bash_profile и ~/.profile, но не обрабатывает~/.bashrc — поэтому инструменты, устанавливающие себя туда (nvm, asdf, pyenv, cargo, пользовательские PATH), остаются невидимыми для снимка. Чаще всего это происходит, когда Hermes запускается под systemd или в минимальной оболочке, где не был предварительно загружен профиль интерактивной оболочки.
Решение: По умолчанию Hermes автоматически подгружает ~/.bashrc. Если этого недостаточно — например, вы пользователь zsh, чей PATH находится в ~/.zshrc, или вы инициализируете nvm из отдельного файла — укажите дополнительные файлы для загрузки в ~/.hermes/config.yaml:
[code]
terminal:
shell_init_files:
- ~/.zshrc # пользователи zsh: подтягивает PATH из zsh в bash-снимок
- ~/.nvm/nvm.sh # прямая инициализация nvm (работает независимо от оболочки)
- /etc/profile.d/cargo.sh # общесистемные rc-файлы
# Когда этот список задан, авто-загрузка ~/.bashrc по умолчанию НЕ добавляется —
# включите его явно, если хотите оба:
# - ~/.bashrc
# - ~/.zshrc
[/code]
Отсутствующие файлы пропускаются без сообщений. Загрузка происходит в bash, поэтому файлы, использующие синтаксис, специфичный для zsh, могут вызвать ошибки — если это важно, загружайте только часть, устанавливающую PATH (например, nvm.sh напрямую), а не весь rc-файл.
Чтобы отключить авто-загрузку (строгая семантика входной оболочки):
[code]
terminal:
auto_source_bashrc: false
[/code]
uv: command not found¶
Причина: Менеджер пакетов uv не установлен или отсутствует в PATH.
Решение:
[code]
curl -LsSf https://astral.sh/uv/install.sh | sh
source ~/.bashrc
[/code]
Ошибки отказа в доступе (Permission denied) во время установки¶
Причина: Недостаточно прав для записи в каталог установки. Решение: [code] # Не используйте sudo с установщиком — он устанавливает в ~/.local/bin # Если вы ранее устанавливали через sudo, очистите: sudo rm /usr/local/bin/hermes # Затем перезапустите стандартный установщик curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
[/code]
Проблемы с провайдерами и моделями¶
/model показывает только одного провайдера / не могу переключить провайдера¶
Причина: /model (внутри чат-сессии) может переключаться только между провайдерами, которых вы уже настроили. Если вы настроили только OpenRouter, /model покажет только его.
Решение: Выйдите из сессии и используйте hermes model в терминале, чтобы добавить новых провайдеров:
[code]
# Сначала выйдите из чат-сессии Hermes (Ctrl+C или /quit)
# Запустите мастер настройки провайдеров
hermes model
# Это позволит вам: добавлять провайдеров, проходить OAuth, вводить API-ключи, настраивать endpoint'ы
[/code]
После добавления нового провайдера через hermes model начните новую чат-сессию — /model теперь покажет всех настроенных провайдеров.
Краткая справка
Если хотите...| Используйте
---|---
Добавить нового провайдера| hermes model (из терминала)
Ввести/изменить API-ключи| hermes model (из терминала)
Переключить модель в середине сессии| /model <имя> (внутри сессии)
Переключиться на другого настроенного провайдера| /model provider:model (внутри сессии)
API-ключ не работает¶
Причина: Ключ отсутствует, истёк, неправильно установлен или относится к другому провайдеру. Решение: [code] # Проверьте вашу конфигурацию hermes config show
# Перенастройте провайдера
hermes model
# Или установите напрямую
hermes config set OPENROUTER_API_KEY sk-or-v1-xxxxxxxxxxxx
[/code]
warning
Убедитесь, что ключ соответствует провайдеру. Ключ OpenAI не будет работать с OpenRouter и наоборот. Проверьте ~/.hermes/.env на наличие конфликтующих записей.
Модель недоступна / модель не найдена¶
Причина: Идентификатор модели неверен или недоступен у вашего провайдера. Решение: [code] # Список доступных моделей для вашего провайдера hermes model
# Установите корректную модель
hermes config set HERMES_MODEL anthropic/claude-opus-4.7
# Или укажите для конкретной сессии
hermes chat --model openrouter/meta-llama/llama-3.1-70b-instruct
[/code]
Ограничение частоты запросов (ошибки 429)¶
Причина: Превышены лимиты частоты запросов вашего провайдера.
Решение: Подождите немного и повторите попытку. При интенсивном использовании рассмотрите:
* Переход на более дорогой тариф провайдера
* Смену модели или провайдера
* Использование hermes chat --provider <альтернатива> для маршрутизации к другому бэкенду
Превышение длины контекста¶
Причина: Беседа стала слишком длинной для контекстного окна модели, или Hermes определил неправильную длину контекста для вашей модели. Решение: [code] # Сожмите текущую сессию /compress
# Или начните новую сессию
hermes chat
# Используйте модель с большим контекстным окном
hermes chat --model openrouter/google/gemini-3-flash-preview
[/code]
Если это происходит в первом длинном разговоре, возможно, Hermes определил неправильный размер контекста для вашей модели. Проверьте, что он обнаружил:
Посмотрите на строку запуска CLI — она показывает определённый размер контекста (например, 📊 Context limit: 128000 tokens). Вы также можете проверить с помощью /usage во время сессии.
Чтобы исправить определение контекста, укажите его явно:
[code]
# В ~/.hermes/config.yaml
model:
default: your-model-name
context_length: 131072 # реальный контекст вашей модели
[/code] Или для пользовательских endpoint'ов укажите для каждой модели: [code] custom_providers: - name: "My Server" base_url: "http://localhost:11434/v1" models: qwen3.5:27b: context_length: 32768
[/code] См. Определение длины контекста о том, как работает автоопределение и все опции переопределения.
Проблемы с терминалом¶
Команда заблокирована как опасная¶
Причина: Hermes обнаружил потенциально деструктивную команду (например, rm -rf, DROP TABLE). Это функция безопасности.
Решение: При запросе проверьте команду и введите y для подтверждения. Вы также можете:
* Попросить агента использовать более безопасную альтернативу
* Посмотреть полный список опасных шаблонов в документации по безопасности
tip Это работает по замыслу — Hermes никогда не выполняет деструктивные команды молча. Запрос подтверждения показывает вам, что именно будет выполнено.
sudo не работает через шлюз обмена сообщениями¶
Причина: Шлюз обмена сообщениями работает без интерактивного терминала, поэтому sudo не может запросить пароль.
Решение:
* Избегайте sudo в сообщениях — попросите агента найти альтернативы
* Если необходимо использовать sudo, настройте sudo без пароля для конкретных команд в /etc/sudoers
* Или переключитесь на терминальный интерфейс для административных задач: hermes chat
Docker-бэкенд не подключается¶
Причина: Демон Docker не запущен или у пользователя нет прав. Решение: [code] # Проверьте, запущен ли Docker docker info
# Добавьте пользователя в группу docker
sudo usermod -aG docker $USER
newgrp docker
# Проверьте
docker run hello-world
[/code]
Проблемы с обменом сообщениями¶
Бот не отвечает на сообщения¶
Причина: Бот не запущен, не авторизован, или ваш пользователь не находится в белом списке. Решение: [code] # Проверьте, запущен ли шлюз hermes gateway status
# Запустите шлюз
hermes gateway start
# Проверьте логи на наличие ошибок
cat ~/.hermes/logs/gateway.log | tail -50
[/code]
Сообщения не доставляются¶
Причина: Проблемы с сетью, истёк токен бота или неверная конфигурация вебхука платформы.
Решение:
* Проверьте валидность токена бота: hermes gateway setup
* Проверьте логи шлюза: cat ~/.hermes/logs/gateway.log | tail -50
* Для платформ на вебхуках (Slack, WhatsApp) убедитесь, что ваш сервер доступен из интернета
Путаница с белым списком — кто может общаться с ботом?¶
Причина: Режим авторизации определяет, кто получает доступ.
Решение:
Режим| Как это работает
---|---
Белый список| Только ID пользователей, указанные в конфиге, могут взаимодействовать
DM-сопряжение| Первый пользователь, написавший в личку, получает исключительный доступ
Открытый| Любой может взаимодействовать (не рекомендуется для продакшена)
Настраивается в ~/.hermes/config.yaml в разделе настроек вашего шлюза. См. документацию по обмену сообщениями.
Шлюз не запускается¶
Причина: Отсутствуют зависимости, конфликты портов или неверно настроенные токены. Решение: [code] # Установите основные зависимости шлюза обмена сообщениями pip install "hermes-agent[messaging]" # Telegram, Discord, Slack и общие зависимости шлюза
# Проверьте конфликты портов
lsof -i :8080
# Проверьте конфигурацию
hermes config show
[/code]
WSL: Шлюз постоянно отключается или hermes gateway start завершается ошибкой¶
Причина: Поддержка systemd в WSL ненадёжна. Во многих установках WSL2 systemd не включён, и даже при включении службы могут не переживать перезагрузки WSL или отключение Windows в режиме ожидания. Решение: Используйте режим переднего плана вместо systemd-службы: [code] # Вариант 1: Напрямую в режиме переднего плана (проще всего) hermes gateway run
# Вариант 2: Постоянный процесс через tmux (переживает закрытие терминала)
tmux new -s hermes 'hermes gateway run'
# Подключиться позже: tmux attach -t hermes
# Вариант 3: Фоновый процесс через nohup
nohup hermes gateway run > ~/.hermes/logs/gateway.log 2>&1 &
[/code]
Если вы всё же хотите попробовать systemd, убедитесь, что он включён:
1. Откройте /etc/wsl.conf (создайте его, если не существует)
2. Добавьте:
[code] [boot]
systemd=true
[/code]
3. Из PowerShell: wsl --shutdown
4. Снова откройте терминал WSL
5. Проверьте: systemctl is-system-running должно сказать "running" или "degraded"
Автозапуск при загрузке Windows
Для надёжного автозапуска используйте Планировщик задач Windows для запуска WSL + шлюза при входе в систему:
1. Создайте задачу, выполняющую wsl -d Ubuntu -- bash -lc 'hermes gateway run'
2. Установите триггер на вход пользователя в систему
macOS: Node.js / ffmpeg / другие инструменты не найдены шлюзом¶
Причина: Службы launchd наследуют минимальный PATH (/usr/bin:/bin:/usr/sbin:/sbin), который не включает каталоги инструментов, установленных пользователем (Homebrew, nvm, cargo и т.д.). Это часто ломает WhatsApp-мост (node not found) или распознавание голоса (ffmpeg not found).
Решение: Шлюз захватывает PATH вашей оболочки, когда вы запускаете hermes gateway install. Если вы установили инструменты после настройки шлюза, перезапустите установку, чтобы захватить обновлённый PATH:
[code]
hermes gateway install # Повторно снимает снимок текущего PATH
hermes gateway start # Обнаруживает обновлённый plist и перезагружается
[/code] Вы можете проверить, что plist содержит правильный PATH: [code] /usr/libexec/PlistBuddy -c "Print :EnvironmentVariables:PATH" \ ~/Library/LaunchAgents/ai.hermes.gateway.plist
[/code]
Проблемы с производительностью¶
Медленные ответы¶
Причина: Большая модель, удалённый API-сервер или тяжёлый системный промпт с множеством инструментов.
Решение:
* Попробуйте более быструю/маленькую модель: hermes chat --model openrouter/meta-llama/llama-3.1-8b-instruct
* Уменьшите количество активных инструментов: hermes chat -t "terminal"
* Проверьте задержку сети до провайдера
* Для локальных моделей убедитесь, что у вас достаточно видеопамяти GPU
Высокое потребление токенов¶
Причина: Длинные беседы, многословные системные промпты или множество вызовов инструментов, накапливающих контекст. Решение: [code] # Сожмите беседу для уменьшения количества токенов /compress
# Проверьте использование токенов в сессии
/usage
[/code]
tip
Используйте /compress регулярно во время длительных сессий. Он сжимает историю разговора и значительно уменьшает использование токенов, сохраняя при этом контекст.
Сессия становится слишком длинной¶
Причина: Продолжительные беседы накапливают сообщения и результаты работы инструментов, приближаясь к лимитам контекста. Решение: [code] # Сожмите текущую сессию (сохраняет ключевой контекст) /compress
# Начните новую сессию со ссылкой на старую
hermes chat
# При необходимости возобновите конкретную сессию позже
hermes chat --continue
[/code]
Проблемы с MCP¶
MCP-сервер не подключается¶
Причина: Бинарный файл сервера не найден, неверный путь к команде или отсутствует среда выполнения. Решение: [code] # Убедитесь, что зависимости MCP установлены (уже включены в стандартную установку) cd ~/.hermes/hermes-agent && uv pip install -e ".[mcp]"
# Для серверов на npm убедитесь, что Node.js доступен
node --version
npx --version
# Протестируйте сервер вручную
npx -y @modelcontextprotocol/server-filesystem /tmp
[/code]
Проверьте конфигурацию MCP в ~/.hermes/config.yaml:
[code]
mcp_servers:
filesystem:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/docs"]
[/code]
Инструменты не отображаются от MCP-сервера¶
Причина: Сервер запущен, но обнаружение инструментов не удалось, инструменты были отфильтрованы конфигурацией или сервер не поддерживает ожидаемую возможность MCP.
Решение:
* Проверьте логи шлюза/агента на наличие ошибок подключения MCP
* Убедитесь, что сервер отвечает на RPC-метод tools/list
* Проверьте настройки tools.include, tools.exclude, tools.resources, tools.prompts или enabled для этого сервера
* Помните, что утилиты ресурсов/промптов регистрируются только тогда, когда сессия действительно поддерживает эти возможности
* Используйте /reload-mcp после изменения конфигурации
[code] # Проверьте, настроены ли MCP-серверы hermes config show | grep -A 12 mcp_servers
# Перезапустите Hermes или перезагрузите MCP после изменения конфигурации
hermes chat
[/code] См. также: * MCP (Model Context Protocol) * Использование MCP с Hermes * Справочник конфигурации MCP
Ошибки таймаута MCP¶
Причина: MCP-сервер отвечает слишком долго или завершился сбоем во время выполнения. Решение: * Увеличьте таймаут в конфигурации MCP-сервера, если это поддерживается * Проверьте, работает ли процесс MCP-сервера * Для удалённых HTTP MCP-серверов проверьте сетевое подключение
warning Если MCP-сервер завершается сбоем во время запроса, Hermes сообщит о таймауте. Проверьте логи самого сервера (не только логи Hermes), чтобы диагностировать первопричину.
Профили¶
Чем профили отличаются от простой установки HERMES_HOME?¶
Профили — это управляемый слой поверх HERMES_HOME. Вы могли бы вручную устанавливать HERMES_HOME=/some/path перед каждой командой, но профили берут на себя всю инфраструктуру: создание структуры каталогов, генерацию псевдонимов оболочки (hermes-work), отслеживание активного профиля в ~/.hermes/active_profile и автоматическую синхронизацию обновлений навыков во всех профилях. Они также интегрируются с автодополнением вкладок, так что вам не нужно запоминать пути.
Могут ли два профиля использовать один и тот же токен бота?¶
Нет. Каждая платформа обмена сообщениями (Telegram, Discord и т.д.) требует исключительного доступа к токену бота. Если два профиля попытаются использовать один токен одновременно, второй шлюз не сможет подключиться. Создайте отдельного бота для каждого профиля — для Telegram обратитесь к @BotFather, чтобы создать дополнительных ботов.
Делят ли профили память или сессии?¶
Нет. Каждый профиль имеет собственное хранилище памяти, базу данных сессий и каталог навыков. Они полностью изолированы. Если вы хотите начать новый профиль с существующими воспоминаниями и сессиями, используйте hermes profile create newname --clone-all, чтобы скопировать всё из текущего профиля.
Что происходит при запуске hermes update?¶
hermes update загружает последний код и переустанавливает зависимости один раз (не для каждого профиля). Затем он автоматически синхронизирует обновлённые навыки во всех профилях. Вам нужно запустить hermes update только один раз — он охватывает все профили на машине.
Сколько профилей можно запустить?¶
Жёсткого лимита нет. Каждый профиль — это просто каталог в ~/.hermes/profiles/. Практическое ограничение зависит от места на диске и того, сколько одновременных шлюзов может выдержать ваша система (каждый шлюз — это лёгкий Python-процесс). Запуск десятков профилей — нормально; каждый неактивный профиль не использует ресурсы.
Рабочие процессы и шаблоны¶
Использование разных моделей для разных задач (многомодельные рабочие процессы)¶
Сценарий: Вы используете GPT-5.4 как основную модель, но Gemini или Grok лучше пишут контент для соцсетей. Вручную переключать модели каждый раз утомительно.
Решение: Конфигурация делегирования. Hermes может автоматически направлять сабагентов на другую модель. Настройте это в ~/.hermes/config.yaml:
[code]
delegation:
model: "google/gemini-3-flash-preview" # сабагенты используют эту модель
provider: "openrouter" # провайдер для сабагентов
[/code]
Теперь, когда вы говорите Hermes «напиши тред для Twitter о X» и он запускает сабагент delegate_task, этот сабагент работает на Gemini, а не на вашей основной модели. Ваш основной разговор остаётся на GPT-5.4.
Вы также можете явно указать в промпте: «Делегируй задачу написать посты для соцсетей о запуске нашего продукта. Используй для написания сабагента.» Агент воспользуется delegate_task, который автоматически подхватит конфигурацию делегирования.
Для разовых переключений модели без делегирования используйте /model в CLI:
[code]
/model google/gemini-3-flash-preview # переключение для этой сессии
# ... напишите ваш контент ...
/model openai/gpt-5.4 # переключение обратно
[/code] См. Делегирование сабагентам для получения дополнительной информации о том, как работает делегирование.
Запуск нескольких агентов на одном номере WhatsApp (привязка к чату)¶
Сценарий: В OpenClaw у вас было несколько независимых агентов, привязанных к определённым чатам WhatsApp — один для семейного списка покупок, другой для личного чата. Может ли Hermes сделать это?
Текущее ограничение: Каждый профиль Hermes требует собственного номера/сессии WhatsApp. Вы не можете привязать несколько профилей к разным чатам на одном номере WhatsApp — мост WhatsApp (Baileys) использует одну аутентифицированную сессию на номер.
Обходные пути:
1. Используйте один профиль с переключением личности. Создайте разные контекстные файлы AGENTS.md или используйте команду /personality, чтобы менять поведение для каждого чата. Агент видит, в каком чате находится, и может адаптироваться.
2. Используйте cron-задачи для специализированных задач. Для трекера списка покупок настройте cron-задачу, которая отслеживает определённый чат и управляет списком — отдельный агент не нужен.
3. Используйте отдельные номера. Если вам нужны действительно независимые агенты, свяжите каждый профиль с собственным номером WhatsApp. Виртуальные номера от сервисов типа Google Voice подойдут для этого.
4. Используйте Telegram или Discord. Эти платформы поддерживают привязку к чату более естественно — каждая группа Telegram или канал Discord получает свою сессию, и вы можете запускать несколько токенов ботов (один на профиль) в одной учётной записи.
См. Профили и Настройка WhatsApp для подробностей.
Управление отображением в Telegram (скрытие логов и рассуждений)¶
Сценарий: В Telegram отображаются логи выполнения шлюза, рассуждения Hermes и детали вызовов инструментов вместо финального ответа.
Решение: Настройка display.tool_progress в config.yaml управляет тем, сколько активности инструментов показывается:
[code]
display:
tool_progress: "off" # варианты: off, new, all, verbose
[/code]
* off — Только финальный ответ. Ни вызовов инструментов, ни рассуждений, ни логов.
* new — Показывает новые вызовы инструментов по мере их выполнения (краткие однострочники).
* all — Показывает всю активность инструментов, включая результаты.
* verbose — Полная детализация, включая аргументы и выводы инструментов.
Для платформ обмена сообщениями обычно нужно off или new. После редактирования config.yaml перезапустите шлюз, чтобы изменения вступили в силу.
Вы также можете переключать это для каждой сессии командой /verbose (если включено):
[code]
display:
tool_progress_command: true # включает /verbose в шлюзе
[/code]
Управление навыками в Telegram (лимит слэш-команд)¶
Сценарий: В Telegram есть лимит в 100 слэш-команд, и ваши навыки превышают его. Вы хотите отключить ненужные навыки в Telegram, но настройки hermes skills config не вступают в силу.
Решение: Используйте hermes skills config, чтобы отключить навыки для отдельных платформ. Это записывается в config.yaml:
[code]
skills:
disabled: [] # глобально отключённые навыки
platform_disabled:
telegram: [skill-a, skill-b] # отключены только в Telegram
[/code]
После изменения перезапустите шлюз (hermes gateway restart или завершите и запустите заново). Меню команд Telegram-бота перестраивается при запуске.
tip
Навыки с очень длинными описаниями обрезаются до 40 символов в меню Telegram, чтобы оставаться в пределах лимита размера полезной нагрузки. Если навыки не отображаются, это может быть проблемой общего размера полезной нагрузки, а не лимита в 100 команд — отключение неиспользуемых навыков помогает в обоих случаях.
Общие сессии в тредах (несколько пользователей, один разговор)¶
Сценарий: У вас есть тред в Telegram или Discord, где несколько человек упоминают бота. Вы хотите, чтобы все упоминания в этом треде были частью одного общего разговора, а не отдельных сессий для каждого пользователя. Текущее поведение: Hermes создаёт сессии по ID пользователя на большинстве платформ, поэтому каждый человек получает свой контекст разговора. Это сделано намеренно для конфиденциальности и изоляции контекста. Обходные пути: 1. Используйте Slack. Сессии в Slack привязаны к нити обсуждения, а не к пользователю. Несколько пользователей в одной нити разделяют один разговор — именно то поведение, которое вы описываете. Это наиболее естественное решение. 2. Используйте групповой чат с одним пользователем. Если один человек является назначенным «оператором», который передаёт вопросы, сессия остаётся единой. Остальные могут читать. 3. Используйте канал Discord. Сессии в Discord привязаны к каналу, поэтому все пользователи в одном канале разделяют контекст. Используйте выделенный канал для общего разговора.
Экспорт Hermes на другую машину¶
Сценарий: Вы накопили навыки, cron-задачи и воспоминания на одной машине и хотите перенести всё на новый выделенный Linux-сервер. Решение: 1. Установите Hermes Agent на новой машине: [code] curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
[/code] 2. На исходной машине создайте полную резервную копию: [code] hermes backup
[/code]
Это создаёт zip-архив всего каталога ~/.hermes/ — конфигурации, API-ключей, воспоминаний, навыков, сессий и профилей — сохранённый в вашей домашней директории как ~/hermes-backup-<timestamp>.zip.
3. Скопируйте архив на новую машину и импортируйте его:
[code] # На исходной машине
scp ~/hermes-backup-
# На новой машине
hermes import ~/hermes-backup-<timestamp>.zip
[/code]
4. На новой машине запустите hermes setup, чтобы убедиться, что API-ключи и конфигурация провайдера работают.
Перенос одного профиля на другую машину¶
Сценарий: Вы хотите перенести или поделиться одним определённым профилем — не всей установкой. [code] # На исходной машине hermes profile export work ./work-backup.tar.gz
# Скопируйте файл на целевую машину, затем:
hermes profile import ./work-backup.tar.gz work
[/code] Импортированный профиль будет содержать все конфиги, воспоминания, сессии и навыки из экспорта. Возможно, вам потребуется обновить пути или повторно аутентифицироваться у провайдеров, если на новой машине другая настройка.
hermes backup vs hermes profile export¶
| Функция | hermes backup |
hermes profile export |
|---|---|---|
| Сценарий | Полная миграция машины | Перенос/передача определённого профиля |
| Область | Глобальная (весь каталог ~/.hermes) |
Локальная (каталог одного профиля) |
| Включает | Все профили, глобальную конфигурацию, API-ключи, сессии | Один профиль: SOUL.md, воспоминания, сессии, навыки |
| Учётные данные | Включены (.env и auth.json) |
Исключены (удалены для безопасной передачи) |
| Формат | .zip |
.tar.gz |
| Ручной способ (rsync): Если вы предпочитаете копировать файлы напрямую, исключите репозиторий кода: | ||
| [code] | ||
| rsync -av --exclude='hermes-agent' ~/.hermes/ newmachine:~/.hermes/ |
[/code]
tip
hermes backup создаёт консистентный снимок даже при активной работе Hermes. Восстановленный архив исключает локальные для машины файлы времени выполнения, такие как gateway.pid и cron.pid.
Отказано в доступе при перезагрузке оболочки после установки¶
Сценарий: После запуска установщика Hermes source ~/.zshrc выдаёт ошибку отказа в доступе.
Причина: Обычно это происходит, когда ~/.zshrc (или ~/.bashrc) имеет неверные права доступа к файлу, или когда установщик не смог корректно записать в него. Это не специфическая проблема Hermes — это проблема прав доступа к конфигу оболочки.
Решение:
[code]
# Проверьте права доступа
ls -la ~/.zshrc
# Исправьте, если необходимо (должно быть -rw-r--r-- или 644)
chmod 644 ~/.zshrc
# Затем перезагрузите
source ~/.zshrc
# Или просто откройте новое окно терминала — оно подхватывает изменения PATH автоматически
[/code] Если установщик добавил строку PATH, но права доступа неправильные, вы можете добавить её вручную: [code] echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
[/code]
Ошибка 400 при первом запуске агента¶
Сценарий: Установка завершается успешно, но первая попытка чата завершается ошибкой HTTP 400. Причина: Обычно несоответствие имени модели — настроенная модель не существует у вашего провайдера, или API-ключ не имеет к ней доступа. Решение: [code] # Проверьте, какая модель и провайдер настроены hermes config show | head -20
# Повторно запустите выбор модели
hermes model
# Или протестируйте с заведомо рабочей моделью
hermes chat -q "hello" --model anthropic/claude-opus-4.7
[/code] Если вы используете OpenRouter, убедитесь, что на вашем API-ключе есть средства. Ошибка 400 от OpenRouter часто означает, что модель требует платного тарифа или в ID модели есть опечатка.
Всё ещё застряли?¶
Если ваша проблема не описана здесь:
1. Поищите в существующих issue: GitHub Issues
2. Спросите сообщество: Nous Research Discord
3. Сообщите об ошибке: Укажите вашу ОС, версию Python (python3 --version), версию Hermes (hermes --version) и полный текст ошибки
- Часто задаваемые вопросы
- Какие LLM-провайдеры работают с Hermes?
- Работает ли на Windows?
- Я запускаю Hermes в WSL2. Как лучше всего управлять обычным Windows Chrome?
- Работает ли на Android / Termux?
- Передаются ли мои данные куда-либо?
- Можно ли использовать офлайн / с локальными моделями?
- Сколько это стоит?
- Могут ли несколько человек использовать один экземпляр?
- В чём разница между памятью (memory) и навыками (skills)?
- Можно ли использовать Hermes в своём Python-проекте?
- Устранение неполадок
- Профили
- Рабочие процессы и шаблоны
- Использование разных моделей для разных задач (многомодельные рабочие процессы)
- Запуск нескольких агентов на одном номере WhatsApp (привязка к чату)
- Управление отображением в Telegram (скрытие логов и рассуждений)
- Управление навыками в Telegram (лимит слэш-команд)
- Общие сессии в тредах (несколько пользователей, один разговор)
- Экспорт Hermes на другую машину
- Перенос одного профиля на другую машину
hermes backupvshermes profile export- Отказано в доступе при перезагрузке оболочки после установки
- Ошибка 400 при первом запуске агента
- Всё ещё застряли?