Установите провайдера с помощью hermes model или отредактировав ~/.hermes/.env. Смотрите справочник Переменные окружения для всех ключей провайдеров.
Работает ли это на Windows?
Не нативно. Hermes Agent требует Unix-подобного окружения. На Windows установите WSL2 и запускайте Hermes внутри него. Стандартная команда установки отлично работает в WSL2:
Полные пошаговые инструкции, поддерживаемые дополнительные компоненты и текущие ограничения смотрите в руководстве по Termux.
Важное замечание: полный дополнительный компонент .[all] в настоящее время недоступен на Android, потому что компонент voice зависит от faster-whisper → ctranslate2, а ctranslate2 не публикует сборки для Android. Вместо этого используйте проверенный компонент .[termux].
Передаются ли мои данные куда-либо?
API-запросы отправляются только LLM-провайдеру, которого вы настроили (например, OpenRouter, ваш локальный Ollama). Hermes Agent не собирает телеметрию, данные об использовании или аналитику. Ваши диалоги, память и навыки хранятся локально в ~/.hermes/.
Можно ли использовать офлайн / с локальными моделями?
Да. Запустите hermes model, выберите Custom endpoint и введите URL вашего сервера:
hermesmodel
# Select: Custom endpoint (enter URL manually)# API base URL: http://localhost:11434/v1# API key: ollama# Model name: qwen3.5:27b# Context length: 32768 ← установите в соответствии с фактическим контекстным окном вашего сервера
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 программно:
Причина: Ваша оболочка ещё не перезагрузила обновлённый PATH.
Решение:
# Перезагрузите профиль оболочкиsource~/.bashrc# bashsource~/.zshrc# zsh# Или откройте новую сессию терминала
Если всё ещё не работает, проверьте расположение установки:
whichhermes
ls~/.local/bin/hermes
Установщик добавляет `~/.local/bin` в ваш PATH. Если вы используете нестандартную конфигурацию оболочки, добавьте `export PATH="$HOME/.local/bin:$PATH"` вручную.
Слишком старая версия Python
Причина: Hermes требует Python 3.11 или новее.
Решение:
python3--version# Проверьте текущую версию# Установите более новую версию Python
sudoaptinstallpython3.12# Ubuntu/Debian
brewinstallpython@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.
Причина: Недостаточно прав для записи в каталог установки.
Решение:
# Не используйте sudo с установщиком — он устанавливается в ~/.local/bin# Если вы ранее устанавливали с sudo, очистите:
sudorm/usr/local/bin/hermes
# Затем повторно запустите стандартный установщик
curl-fsSLhttps://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh|bash
Проблемы с провайдерами и моделями
/model показывает только одного провайдера / невозможно переключить провайдера
Причина:/model (внутри чат-сессии) может переключаться только между провайдерами, которых вы уже настроили. Если вы настроили только OpenRouter, /model покажет только его.
Решение: Выйдите из сессии и используйте hermes model из терминала, чтобы добавить новых провайдеров:
# Сначала выйдите из чат-сессии Hermes (Ctrl+C или /quit)# Запустите мастер настройки провайдеров
hermesmodel
# Это позволяет: добавлять провайдеров, запускать OAuth, вводить API-ключи, настраивать эндоинты
После добавления нового провайдера через hermes model начните новую чат-сессию — /model теперь будет показывать всех настроенных провайдеров.
tip Краткая справка
| Вы хотите... | Используйте |
|--------------|-------------|
| Добавить нового провайдера | hermes model (из терминала) |
| Ввести/изменить API-ключи | hermes model (из терминала) |
| Переключить модель в сессии | /model <имя> (внутри сессии) |
| Переключиться на другого настроенного провайдера | /model провайдер:модель (внутри сессии) |
API-ключ не работает
Причина: Ключ отсутствует, истёк, неправильно установлен или относится к другому провайдеру.
Убедитесь, что ключ соответствует провайдеру. Ключ OpenAI не будет работать с OpenRouter и наоборот. Проверьте `~/.hermes/.env` на наличие конфликтующих записей.
Модель недоступна / модель не найдена
Причина: Идентификатор модели неверен или недоступен у вашего провайдера.
Решение:
# Список доступных моделей для вашего провайдера
hermesmodel
# Установите корректную модель
hermesconfigsetHERMES_MODELanthropic/claude-opus-4.7
# Или укажите для конкретной сессии
hermeschat--modelopenrouter/meta-llama/llama-3.1-70b-instruct
Ограничение частоты запросов (ошибки 429)
Причина: Вы превысили лимиты частоты запросов вашего провайдера.
Решение: Подождите немного и повторите попытку. При интенсивном использовании рассмотрите:
Обновление тарифа провайдера
Переключение на другую модель или провайдера
Использование hermes chat --provider <альтернатива> для маршрутизации к другому бэкенду
Превышена длина контекста
Причина: Диалог стал слишком длинным для контекстного окна модели, или Hermes определил неправильную длину контекста для вашей модели.
Решение:
# Сожмите текущую сессию
/compress
# Или начните новую сессию
hermeschat
# Используйте модель с большим контекстным окном
hermeschat--modelopenrouter/google/gemini-3-flash-preview
Если это происходит при первом длинном диалоге, возможно, Hermes определил неправильную длину контекста для вашей модели. Проверьте, что было определено:
Посмотрите на стартовую строку CLI — она показывает определённую длину контекста (например, 📊 Context limit: 128000 tokens). Вы также можете проверить с помощью /usage во время сессии.
Чтобы исправить определение контекста, укажите его явно:
# В ~/.hermes/config.yamlmodel:default:your-model-namecontext_length:131072# фактическое контекстное окно вашей модели
Или для пользовательских эндоинтов, добавьте для каждой модели:
Это работает как задумано — Hermes никогда не выполняет деструктивные команды молча. Запрос на подтверждение показывает вам именно то, что будет выполнено.
sudo не работает через шлюз обмена сообщениями
Причина: Шлюз обмена сообщениями работает без интерактивного терминала, поэтому sudo не может запросить пароль.
Решение:
Избегайте sudo в мессенджерах — попросите агента найти альтернативы
Если необходимо использовать sudo, настройте sudo без пароля для конкретных команд в /etc/sudoers
Или переключитесь на терминальный интерфейс для административных задач: hermes chat
Бэкенд Docker не подключается
Причина: Демон Docker не запущен или у пользователя недостаточно прав.
Решение:
# Проверьте, запущен ли Docker
dockerinfo
# Добавьте пользователя в группу docker
sudousermod-aGdocker$USER
newgrpdocker
# Проверьте
dockerrunhello-world
Проблемы с обменом сообщениями
Бот не отвечает на сообщения
Причина: Бот не запущен, не авторизован или ваш пользователь не находится в белом списке.
Решение:
# Проверьте, запущен ли шлюз
hermesgatewaystatus
# Запустите шлюз
hermesgatewaystart
# Проверьте логи на наличие ошибок
cat~/.hermes/logs/gateway.log|tail-50
Сообщения не доставляются
Причина: Проблемы с сетью, истёк токен бота или неправильная настройка вебхука платформы.
Решение:
Проверьте, действителен ли токен вашего бота, с помощью hermes gateway setup
Причина: Отсутствуют зависимости, конфликты портов или неправильно настроены токены.
Решение:
# Установите основные зависимости шлюза обмена сообщениями
pipinstall"hermes-agent[messaging]"# Зависимости Telegram, Discord, Slack и общего шлюза# Проверьте конфликты портов
lsof-i:8080
# Проверьте конфигурацию
hermesconfigshow
WSL: Шлюз постоянно отключается или hermes gateway start не работает
Причина: Поддержка systemd в WSL ненадёжна. Во многих установках WSL2 systemd не включён, и даже если включён, службы могут не пережить перезагрузку WSL или отключение Windows в режиме ожидания.
Решение: Используйте режим переднего плана вместо службы systemd:
# Вариант 1: Напрямую в переднем плане (проще всего)
hermesgatewayrun
# Вариант 2: Постоянный через tmux (переживает закрытие терминала)
tmuxnew-shermes'hermes gateway run'# Подключиться позже: tmux attach -t hermes# Вариант 3: В фоне через nohup
nohuphermesgatewayrun>~/.hermes/logs/gateway.log2>&1&
Если вы всё же хотите попробовать systemd, убедитесь, что он включён:
Откройте /etc/wsl.conf (создайте, если его нет)
Добавьте:
ini
[boot]
systemd=true
Из PowerShell: wsl --shutdown
Снова откройте терминал WSL
Проверьте: systemctl is-system-running должно показывать "running" или "degraded"
tip Автозапуск при загрузке Windows
Для надёжного автозапуска используйте Планировщик задач Windows для запуска WSL + шлюза при входе в систему:
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:
hermesgatewayinstall# Повторно сохраняет текущий PATH
hermesgatewaystart# Определяет обновлённый plist и перезагружается
Вы можете проверить, что plist содержит правильный PATH:
Причина: Большая модель, удалённый API-сервер или тяжёлый системный промпт с множеством инструментов.
Решение:
Попробуйте более быструю/маленькую модель: hermes chat --model openrouter/meta-llama/llama-3.1-8b-instruct
Уменьшите количество активных наборов инструментов: hermes chat -t "terminal"
Проверьте задержку сети до провайдера
Для локальных моделей убедитесь, что у вас достаточно GPU VRAM
Высокое использование токенов
Причина: Длинные диалоги, многословные системные промпты или множество вызовов инструментов, накапливающих контекст.
Решение:
# Сожмите диалог для уменьшения токенов
/compress
# Проверьте использование токенов в сессии
/usage
Используйте `/compress` регулярно во время длительных сессий. Это обобщает историю диалога и значительно уменьшает использование токенов, сохраняя контекст.
Сессия становится слишком длинной
Причина: Продолжительные диалоги накапливают сообщения и результаты работы инструментов, приближаясь к лимитам контекста.
Решение:
# Сожмите текущую сессию (сохраняет ключевой контекст)
/compress
# Начните новую сессию со ссылкой на старую
hermeschat
# Возобновите конкретную сессию позже, если нужно
hermeschat--continue
Проблемы с MCP
MCP-сервер не подключается
Причина: Бинарный файл сервера не найден, неверный путь к команде или отсутствует среда выполнения.
Решение:
# Убедитесь, что зависимости MCP установлены (уже включены в стандартную установку)cd~/.hermes/hermes-agent&&uvpipinstall-e".[mcp]"# Для серверов на npm убедитесь, что Node.js доступен
node--version
npx--version
# Протестируйте сервер вручную
npx-y@modelcontextprotocol/server-filesystem/tmp
Проверьте конфигурацию MCP в ~/.hermes/config.yaml:
Причина: Сервер запущен, но обнаружение инструментов не удалось, инструменты были отфильтрованы конфигурацией, или сервер не поддерживает ожидаемую возможность MCP.
Решение:
Проверьте логи шлюза/агента на наличие ошибок подключения MCP
Убедитесь, что сервер отвечает на RPC-метод tools/list
Проверьте настройки tools.include, tools.exclude, tools.resources, tools.prompts или enabled для этого сервера
Помните, что служебные инструменты ресурсов/промптов регистрируются только тогда, когда сессия фактически поддерживает эти возможности
Используйте /reload-mcp после изменения конфигурации
# Проверьте, что MCP-серверы настроены
hermesconfigshow|grep-A12mcp_servers
# Перезапустите Hermes или перезагрузите MCP после изменений конфигурации
hermeschat
Причина: MCP-сервер отвечает слишком долго или аварийно завершил работу во время выполнения.
Решение:
Увеличьте тайм-аут в конфигурации MCP-сервера, если это поддерживается
Проверьте, работает ли процесс MCP-сервера
Для удалённых HTTP 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:
/modelgoogle/gemini-3-flash-preview# переключение для этой сессии# ... пишите свой контент ...
/modelopenai/gpt-5.4# переключение обратно
Запуск нескольких агентов на одном номере WhatsApp (привязка к чату)
Сценарий: В OpenClaw у вас было несколько независимых агентов, привязанных к конкретным чатам WhatsApp — один для группы семейного списка покупок, другой для личного чата. Может ли Hermes это сделать?
Текущее ограничение: Каждый профиль Hermes требует собственного номера/сессии WhatsApp. Вы не можете привязать несколько профилей к разным чатам на одном номере WhatsApp — мост WhatsApp (Baileys) использует одну аутентифицированную сессию на номер.
Обходные пути:
Используйте один профиль с переключением личности. Создайте разные контекстные файлы AGENTS.md или используйте команду /personality, чтобы менять поведение для каждого чата. Агент видит, в каком чате он находится, и может адаптироваться.
Используйте задания cron для специализированных задач. Для отслеживания списка покупок настройте задание cron, которое отслеживает конкретный чат и управляет списком — отдельный агент не нужен.
Используйте отдельные номера. Если вам нужны действительно независимые агенты, свяжите каждый профиль с собственным номером WhatsApp. Виртуальные номера от таких сервисов, как Google Voice, подходят для этого.
Используйте Telegram или Discord. Эти платформы более естественно поддерживают привязку к чату — каждая группа Telegram или канал Discord получает свою сессию, и вы можете запускать несколько токенов ботов (по одному на профиль) в одной учётной записи.
Контроль того, что отображается в Telegram (скрытие логов и рассуждений)
Сценарий: Вы видите логи выполнения шлюза, рассуждения Hermes и детали вызовов инструментов в Telegram вместо только финального вывода.
Решение: Настройка display.tool_progress в config.yaml управляет тем, сколько активности инструментов показывается:
display:tool_progress:"off"# варианты: off, new, all, verbose
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 пользователя на большинстве платформ, поэтому каждый человек получает свой контекст диалога. Это сделано намеренно для конфиденциальности и изоляции контекста.
Обходные пути:
Используйте Slack. Сессии Slack привязаны к треду, а не к пользователю. Несколько пользователей в одном треде делят один диалог — именно то поведение, которое вы описываете. Это самое естественное решение.
Используйте групповой чат с одним пользователем. Если один человек является назначенным "оператором", который передаёт вопросы, сессия остаётся единой. Остальные могут читать.
Используйте канал Discord. Сессии Discord привязаны к каналу, поэтому все пользователи в одном канале делят контекст. Используйте выделенный канал для общего диалога.
Экспорт Hermes на другую машину
Сценарий: Вы накопили навыки, задания cron и воспоминания на одной машине и хотите перенести всё на новый выделенный Linux-сервер.
Решение:
Установите Hermes Agent на новой машине:
bash
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
На исходной машине создайте полную резервную копию:
bash
hermes backup
Это создаёт zip-архив всего каталога ~/.hermes/ — конфигурации, API-ключей, воспоминаний, навыков, сессий и профилей — сохранённый в вашем домашнем каталоге как ~/hermes-backup-<метка-времени>.zip.
Скопируйте zip-файл на новую машину и импортируйте его:
```bash
# На исходной машине
scp ~/hermes-backup-.zip newmachine:~/
# На новой машине
hermes import ~/hermes-backup-.zip
```
На новой машине запустите hermes setup, чтобы проверить, что API-ключи и конфигурация провайдера работают.
Перенос одного профиля на другую машину
Сценарий: Вы хотите перенести или передать один конкретный профиль — не всю установку.
# На исходной машине
hermesprofileexportwork./work-backup.tar.gz
# Скопируйте файл на целевую машину, затем:
hermesprofileimport./work-backup.tar.gzwork
Импортированный профиль будет содержать все конфигурации, воспоминания, сессии и навыки из экспорта. Возможно, потребуется обновить пути или повторно аутентифицироваться у провайдеров, если на новой машине другая настройка.
hermes backup vs hermes profile export
Особенность
hermes backup
hermes profile export
Назначение
Полная миграция машины
Перенос/передача конкретного профиля
Охват
Глобальный (весь каталог ~/.hermes)
Локальный (один каталог профиля)
Включает
Все профили, глобальную конфигурацию, API-ключи, сессии
Один профиль: SOUL.md, воспоминания, сессии, навыки
Учётные данные
Включены (.env и auth.json)
Исключены (удалены для безопасной передачи)
Формат
.zip
.tar.gz
Ручной вариант (rsync): Если вы предпочитаете копировать файлы напрямую, исключите репозиторий кода:
`hermes backup` создаёт согласованный снимок даже при активной работе Hermes. Восстановленный архив исключает локальные файлы среды выполнения, такие как `gateway.pid` и `cron.pid`.
Отказано в доступе при перезагрузке оболочки после установки
Сценарий: После запуска установщика Hermes, source ~/.zshrc выдаёт ошибку отказа в доступе.
Причина: Обычно это происходит, когда у ~/.zshrc (или ~/.bashrc) неправильные права доступа к файлу, или когда установщик не смог чисто записать в него. Это не проблема, связанная с Hermes — это проблема с правами доступа к конфигурации оболочки.
Решение:
# Проверьте права доступа
ls-la~/.zshrc
# Исправьте, если нужно (должно быть -rw-r--r-- или 644)
chmod644~/.zshrc
# Затем перезагрузитеsource~/.zshrc
# Или просто откройте новое окно терминала — оно автоматически подхватит изменения PATH
Если установщик добавил строку PATH, но права неправильные, вы можете добавить её вручную:
Сценарий: Установка завершается успешно, но первая попытка чата завершается ошибкой HTTP 400.
Причина: Обычно несоответствие имени модели — настроенная модель не существует у вашего провайдера, или у API-ключа нет доступа к ней.
Решение:
# Проверьте, какая модель и провайдер настроены
hermesconfigshow|head-20
# Повторно запустите выбор модели
hermesmodel
# Или протестируйте с заведомо рабочей моделью
hermeschat-q"hello"--modelanthropic/claude-opus-4.7
При использовании OpenRouter убедитесь, что на вашем API-ключе есть кредиты. Ошибка 400 от OpenRouter часто означает, что модель требует платного тарифа или в идентификаторе модели опечатка.