Установка

Поднять Hermes Agent можно меньше чем за две минуты — и дальше сразу перейти к разговору с агентом.

совет
Поддержка платформ

Полную таблицу поддержки платформ (какие ОС, способы установки и функции с ограничением по платформе поддерживаются) смотрите на странице Поддержка платформ.

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

Десктопные пакеты для macOS и Windows

Скачайте пакет под свою платформу с сайта Hermes.

  • Windows: откройте скачанный .appinstaller через Windows App Installer. Он поставит подписанный бандл MSIX и запомнит источник обновлений. Пакеты из Microsoft Store принадлежат Store и обновляются отдельно.
  • macOS: откройте DMG и скопируйте Hermes.app в «Программы». В ZIP-архиве лежит подписанное приложение, которым пользуется автообновление.

В бандлах уже есть сам агент, Python, поддерживаемые зависимости и собранные интерфейсы. При первом запуске базовый рантайм не собирается. Доступ к провайдерам и опциональные интеграции всё равно могут требовать сети.

Bootstrap-установщик Hermes-Setup устроен иначе: он скачивает установку из исходников и собирает десктопное приложение. Подробнее — на странице Hermes Desktop.

Отдельной загрузки Desktop только для удалённой работы нет. Чтобы использовать Desktop с бэкендом Hermes на другой машине, установите любой из пакетов выше и подключите его в Settings → Gateways; см. Подключение к удалённому бэкенду.

заметка

Установщик для macOS собран только под Apple Silicon. macOS на процессорах x86 (Intel) — неподдерживаемая платформа.

Без Hermes Desktop

Нужна только консоль? Тогда выполните:

Linux / macOS / WSL2

curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

Windows (нативно)

Запустите в PowerShell:

