Как установить Hermes Agent: пошаговая инструкция для Linux, Windows и Docker
Коротко. Hermes Agent — открытый персональный ИИ-агент от Nous Research, лицензия MIT. На Linux, macOS и WSL2 он ставится одной командой curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash: установщик сам подтягивает Python 3.11, Node.js v22, uv, ripgrep и ffmpeg. Дальше три шага — hermes model (выбрать модель и вписать ключ), hermes (первый диалог), hermes gateway setup (подключить Telegram, если агент нужен в мессенджере). На чистой машине весь путь занимает 20–40 минут, и большая часть этого времени — ожидание, пока скачаются зависимости. Требование, о которое спотыкаются чаще всего: модель должна держать не меньше 64 000 токенов контекста, иначе агент просто не поедет.
Ниже — последовательность, в которой каждый шаг сверен с официальной документацией проекта и репозиторием. Всё проверено на Hermes Agent v0.20.5 — это тег релиза v2026.8.19 от 19 августа 2026 года. Если вы читаете статью сильно позже, сверьте команды со страницей hermes-agent.nousresearch.com/docs: проект выпускает релизы буквально каждую неделю.
Что понадобится до установки
Установщик берёт на себя почти всё, но не всё. Вот что должно быть на машине заранее и что доставится само.
| Компонент | Кто ставит | Комментарий |
|---|---|---|
| Git | вы, заранее | Обязателен на всех платформах |
curl, xz-utils | вы, заранее | Только Linux |
g++ / build-essential | вы, заранее | Нужен, если планируете десктопное приложение (Debian/Ubuntu) |
| Python 3.11 | установщик | Ставится в изолированное окружение агента |
| Node.js v22 | установщик | — |
| uv | установщик | Пакетный менеджер Python |
| ripgrep | установщик | Поиск по файлам |
| ffmpeg | установщик | Конвертация аудио, нужна для голосового режима |
Требования к оперативной памяти, диску и процессору в документации не заданы — проект их не публикует, и придумывать цифру за него не будем. Практический ориентир один: это Node.js плюс Python-окружение плюс история сессий, так что на VPS с гигабайтом памяти и парой гигабайт свободного диска будет тесно.
Какие платформы поддержаны официально
Первый уровень поддержки (проект тестирует сам): macOS на Apple Silicon, Windows 10/11 (x86_64 и aarch64), Linux и WSL2 (x86_64 и aarch64), Docker. По Linux формулировка в документации честная: тестируют на свежей Ubuntu и WSL2, а «если в вашем дистрибутиве есть glibc, systemd и он следует FHS — скорее всего, заработает нормально».
Второй уровень, «по возможности»: Android через Termux (aarch64) и Nix, причём про Nix прямо сказано, что он «часто ломается из-за упаковки node.js».
Явно не поддерживаются: установка из AUR, macOS на Intel-процессорах, установка через PyPI и через Homebrew. Если вы нашли в интернете инструкцию вида brew install hermes или pip install hermes-agent — это не проект Nous Research, и ставить это на рабочую машину не стоит.
Шаг 1. Установка
Linux, macOS, WSL2, Android (Termux)
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
После завершения перечитайте профиль оболочки, чтобы в PATH появился новый бинарник:
source ~/.bashrc # или source ~/.zshrc, если у вас zsh (по умолчанию в macOS)
Windows (PowerShell)
iex (irm https://hermes-agent.nousresearch.com/install.ps1)
Для macOS и Windows в документации как основной вариант рекомендуют десктопный установщик Hermes Desktop с сайта проекта. Командная строка удобнее, когда агент будет жить на сервере, а не на ноутбуке. Собрать и запустить десктопное приложение из уже установленного CLI можно командой hermes desktop.
Docker
Официальный образ — nousresearch/hermes-agent. Сначала один раз проходим мастер настройки в интерактивном контейнере:
mkdir -p ~/.hermes
docker run -it --rm \
-v ~/.hermes:/opt/data \
nousresearch/hermes-agent setup
Мастер спросит ключи и запишет их в ~/.hermes/.env на хосте. Затем запускаем постоянный контейнер со шлюзом:
docker run -d \
--name hermes \
--restart unless-stopped \
-v ~/.hermes:/opt/data \
-p 8642:8642 \
nousresearch/hermes-agent gateway run
Все пользовательские данные — конфиг, ключи, сессии, навыки, память — лежат в одном смонтированном каталоге /opt/data, то есть в ~/.hermes/ на хосте. Сам образ состояния не хранит. У Docker-установки есть одно важное ограничение, которое проект называет прямым текстом: hermes update в Docker не поддерживается — обновляться нужно через docker pull и пересоздание контейнера (как — ниже).
Шаг 2. Убедиться, что установка прошла
Первое, что стоит сделать, — встроенная диагностика:
hermes doctor
Она проверяет зависимости и конфигурацию и подсказывает, что чинить. У неё есть флаг --fix, который пытается исправить найденное автоматически. Если команда hermes вообще не находится, почти всегда причина одна: в PATH нет ~/.local/bin. Вот куда установщик кладёт файлы:
| Режим установки | Код | Бинарник | Данные |
|---|---|---|---|
| Пользовательский | ~/.hermes/hermes-agent/ | ~/.local/bin/hermes | ~/.hermes/ |
| От root | /usr/local/lib/hermes-agent/ | /usr/local/bin/hermes | /root/.hermes/ |
На Windows пользовательские данные лежат в %LOCALAPPDATA%\hermes.
До этого места всё выглядит просто, и на одной машине это действительно просто. Сложность начинается дальше: у агента появляются ключи, которые надо где-то хранить и ротировать, шлюз, который должен пережить перезагрузку, обновления раз в неделю с миграциями конфига и разграничение прав для инструмента, у которого есть доступ к терминалу. Это уже не «поставил и забыл», а маленькая эксплуатация — если тратить на неё время не хочется, мы поднимем Hermes Agent на выделенном сервере и будем держать его в рабочем состоянии, включая обновления и мониторинг.
Шаг 3. Выбрать модель и подключить ключ
Без модели агент бесполезен. Интерактивный мастер:
hermes model
Он проводит через OAuth-авторизацию или ввод API-ключа, даёт выбрать конкретную модель и сохраняет всё в config.yaml. Поддержаны OpenAI, Anthropic Claude, OpenRouter, Ollama, DeepSeek, AWS Bedrock, Google Gemini, xAI Grok и, по документации, ещё более сорока провайдеров.
Если возиться с ключами не хочется, есть путь в одну команду через Nous Portal — собственную площадку разработчиков проекта:
hermes setup --portal
Она включает Nous Portal (ключи провайдеров не нужны), настраивает модель и активирует Tool Gateway.
Главное ограничение по модели: в документации оно сформулировано жёстко — Hermes Agent требует модель с контекстом не менее 64 000 токенов. Половина историй «поставил, но ничего не работает» — это именно попытка подключить дешёвую модель с коротким контекстом.
Полезно сразу настроить запасную цепочку провайдеров, чтобы агент не вставал, когда у основного API сбой:
hermes fallback list
hermes fallback add
Токены у провайдеров платные и расходуются тем быстрее, чем длиннее контекст и чем чаще агент дёргает инструменты. Посмотреть фактический расход можно встроенной аналитикой: hermes insights --days 30.
Шаг 4. Первый запуск
hermes # классический CLI
hermes --tui # современный терминальный интерфейс
В приветственном баннере агент показывает выбранного провайдера и модель — это и есть подтверждение, что шаг 3 отработал. Дальше просто пишете задачу текстом. Многострочный ввод — Alt+Enter, Ctrl+J или Shift+Enter.
Минимум команд внутри сессии, которые стоит знать сразу:
| Команда | Что делает |
|---|---|
/help | Список всех команд |
/tools | Какие инструменты доступны агенту |
/model | Переключить модель на лету |
/save | Сохранить диалог |
Вернуться к прошлому разговору: hermes --continue (короткий вид — hermes -c). Список сессий: hermes sessions list, интерактивный выбор с поиском — hermes sessions browse.
Правило из официальной документации, которое экономит вечер: «если Hermes не справляется с обычным чатом, не добавляйте новые возможности». Сначала рабочий диалог с моделью, только потом шлюз, голос и навыки.
Шаг 5. Подключить Telegram
Это то, ради чего агента чаще всего и ставят: не терминал, а бот, которому можно написать с телефона.
- В Telegram открываете @BotFather и отправляете
/newbot. - Задаёте отображаемое имя и уникальное имя пользователя, оканчивающееся на
bot. - BotFather присылает токен вида
123456789:ABCdefGHIjklMNOpqrSTUvwxYZ. Токен — это полный контроль над ботом, храните его как пароль. - Свой числовой Telegram ID узнаёте у @userinfobot — это число, а не @username.
Дальше два равнозначных пути. Интерактивно:
hermes gateway setup
Мастер проведёт по всем платформам стрелками, покажет, что уже настроено, и предложит перезапустить шлюз. Или вручную — дописать в ~/.hermes/.env:
TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrSTUvwxYZ
TELEGRAM_ALLOWED_USERS=123456789
Несколько пользователей перечисляются через запятую. Запуск в переднем плане для проверки:
hermes gateway
Бот выходит в онлайн за несколько секунд — напишите ему в Telegram, чтобы убедиться. Кроме Telegram шлюз умеет Discord, Slack, WhatsApp, Signal, электронную почту, Teams и Home Assistant.
Шаг 6. Чтобы агент работал круглосуточно
Запущенный в терминале hermes gateway умрёт вместе с сессией SSH. Для постоянной работы шлюз регистрируется как системный сервис:
hermes gateway install # зарегистрировать пользовательский сервис (systemd/launchd)
hermes gateway start # запустить
hermes gateway status # проверить состояние
sudo loginctl enable-linger $USER # чтобы сервис жил после выхода из системы
Последняя строка — та самая, о которой забывают: без enable-linger пользовательский сервис systemd останавливается, когда вы отключаетесь от сервера.
В Docker роль сервиса играет сам контейнер с --restart unless-stopped. Если нужен веб-интерфейс управления, добавьте порт и переменную:
docker run -d \
--name hermes \
--restart unless-stopped \
-v ~/.hermes:/opt/data \
-p 8642:8642 \
-p 9119:9119 \
-e HERMES_DASHBOARD=1 \
nousresearch/hermes-agent gateway run
Вне Docker панель поднимается командой hermes dashboard: по умолчанию порт 9119 и адрес 127.0.0.1, то есть наружу она сама по себе не смотрит — и выставлять её в интернет без обратного прокси с авторизацией не надо.
Безопасность: что включено по умолчанию
Hermes Agent — инструмент с доступом к терминалу, файлам и сети. Это ровно тот класс софта, где настройки по умолчанию надо знать наизусть, а не выяснять по факту.
Подтверждение опасных команд
Режим согласований задаётся в ~/.hermes/config.yaml:
approvals:
mode: smart # smart | manual | off
timeout: 300 # сколько секунд ждать ответа
cron_mode: deny # поведение для фоновых заданий
single_query_mode: deny # поведение для разовых -q сессий
По умолчанию smart: вспомогательная модель оценивает риск команды — безопасное пропускает само, откровенно опасное отклоняет само, спорное выносит на ручное подтверждение. Для фоновых заданий и одиночных запросов значение по умолчанию — deny, и это правильный дефолт: у неинтерактивного запуска нет человека, который нажмёт «нет».
Флаг --yolo (он же /yolo и HERMES_YOLO_MODE=1) отключает все запросы на подтверждение в текущей сессии. На рабочем сервере ему делать нечего. Небольшое утешение: жёсткий чёрный список — форк-бомбы, rm -rf /, затирание диска — перекрывает YOLO и не выполняется даже с ним.
Ограничение записи на диск
Переменная HERMES_WRITE_SAFE_ROOT ограничивает запись: когда она задана, инструменты записи и правки файлов работают только внутри перечисленных каталогов. Отдельно и всегда, независимо от этой переменной, заблокированы защищённые пути — SSH-ключи, .env, учётные данные AWS.
Кто может писать боту
Шлюз по умолчанию запрещает всё: если ни один список доступа не настроен и не выставлен GATEWAY_ALLOW_ALL_USERS, отклоняются все пользователи. Это хороший дефолт, и ломать его флагом «пустить всех» у бота, за которым стоит доступ к терминалу, — плохая идея. Проверка идёт по цепочке: флаг «пустить всех» для платформы → одобренные через личную переписку → списки платформы (TELEGRAM_ALLOWED_USERS и аналоги) → общий список GATEWAY_ALLOWED_USERS → глобальный «пустить всех» → запрет.
Продакшн-чеклист из документации короткий: контейнерный бэкенд, явные списки доступа, запуск не от root, секреты в .env с правами chmod 600, ограничение рабочих каталогов через terminal.cwd. Если агент получает доступ к боевым системам, а не к тестовой песочнице, разумнее сначала спроектировать периметр, чем чинить последствия: мы настроим песочницу и белые списки для агента с доступом к терминалу под конкретный контур компании.
Обновление, резервная копия и удаление
hermes update --check # посмотреть, что прилетит, ничего не устанавливая
hermes update --backup # обновиться, сделав снимок состояния до обновления
hermes update --gateway # обновиться и перезапустить шлюз
hermes backup -o ~/hermes-backup.zip
hermes uninstall
Релизы выходят часто — только с 30 июля по 19 августа 2026 года проект выпустил шесть версий, и в v0.20.5 набралось около 323 влитых pull request'ов. Практический вывод: --check и --backup перед обновлением на рабочей машине — не паранойя, а норма.
В Docker, напомним, hermes update не работает. Обновление там выглядит так:
docker pull nousresearch/hermes-agent:latest
docker rm -f hermes
docker run -d \
--name hermes \
--restart unless-stopped \
-v ~/.hermes:/opt/data \
nousresearch/hermes-agent gateway run
Конфигурация переживает пересоздание контейнера: она лежит в смонтированном каталоге, и при старте контейнер сам прогоняет неинтерактивные миграции схемы конфига.
Что ломается чаще всего
| Симптом | Причина | Что делать |
|---|---|---|
hermes: command not found | В PATH нет ~/.local/bin | source ~/.bashrc, затем hermes doctor |
| Агент стартует и сразу падает | У модели контекст меньше 64 000 токенов | hermes model — выбрать другую модель |
| Бот в Telegram молчит | Ваш ID не в списке доступа — по умолчанию запрещены все | Добавить TELEGRAM_ALLOWED_USERS, перезапустить шлюз |
| Шлюз пропадает после выхода из SSH | Не включён linger для пользовательского сервиса | sudo loginctl enable-linger $USER |
hermes update не работает | Установка в Docker — обновление через образ | docker pull + пересоздать контейнер |
| Непонятно, что вообще происходит | — | hermes doctor, затем hermes logs -n 200 |
Если ничего не помогает, в документации описан порядок восстановления: hermes doctor → hermes model → hermes setup → hermes sessions list → hermes --continue → hermes gateway status. Есть и режим --safe-mode, отключающий все пользовательские настройки — им удобно проверить, что проблема именно в конфиге, а не в самом агенте.
Когда проще не делать самому
Инструкция выше рабочая, и по ней агент действительно поднимется — ничего специально не утаено. Но стоит честно понимать, что установка — это первый вечер, а не весь проект. Дальше начинается то, что съедает время каждую неделю: обновления с миграциями конфига, ключи провайдеров и их лимиты, разграничение прав для инструмента с доступом к shell, резервные копии, мониторинг шлюза, а главное — доведение агента до того, чтобы он приносил пользу в ваших процессах, а не отвечал на вопросы в терминале.
Ставить самому имеет смысл, если у вас есть человек, которому это интересно, и не жалко его времени на эксплуатацию. Если задача звучит как «хочу, чтобы это работало и приносило результат», разумнее довести ИИ-агента до реальных задач компании вместе с теми, кто это уже делал: постановка задач, интеграции, права доступа и сопровождение. Что входит в подписку и сколько стоит сопровождение агента — на странице тарифов.
Частые вопросы
Hermes Agent бесплатный?
Сам агент — открытый код под лицензией MIT, за него платить не нужно. Платными будут токены выбранной модели у её провайдера и сервер, если агент живёт не на вашем ноутбуке. Вариант без собственных ключей провайдеров — Nous Portal, он подключается командой hermes setup --portal.
Можно ли поставить его на обычный VPS?
Да, это штатный сценарий: Linux — платформа первого уровня поддержки, а шлюз штатно регистрируется как systemd-сервис. Единственное, за чем нужно следить, — не выставлять веб-панель наружу без авторизации и не запускать агента от root.
Чем это отличается от установки OpenClaw?
Идея похожа — открытый персональный агент, который ставится одной командой и подключается к мессенджеру. Отличается набор провайдеров, устройство памяти и навыков и модель эксплуатации. Мы отдельно разбирали сравнение OpenClaw и Hermes Agent для бизнеса.
Что делать, если команда установки не отработала до конца?
Запустить hermes doctor — он покажет, какой зависимости не хватает. Чаще всего это отсутствующий Git или, на Linux, xz-utils. Ставить агента через Homebrew, PyPI или AUR не нужно: эти способы установки проектом не поддерживаются.
Сколько времени занимает установка на практике?
На чистой машине с быстрым интернетом — 20–40 минут до первого рабочего диалога с моделью. Подключение Telegram добавляет ещё 10–15 минут, из которых половина уходит на BotFather. Настройка прав, лимитов и автозапуска на сервере — это уже отдельная работа на несколько часов.
Ставить Hermes Agent в Docker или прямо в систему?
Оба варианта штатные, и выбор сводится к тому, кто отвечает за автозапуск. При установке в систему агент живёт пользовательским сервисом (systemd/launchd), и там есть шаг, о котором чаще всего забывают: sudo loginctl enable-linger $USER — без него сервис останавливается, как только вы отключаетесь от сервера. В Docker роль сервиса играет сам контейнер с --restart unless-stopped, отдельный сервис заводить не нужно. Если планируете десктопное приложение, ставьте в систему: для сборки нужен g++/build-essential на самой машине.
Ubuntu или Debian — что выбрать под Hermes Agent?
Для Hermes Agent разницы нет: проект не выделяет ни один из этих дистрибутивов, а список предварительных зависимостей у них одинаковый — git, curl, xz-utils, плюс g++/build-essential, если нужен десктопный клиент. Берите тот дистрибутив, который уже стоит на вашем сервере и который вы умеете обновлять. Требований к оперативной памяти, диску и процессору проект не публикует.
Как ограничить, куда агент может писать файлы?
Переменной HERMES_WRITE_SAFE_ROOT: когда она задана, инструменты записи и правки файлов работают только внутри перечисленных каталогов. Независимо от неё всегда заблокированы защищённые пути — SSH-ключи, .env, учётные данные AWS. Отдельно стоит помнить про --yolo (HERMES_YOLO_MODE=1): он отключает запросы на подтверждение в текущей сессии, и на рабочем сервере ему делать нечего. Жёсткий чёрный список — форк-бомбы, rm -rf /, затирание диска — перекрывает YOLO и не выполняется даже с ним.
Источники: официальная документация Hermes Agent (hermes-agent.nousresearch.com/docs) и репозиторий проекта github.com/NousResearch/hermes-agent. Команды и ключи конфигурации сверены с версией v0.20.5, тег релиза v2026.8.19 от 19 августа 2026 года.