Часто задаваемые вопросы и устранение неполадок

Быстрые ответы и решения самых распространённых вопросов и проблем.


Часто задаваемые вопросы

Какие LLM-провайдеры работают с Hermes?

Hermes Agent работает с любым API, совместимым с OpenAI. Поддерживаемые провайдеры включают:

Установите провайдера с помощью hermes model или отредактировав ~/.hermes/.env. Смотрите справочник Переменные окружения для всех ключей провайдеров.

Работает ли это на 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?

Предпочтительнее использовать MCP-мост вместо /browser connect.

Рекомендуемая схема:

Это надёжнее, чем пытаться заставить основной транспорт браузера Hermes подключаться напрямую через границу WSL2/Windows.

Смотрите:

Работает ли это на Android / Termux?

Да — у Hermes теперь есть проверенный путь установки через Termux для Android-телефонов.

Быстрая установка:

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

Полные пошаговые инструкции, поддерживаемые дополнительные компоненты и текущие ограничения смотрите в руководстве по Termux.

Важное замечание: полный дополнительный компонент .[all] в настоящее время недоступен на Android, потому что компонент voice зависит от faster-whisperctranslate2, а ctranslate2 не публикует сборки для Android. Вместо этого используйте проверенный компонент .[termux].

Передаются ли мои данные куда-либо?

API-запросы отправляются только LLM-провайдеру, которого вы настроили (например, OpenRouter, ваш локальный Ollama). Hermes Agent не собирает телеметрию, данные об использовании или аналитику. Ваши диалоги, память и навыки хранятся локально в ~/.hermes/.

Можно ли использовать офлайн / с локальными моделями?

Да. Запустите hermes model, выберите Custom endpoint и введите URL вашего сервера:

hermes model
# Select: Custom endpoint (enter URL manually)
# API base URL: http://localhost:11434/v1
# API key: ollama
# Model name: qwen3.5:27b
# Context length: 32768   ← установите в соответствии с фактическим контекстным окном вашего сервера

Или настройте напрямую в config.yaml:

model:
  default: qwen3.5:27b
  provider: custom
  base_url: http://localhost:11434/v1

Hermes сохраняет эндоинт, провайдера и base_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 автоматически определяет локальные эндоинты и смягчает тайм-ауты стриминга (тайм-аут чтения увеличен со 120 с до 1800 с, отключено обнаружение устаревшего потока). Если вы всё ещё сталкиваетесь с тайм-аутами на очень больших контекстах, установите HERMES_STREAM_READ_TIMEOUT=1800 в вашем .env. Подробнее в руководстве по локальным LLM.

Сколько это стоит?

Сам Hermes Agent бесплатный и с открытым исходным кодом (лицензия MIT). Вы платите только за использование API выбранного вами LLM-провайдера. Локальные модели полностью бесплатны.

Могут ли несколько человек использовать один экземпляр?

Да. Шлюз обмена сообщениями позволяет нескольким пользователям взаимодействовать с одним экземпляром Hermes Agent через Telegram, Discord, Slack, WhatsApp или Home Assistant. Доступ контролируется через белые списки (конкретные ID пользователей) и DM-привязку (первый пользователь, отправивший сообщение, получает доступ).

В чём разница между памятью и навыками?

И то, и другое сохраняется между сессиями. Подробнее в разделах Память и Навыки.

Могу ли я использовать это в своём Python-проекте?

Да. Импортируйте класс AIAgent и используйте Hermes программно:

from run_agent import AIAgent

agent = AIAgent(model="anthropic/claude-opus-4.7")
response = agent.chat("Explain quantum computing briefly")

Смотрите руководство по Python Library для полного API.


Устранение неполадок

Проблемы с установкой

hermes: команда не найдена после установки

Причина: Ваша оболочка ещё не перезагрузила обновлённый PATH.

Решение:

# Перезагрузите профиль оболочки
source ~/.bashrc    # bash
source ~/.zshrc     # zsh