iex (irm https://hermes-agent.nousresearch.com/install.ps1) 

Если после консольной установки захочется поставить и запустить Hermes Desktop, достаточно команды:

hermes desktop

Android / Termux

На Android-устройствах с aarch64 используйте APT-пакет для Termux. Сначала подключите его подписанный репозиторий, потом выполняйте pkg install hermes-agent. Скрипты для десктопа и сервера для установки в Termux не подходят.

Что делает установщик из исходников

Скрипты клонируют исходники, ставят uv и передают подготовку зависимостей PM. PM приносит закреплённые версии Python, Node.js, npm, ripgrep и FFmpeg. При установке из исходников выбирается дополнение Python all — это не все опциональные дополнения. По умолчанию PM ставит и браузерные инструменты, и инструменты управления компьютером: agent-browser с закреплённой версией Chromium и cua-driver (драйвер управления компьютером; на macOS, Windows и Linux с glibc). Если скачать что-то не удалось, установка всё равно завершится и напечатает команду для повторной попытки. Браузерный драйвер по умолчанию (browser-harness, движок Browser Use CLI) — обычная Python-зависимость, поэтому он есть при любой установке, в том числе в десктопном приложении. Остальные опциональные инструменты ставятся своими путями — вместе с соответствующей функцией.

Чтобы обойтись без браузерных инструментов, передайте --skip-browser на POSIX или -SkipBrowser в Windows; чтобы обойтись без драйвера управления компьютером — --skip-computer-use / -SkipComputerUse. Hermes запомнит эти выборы: последующие установки и hermes update инструменты не вернут. Команда hermes pm install agent-browser или hermes pm install cua-driver поставит их и отменит выбор.

Скрипты создают лаунчер и готовят каталог данных. В интерактивном режиме они ещё запускают настройку и конфигурацию шлюза. --non-interactive на POSIX или -NonInteractive в Windows пропускает этапы, где нужен ввод. Опциональный этап --include-desktop / -IncludeDesktop собирает десктоп из исходников.

В терминале скрипты показывают по одной строке статуса на шаг, а вывод git, uv и сборок пишут в logs/install.log внутри каталога данных Hermes; если шаг упал, печатаются его последние строки и путь к логу. В CI (задан CI или GITHUB_ACTIONS), при перенаправленном выводе, с --verbose / -Verbose или HERMES_INSTALL_VERBOSE=1 весь вывод идёт в консоль целиком.

Куда что ставится

СпособКодТочка входа CLIДанные пользователя по умолчанию
POSIX-скрипт из исходников~/.hermes/hermes-agent/обёртка ~/.local/bin/hermes~/.hermes/
Windows-скрипт из исходников%LOCALAPPDATA%\hermes\hermes-agent\%LOCALAPPDATA%\hermes\bin\%LOCALAPPDATA%\hermes\
Десктопный бандлВнутри установленного пакета приложенияЛаунчеры из пакета; псевдонимы выполнения в WindowsСтандартный для платформы каталог данных Hermes
Docker/opt/hermes/Entrypoint образа и прослойка hermesСмонтированный /opt/data/
Termux APT$PREFIX/lib/hermes-agent/Симлинки в $PREFIX/bin/~/.hermes/

HERMES_HOME задаёт каталог данных пользователя. Флаг --dir у POSIX-скрипта независимо от него задаёт каталог с исходниками. В Windows для этого есть -HermesHome и -InstallDir. Запуск POSIX-скрипта под root не включает автоматически раскладку FHS: используется домашний каталог root, если явно не указать путь к исходникам.

У хранилища инструментов PM и у поколений Python для каждой установки разный срок жизни. Где они лежат — на странице Управление пакетами. Не удаляйте корневой каталог данных, чтобы починить установку приложения.

После установки

Перезагрузите оболочку и начинайте общение:

source ~/.bashrc   # либо: source ~/.zshrc
hermes             # Поехали!

Чтобы позже перенастроить отдельные параметры, есть специальные команды:

hermes model          # Выбрать провайдера модели и саму модель
hermes tools          # Указать, какие инструменты включены
hermes gateway setup  # Настроить платформы для сообщений
hermes config set     # Задать отдельные значения конфигурации
hermes config get     # Посмотреть отдельные значения конфигурации
hermes setup          # Или запустить полный мастер настройки — всё сразу
совет
Самый короткий путь: Nous Portal

Одна подписка открывает 300+ моделей плюс Tool Gateway (веб-поиск, генерация изображений, синтез речи, облачный браузер). И никакого жонглирования ключами под каждый инструмент:

hermes setup --portal

Команда разом авторизует вас, назначает Nous провайдером и включает Tool Gateway.

совет
Уже пользуетесь Hermes на другой машине?

Пересобирать настройку с нуля не обязательно. Восстановите полный бэкап командой hermes import (см. Перенос Hermes на другую машину) либо перенесите один-единственный агент через hermes profile import (см. Перенос одного профиля на другую машину). Учтите: экспорт профиля по замыслу не включает учётные данные, поэтому сам по себе он не заменяет полный бэкап — в статье hermes backup против hermes profile export разобрано, что когда использовать.


Что нужно заранее

Для POSIX-скрипта из исходников нужны Git, curl, tar и утилиты SHA-256. В Windows скрипт сам подтянет закреплённый архив Git for Windows, если Git нет. Скрипт всегда скачивает проверенную закреплённую версию uv; uv, уже лежащий в PATH, никогда не используется.

Актуальные официальные установки работают на Python 3.14. Более широкий диапазон >=3.11,<3.15 в pyproject.toml нужен, чтобы на старых установках отработал апдейтер, прежде чем PM переведёт их на 3.14; поддержку 3.11–3.13 как рабочей среды он не обещает. Версии управляемых инструментов PM берёт из pm/lock.json и произвольный системный Node в качестве рантайма установки не использует.

Сборке из исходников могут понадобиться нативный компилятор и dev-библиотеки платформы. Сборка Electron из исходников добавляет требования Node к нативным модулям. Для установки готового десктопного пакета всё это не нужно. Chromium в Linux дополнительно требует системных библиотек из дистрибутива.

В Linux с glibc управляемый Node.js линкуется с libatomic.so.1, которой нет в минимальных образах Debian, Ubuntu и семейства RHEL. Если библиотеки нет, установщик и hermes update ставят пакет дистрибутива (libatomic1 для apt и zypper, libatomic для dnf/yum и apk, gcc-libs для pacman). Менеджер пакетов запускается напрямую от root, а в остальных случаях через sudo -n. В интерактивном режиме пароль sudo спросят один раз, до установки зависимостей. Запуски с --non-interactive ничего не спрашивают. Если установку выполнить нельзя, в ошибке будет указана точная команда для найденного менеджера пакетов.

совет
Пользователям Nix

Nix больше не входит в число официально поддерживаемых способов установки (только на условиях best-effort). Если вы всё же работаете с Nix (на NixOS, macOS или Linux), для вас есть отдельный путь: Nix flake, декларативный модуль NixOS и опциональный режим контейнера. Смотрите руководство Настройка Nix и NixOS.


Ручная установка для разработчиков

Для работы с чекаутом исходников начните с раздела рабочий процесс разработчика с PM. Там описаны активация, повседневные команды, обновление зависимостей и текущие ограничения bootstrap. Отдельное тестовое окружение и проверки — в разделе Настройка окружения разработки.


Установка без sudo и под системного пользователя

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

  1. Под администратором поставьте всё, что нужно для сборки из исходников, и библиотеки Linux, которых требует выбранный бэкенд браузера.

  2. Под сервисным пользователем запустите обычный установщик:

    curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
  3. Добавьте фактический каталог лаунчера в окружение оболочки сервисного пользователя:

    export PATH="$HOME/.local/bin:$PATH"
  4. Запустите hermes doctor из-под этой учётки. Вызывайте установленную обёртку, а не жёстко прописанный путь venv/bin/hermes.

  5. Если пользовательский сервис в Linux должен переживать выход из сессии, включите linger под администратором:

    sudo loginctl enable-linger SERVICE_USER

Нынешний установщик из исходников не выполняет шаг Playwright --with-deps. Кроме libatomic для Node.js (см. «Что нужно заранее»), системные пакеты он не ставит. Бинарниками инструментов управляет PM, системные библиотеки ставит администратор. Системный пользователь без sudo получит точную команду libatomic, которую нужно попросить выполнить администратора. См. Автоматизация браузера и Шлюз для мессенджеров.


Решение проблем

ПроблемаРешение
hermes: command not foundПерезагрузите оболочку (source ~/.bashrc) или проверьте PATH
API key not setЗапустите hermes model, чтобы настроить провайдера, или hermes config set OPENROUTER_API_KEY ваш_ключ
После обновления пропала конфигурацияВыполните hermes config check, затем hermes config migrate

Нужна более глубокая диагностика — запустите hermes doctor. Он точно скажет, чего не хватает и как это починить.

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

Hermes работает и с HERMES_HOME через симлинк, и с симлинками на отдельные подкаталоги домашней папки — hooks, skills, sessions, logs. При инициализации домашнего каталога существующие ссылки на каталоги сохраняются, а права на связанные каталоги (и на всё внутри, вроде logs/curator) остаются за их владельцем.

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

hermes doctor показывает такие сбои как проблемы с хранилищем, а не как испорченный YAML. Свой config.yaml оставьте на месте: hermes setup недоступный каталог не лечит. И это проверка доступности каталога, а не слежение за монтированием — существующий каталог сам по себе не доказывает, что смонтирован именно тот том.

Автоопределение способа установки

Кто отвечает за обновление, зависит от запущенной установки, а не только от её каталога данных. Чекауты исходников обновляются управляемым путём через Git. Десктопные бандлы, Docker, Nix и пакеты Termux обновляются механизмом своего владельца-пакета. hermes doctor показывает, откуда взялась установка. Прежде чем менять файлы, которыми владеет пакет, загляните в Обновление и удаление.

перевод и редактура:

обновлено

⌕ ESC