Обзор развертывания Hermes Agent на сервере¶
Предварительные требования¶
Для успешного развертывания приложения необходимо наличие следующих компонентов и условий:
-
Операционная система: Linux (Ubuntu, Debian, Fedora, Arch), macOS или Android (Termux).
-
Права доступа: Права администратора (
sudo) требуются для установки системных пакетов и конфигурации некоторых компонентов. -
Сетевые требования: Наличие активного интернет-соединения для загрузки репозитория, зависимостей Python, Node.js и браузерных движков.
-
Зависимости системы:
-
git(для клонирования репозитория). -
Pythonверсии 3.11 или выше (до 3.14 включительно). -
Node.js(версии 22.22+, 24.11+ или 26+). -
Скомпилированные инструменты (C++ compiler,
make,gcc/g++).
FDQN итоговой панели на домене hostkey.in¶
| Параметр | Значение |
|---|---|
| Префикс | hermes |
| Домен | hostkey.in |
| Полный шаблон | hermes{Server_ID_from_Invapi}.hostkey.in |
Структура файлов и каталогов¶
Приложение использует разделение между исполняемым кодом и пользовательскими данными:
-
$HERMES_HOME/.hermes/: Основная директория данных (по умолчанию~/.hermes). -
config.yaml: Главный конфигурационный файл. -
.env: Файл с секретами и API-ключами (права доступа0600). -
SOUL.md: Файл с описанием личности агента. -
skills/: Директория со встроенными навыками. -
logs/,sessions/,cron/,image_cache/,audio_cache/,memories/: Служебные директории данных. -
$INSTALL_DIR: Директория с исходным кодом приложения (расположение зависит от типа установки). -
/usr/local/lib/hermes-agent— при установке в систему от имени root на Linux. -
~/.hermes/hermes-agent— стандартное расположение для обычного пользователя.
Процесс установки приложения¶
Развертывание выполняется с помощью установочного скрипта, который выполняет следующие этапы:
-
Подготовка окружения: Установка менеджера пакетов
uv, проверка и установка подходящей версии Python (черезuv) и Node.js. -
Клонирование репозитория: Загрузка исходного кода из GitHub в целевую директорию.
-
Создание виртуального окружения: Изоляция зависимостей Python в папке
venv. -
Установка зависимостей Python:
-
Установка основного пакета приложения.
-
Загрузка расширенных функций (extras) через
uv syncс проверкой контрольных сумм для обеспечения безопасности. -
Установка Node.js компонентов: Настройка окружения для работы браузерных инструментов и TUI-интерфейса.
-
Конфигурация системы: Создание шаблонов конфигурационных файлов (
config.yaml,.env) и настройка путей в системной переменнойPATH.
Права доступа и безопасность¶
-
Защита секретов: Файл
.envсодержит конфиденциальные данные (API ключи, токены) и защищен правами доступа0600(чтение/запись только владельцем). -
Изоляция окружения: Приложение использует виртуальное окружение Python для предотвращения конфликтов с системными библиотеками.
-
Безопасность браузера: Для работы инструментов автоматизации используется изолированный экземпляр Chromium, который загружается через Playwright.
Базы данных¶
Приложение не использует внешнюю СУБД в базовой конфигурации, а хранит данные локально:
-
Сессии и логи хранятся в директориях
$HERMES_HOME/sessions/и$HERMES_HOME/logs/. -
Память агента (memories) хранится в
$HERMES_HOME/memories/.
Кастомные скрипты и дополнительные настройки¶
В процессе развертывания выполняются следующие действия:
-
Настройка личности: Создается файл
SOUL.md, определяющий стиль общения агента. -
Синхронизация навыков: Скрипт
skills_sync.pyкопирует встроенные навыки в директорию пользователя. -
Настройка браузера: Автоматическое определение системного браузера и запись пути к нему в
.env. -
Установка драйвера Computer Use: Загрузка и установка компонента
cua-driverдля управления рабочим столом.
Инструкция по обновлению приложения¶
Для обновления основного приложения используется команда:
Процесс включает автоматическое скачивание новой версии кода из репозитория, безопасное обновление зависимостей и сохранение локальных изменений пользователя через механизмgit stash. Расположение конфигурационных файлов и данных¶
| Тип файла | Путь по умолчанию | Назначение |
|---|---|---|
| Конфигурация | $HERMES_HOME/config.yaml | Основные настройки приложения |
| Секреты (API ключи) | $HERMES_HOME/.env | Токены и учетные данные |
| Личность агента | $HERMES_HOME/SOUL.md | Параметры поведения AI |
Доступные порты для подключения¶
Приложение преимущественно работает через CLI или локальные интерфейсы. При использовании режима gateway (для интеграции с мессенджерами) открываются сетевые соединения, управляемые внутренними процессами приложения.
Запуск и управление приложением¶
Основные команды управления:
-
hermes: Запуск основного интерфейса чата. -
hermes setup: Интерактивная настройка (API ключи, параметры). -
hermes config edit: Открытие конфигурационного файла в редакторе. -
hermes gateway install: Установка и запуск сервиса шлюза для работы с мессенджерами.