# Или откройте новую сессию терминала

Если всё ещё не работает, проверьте расположение установки:

which hermes
ls ~/.local/bin/hermes
Установщик добавляет `~/.local/bin` в ваш PATH. Если вы используете нестандартную конфигурацию оболочки, добавьте `export PATH="$HOME/.local/bin:$PATH"` вручную.

Слишком старая версия Python

Причина: Hermes требует Python 3.11 или новее.

Решение:

python3 --version   # Проверьте текущую версию

# Установите более новую версию Python
sudo apt install python3.12   # Ubuntu/Debian
brew install python@3.12      # macOS

Установщик обрабатывает это автоматически — если вы видите эту ошибку при ручной установке, сначала обновите Python.

Команды терминала говорят node: команда не найдена (или 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:

terminal:
  shell_init_files:
    - ~/.zshrc                     # пользователи zsh: добавляет zsh-управляемый PATH в bash-снимок
    - ~/.nvm/nvm.sh                # прямая инициализация nvm (работает независимо от оболочки)
    - /etc/profile.d/cargo.sh      # системные rc-файлы
  # Когда этот список установлен, автоматическая подгрузка ~/.bashrc по умолчанию НЕ добавляется —
  # включите его явно, если хотите оба:
  #   - ~/.bashrc
  #   - ~/.zshrc

Отсутствующие файлы пропускаются без сообщений. Подгрузка происходит в bash, поэтому файлы, которые полагаются на синтаксис только для zsh, могут вызывать ошибки — если это проблема, подгружайте только часть, устанавливающую PATH (например, nvm.sh напрямую), а не весь rc-файл.

Чтобы отключить автоматическую подгрузку (строгая семантика оболочки входа):

terminal:
  auto_source_bashrc: false

uv: команда не найдена

Причина: Менеджер пакетов uv не установлен или не в PATH.

Решение:

curl -LsSf https://astral.sh/uv/install.sh | sh
source ~/.bashrc

Ошибки отказа в доступе во время установки

Причина: Недостаточно прав для записи в каталог установки.

Решение:

# Не используйте sudo с установщиком — он устанавливается в ~/.local/bin
# Если вы ранее устанавливали с sudo, очистите:
sudo rm /usr/local/bin/hermes
# Затем повторно запустите стандартный установщик
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

Проблемы с провайдерами и моделями

/model показывает только одного провайдера / невозможно переключить провайдера

Причина: /model (внутри чат-сессии) может переключаться только между провайдерами, которых вы уже настроили. Если вы настроили только OpenRouter, /model покажет только его.

Решение: Выйдите из сессии и используйте hermes model из терминала, чтобы добавить новых провайдеров:

# Сначала выйдите из чат-сессии Hermes (Ctrl+C или /quit)

# Запустите мастер настройки провайдеров
hermes model

# Это позволяет: добавлять провайдеров, запускать OAuth, вводить API-ключи, настраивать эндоинты

После добавления нового провайдера через hermes model начните новую чат-сессию — /model теперь будет показывать всех настроенных провайдеров.

tip Краткая справка | Вы хотите... | Используйте | |--------------|-------------| | Добавить нового провайдера | hermes model (из терминала) | | Ввести/изменить API-ключи | hermes model (из терминала) | | Переключить модель в сессии | /model <имя> (внутри сессии) | | Переключиться на другого настроенного провайдера | /model провайдер:модель (внутри сессии) |

API-ключ не работает

Причина: Ключ отсутствует, истёк, неправильно установлен или относится к другому провайдеру.

Решение:

# Проверьте вашу конфигурацию
hermes config show

# Перенастройте провайдера
hermes model

# Или установите напрямую
hermes config set OPENROUTER_API_KEY sk-or-...xxxx
Убедитесь, что ключ соответствует провайдеру. Ключ OpenAI не будет работать с OpenRouter и наоборот. Проверьте `~/.hermes/.env` на наличие конфликтующих записей.

Модель недоступна / модель не найдена

Причина: Идентификатор модели неверен или недоступен у вашего провайдера.

Решение:

# Список доступных моделей для вашего провайдера
hermes model

# Установите корректную модель
hermes config set HERMES_MODEL anthropic/claude-opus-4.7

# Или укажите для конкретной сессии
hermes chat --model openrouter/meta-llama/llama-3.1-70b-instruct

Ограничение частоты запросов (ошибки 429)

Причина: Вы превысили лимиты частоты запросов вашего провайдера.

Решение: Подождите немного и повторите попытку. При интенсивном использовании рассмотрите:

Превышена длина контекста

Причина: Диалог стал слишком длинным для контекстного окна модели, или Hermes определил неправильную длину контекста для вашей модели.

Решение:

# Сожмите текущую сессию
/compress

# Или начните новую сессию
hermes chat

# Используйте модель с большим контекстным окном
hermes chat --model openrouter/google/gemini-3-flash-preview

Если это происходит при первом длинном диалоге, возможно, Hermes определил неправильную длину контекста для вашей модели. Проверьте, что было определено:

Посмотрите на стартовую строку CLI — она показывает определённую длину контекста (например, 📊 Context limit: 128000 tokens). Вы также можете проверить с помощью /usage во время сессии.

Чтобы исправить определение контекста, укажите его явно:

# В ~/.hermes/config.yaml
model:
  default: your-model-name
  context_length: 131072  # фактическое контекстное окно вашей модели

Или для пользовательских эндоинтов, добавьте для каждой модели:

custom_providers:
  - name: "Мой сервер"
    base_url: "http://localhost:11434/v1"
    models:
      qwen3.5:27b:
        context_length: 32768

Смотрите Определение длины контекста для информации о том, как работает автоопределение, и всех вариантах переопределения.


Проблемы с терминалом

Команда заблокирована как опасная

Причина: Hermes обнаружил потенциально деструктивную команду (например, rm -rf, DROP TABLE). Это функция безопасности.

Решение: При запросе проверьте команду и введите y для подтверждения. Вы также можете:

Это работает как задумано — Hermes никогда не выполняет деструктивные команды молча. Запрос на подтверждение показывает вам именно то, что будет выполнено.

sudo не работает через шлюз обмена сообщениями

Причина: Шлюз обмена сообщениями работает без интерактивного терминала, поэтому sudo не может запросить пароль.

Решение:

Бэкенд Docker не подключается

Причина: Демон Docker не запущен или у пользователя недостаточно прав.

Решение:

# Проверьте, запущен ли Docker
docker info

# Добавьте пользователя в группу docker
sudo usermod -aG docker $USER
newgrp docker

# Проверьте
docker run hello-world

Проблемы с обменом сообщениями

Бот не отвечает на сообщения

Причина: Бот не запущен, не авторизован или ваш пользователь не находится в белом списке.

Решение:

# Проверьте, запущен ли шлюз
hermes gateway status

# Запустите шлюз
hermes gateway start

# Проверьте логи на наличие ошибок
cat ~/.hermes/logs/gateway.log | tail -50

Сообщения не доставляются

Причина: Проблемы с сетью, истёк токен бота или неправильная настройка вебхука платформы.

Решение:

Путаница с белым списком — кто может общаться с ботом?

Причина: Режим авторизации определяет, кто получает доступ.

Решение:

Режим Как работает
Белый список Только ID пользователей, указанные в конфигурации, могут взаимодействовать
DM-привязка Первый пользователь, отправивший сообщение в ЛС, получает исключительный доступ
Открытый Любой может взаимодействовать (не рекомендуется для продакшена)

Настройте в ~/.hermes/config.yaml в разделе настроек вашего шлюза. Смотрите документацию по обмену сообщениями.

Шлюз не запускается

Причина: Отсутствуют зависимости, конфликты портов или неправильно настроены токены.

Решение:

# Установите основные зависимости шлюза обмена сообщениями
pip install "hermes-agent[messaging]"  # Зависимости Telegram, Discord, Slack и общего шлюза

# Проверьте конфликты портов
lsof -i :8080

# Проверьте конфигурацию
hermes config show

WSL: Шлюз постоянно отключается или hermes gateway start не работает

Причина: Поддержка systemd в WSL ненадёжна. Во многих установках WSL2 systemd не включён, и даже если включён, службы могут не пережить перезагрузку WSL или отключение Windows в режиме ожидания.

Решение: Используйте режим переднего плана вместо службы systemd:

# Вариант 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 &

Если вы всё же хотите попробовать systemd, убедитесь, что он включён:

  1. Откройте /etc/wsl.conf (создайте, если его нет)

  2. Добавьте: ini [boot] systemd=true

  3. Из PowerShell: wsl --shutdown

  4. Снова откройте терминал WSL

  5. Проверьте: systemctl is-system-running должно показывать "running" или "degraded"

tip Автозапуск при загрузке 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:

hermes gateway install    # Повторно сохраняет текущий PATH
hermes gateway start      # Определяет обновлённый plist и перезагружается

Вы можете проверить, что plist содержит правильный PATH:

/usr/libexec/PlistBuddy -c "Print :EnvironmentVariables:PATH" \\
  ~/Library/LaunchAgents/ai.hermes.gateway.plist

Проблемы с производительностью

Медленные ответы

Причина: Большая модель, удалённый API-сервер или тяжёлый системный промпт с множеством инструментов.

Решение:

Высокое использование токенов

Причина: Длинные диалоги, многословные системные промпты или множество вызовов инструментов, накапливающих контекст.

Решение:

# Сожмите диалог для уменьшения токенов
/compress

# Проверьте использование токенов в сессии
/usage
Используйте `/compress` регулярно во время длительных сессий. Это обобщает историю диалога и значительно уменьшает использование токенов, сохраняя контекст.

Сессия становится слишком длинной

Причина: Продолжительные диалоги накапливают сообщения и результаты работы инструментов, приближаясь к лимитам контекста.

Решение:

# Сожмите текущую сессию (сохраняет ключевой контекст)
/compress

# Начните новую сессию со ссылкой на старую
hermes chat

# Возобновите конкретную сессию позже, если нужно
hermes chat --continue

Проблемы с MCP

MCP-сервер не подключается

Причина: Бинарный файл сервера не найден, неверный путь к команде или отсутствует среда выполнения.

Решение:

# Убедитесь, что зависимости MCP установлены (уже включены в стандартную установку)
cd ~/.hermes/hermes-agent && uv pip install -e ".[mcp]"

# Для серверов на npm убедитесь, что Node.js доступен
node --version
npx --version

# Протестируйте сервер вручную
npx -y @modelcontextprotocol/server-filesystem /tmp

Проверьте конфигурацию MCP в ~/.hermes/config.yaml:

mcp_servers:
  filesystem:
    command: "npx"
    args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/docs"]

Инструменты не отображаются от MCP-сервера

Причина: Сервер запущен, но обнаружение инструментов не удалось, инструменты были отфильтрованы конфигурацией, или сервер не поддерживает ожидаемую возможность MCP.

Решение:

# Проверьте, что MCP-серверы настроены
hermes config show | grep -A 12 mcp_servers

# Перезапустите Hermes или перезагрузите MCP после изменений конфигурации
hermes chat

Смотрите также:

Ошибки тайм-аута MCP

Причина: MCP-сервер отвечает слишком долго или аварийно завершил работу во время выполнения.

Решение:

Если 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:

delegation:
  model: "google/gemini-3-flash-preview"   # сабагенты используют эту модель
  provider: "openrouter"                    # провайдер для сабагентов

Теперь, когда вы говорите Hermes "напиши мне тред в Twitter о X" и он порождает сабагента delegate_task, этот сабагент работает на Gemini вместо вашей основной модели. Ваш основной диалог остаётся на GPT-5.4.

Вы также можете явно указать это в своём промпте: "Делегируй задачу по написанию постов в соцсетях о запуске нашего продукта. Используй сабагента для непосредственного написания." Агент будет использовать delegate_task, который автоматически подхватывает конфигурацию делегирования.

Для одноразового переключения модели без делегирования используйте /model в CLI:

/model google/gemini-3-flash-preview    # переключение для этой сессии
# ... пишите свой контент ...
/model openai/gpt-5.4                   # переключение обратно

Смотрите Делегирование сабагентов для подробностей о том, как работает делегирование.

Запуск нескольких агентов на одном номере 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 (скрытие логов и рассуждений)

Сценарий: Вы видите логи выполнения шлюза, рассуждения Hermes и детали вызовов инструментов в Telegram вместо только финального вывода.

Решение: Настройка display.tool_progress в config.yaml управляет тем, сколько активности инструментов показывается:

display:
  tool_progress: "off"   # варианты: off, new, all, verbose

Для платформ обмена сообщениями обычно нужно off или new. После редактирования config.yaml перезапустите шлюз, чтобы изменения вступили в силу.

Вы также можете переключать это для каждой сессии с помощью команды /verbose (если она включена):

display:
  tool_progress_command: true   # включает /verbose в шлюзе

Управление навыками в Telegram (лимит слеш-команд)

Сценарий: В Telegram есть лимит в 100 слеш-команд, и ваши навыки превышают его. Вы хотите отключить ненужные навыки в Telegram, но настройки hermes skills config, похоже, не действуют.

Решение: Используйте hermes skills config, чтобы отключить навыки для конкретной платформы. Это записывается в config.yaml:

skills:
  disabled: []                    # глобально отключённые навыки
  platform_disabled:
    telegram: [skill-a, skill-b]  # отключены только в telegram

После изменения этого перезапустите шлюз (hermes gateway restart или завершите и запустите снова). Меню команд Telegram-бота перестраивается при запуске.

Навыки с очень длинными описаниями обрезаются до 40 символов в меню Telegram, чтобы оставаться в пределах лимитов размера полезной нагрузки. Если навыки не отображаются, проблема может быть в общем размере полезной нагрузки, а не в лимите в 100 команд — отключение неиспользуемых навыков помогает в обоих случаях.

Общие сессии в треде (несколько пользователей, один диалог)

Сценарий: У вас есть тред в Telegram или Discord, где несколько человек упоминают бота. Вы хотите, чтобы все упоминания в этом треде были частью одного общего диалога, а не отдельных сессий для каждого пользователя.

Текущее поведение: Hermes создаёт сессии по ID пользователя на большинстве платформ, поэтому каждый человек получает свой контекст диалога. Это сделано намеренно для конфиденциальности и изоляции контекста.

Обходные пути:

  1. Используйте Slack. Сессии Slack привязаны к треду, а не к пользователю. Несколько пользователей в одном треде делят один диалог — именно то поведение, которое вы описываете. Это самое естественное решение.

  2. Используйте групповой чат с одним пользователем. Если один человек является назначенным "оператором", который передаёт вопросы, сессия остаётся единой. Остальные могут читать.

  3. Используйте канал Discord. Сессии Discord привязаны к каналу, поэтому все пользователи в одном канале делят контекст. Используйте выделенный канал для общего диалога.

Экспорт Hermes на другую машину

Сценарий: Вы накопили навыки, задания cron и воспоминания на одной машине и хотите перенести всё на новый выделенный Linux-сервер.

Решение:

  1. Установите Hermes Agent на новой машине: bash curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

  2. На исходной машине создайте полную резервную копию: bash hermes backup Это создаёт zip-архив всего каталога ~/.hermes/ — конфигурации, API-ключей, воспоминаний, навыков, сессий и профилей — сохранённый в вашем домашнем каталоге как ~/hermes-backup-<метка-времени>.zip.

  3. Скопируйте zip-файл на новую машину и импортируйте его: ```bash # На исходной машине scp ~/hermes-backup-.zip newmachine:~/

# На новой машине hermes import ~/hermes-backup-.zip ```

  1. На новой машине запустите hermes setup, чтобы проверить, что API-ключи и конфигурация провайдера работают.

Перенос одного профиля на другую машину

Сценарий: Вы хотите перенести или передать один конкретный профиль — не всю установку.

# На исходной машине
hermes profile export work ./work-backup.tar.gz

# Скопируйте файл на целевую машину, затем:
hermes profile import ./work-backup.tar.gz work

Импортированный профиль будет содержать все конфигурации, воспоминания, сессии и навыки из экспорта. Возможно, потребуется обновить пути или повторно аутентифицироваться у провайдеров, если на новой машине другая настройка.

hermes backup vs hermes profile export

Особенность hermes backup hermes profile export
Назначение Полная миграция машины Перенос/передача конкретного профиля
Охват Глобальный (весь каталог ~/.hermes) Локальный (один каталог профиля)
Включает Все профили, глобальную конфигурацию, API-ключи, сессии Один профиль: SOUL.md, воспоминания, сессии, навыки
Учётные данные Включены (.env и auth.json) Исключены (удалены для безопасной передачи)
Формат .zip .tar.gz

Ручной вариант (rsync): Если вы предпочитаете копировать файлы напрямую, исключите репозиторий кода:

rsync -av --exclude='hermes-agent' ~/.hermes/ newmachine:~/.hermes/
`hermes backup` создаёт согласованный снимок даже при активной работе Hermes. Восстановленный архив исключает локальные файлы среды выполнения, такие как `gateway.pid` и `cron.pid`.

Отказано в доступе при перезагрузке оболочки после установки

Сценарий: После запуска установщика Hermes, source ~/.zshrc выдаёт ошибку отказа в доступе.

Причина: Обычно это происходит, когда у ~/.zshrc (или ~/.bashrc) неправильные права доступа к файлу, или когда установщик не смог чисто записать в него. Это не проблема, связанная с Hermes — это проблема с правами доступа к конфигурации оболочки.

Решение:

# Проверьте права доступа
ls -la ~/.zshrc

# Исправьте, если нужно (должно быть -rw-r--r-- или 644)
chmod 644 ~/.zshrc

# Затем перезагрузите
source ~/.zshrc

# Или просто откройте новое окно терминала — оно автоматически подхватит изменения PATH

Если установщик добавил строку PATH, но права неправильные, вы можете добавить её вручную:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc

Ошибка 400 при первом запуске агента

Сценарий: Установка завершается успешно, но первая попытка чата завершается ошибкой HTTP 400.

Причина: Обычно несоответствие имени модели — настроенная модель не существует у вашего провайдера, или у API-ключа нет доступа к ней.

Решение:

# Проверьте, какая модель и провайдер настроены
hermes config show | head -20

# Повторно запустите выбор модели
hermes model

# Или протестируйте с заведомо рабочей моделью
hermes chat -q "hello" --model anthropic/claude-opus-4.7

При использовании OpenRouter убедитесь, что на вашем API-ключе есть кредиты. Ошибка 400 от OpenRouter часто означает, что модель требует платного тарифа или в идентификаторе модели опечатка.


Всё ещё застряли?

Если ваша проблема не описана здесь:

  1. Поищите в существующих issues: GitHub Issues

  2. Спросите сообщество: Nous Research Discord

  3. Сообщите об ошибке: Укажите вашу ОС, версию Python (python3 --version), версию Hermes (hermes --version) и полное сообщение об ошибке