Обзор развертывания Hermes Agent на сервере¶
Предварительные требования¶
Для успешного развертывания приложения требуются следующие системные ресурсы и параметры:
-
Операционная система: Linux (Ubuntu, Debian, Fedora, Arch), macOS или Android (Termux).
-
Права доступа: Требуются права суперпользователя (
sudo) для установки системных пакетов и настройки путей в/usr/local/bin. -
Сетевой доступ: Необходим стабильный доступ к интернету для загрузки репозитория, Python-пакетов, Node.js и браузерных движков.
FDQN итоговой панели на домене hostkey.in¶
| Параметр | Значение |
|---|---|
| Префикс | hermes |
| Домен | hostkey.in |
| Полный шаблон | hermes{Server_ID_from_Invapi}.hostkey.in |
Структура файлов и каталогов¶
После установки приложение использует следующую структуру для хранения данных:
-
$HERMES_HOME/.env: Конфигурационный файл с API-ключами и токенами (права доступа0600). -
$HERMES_HOME/config.yaml: Основной конфигурационный файл приложения. -
$HERMES_HOME/SOUL.md: Файл с описанием личности агента. -
$HERMES_HOME/logs/: Директория для системных журналов (включаяgateway.log). -
$HERMES_HOME/sessions/: Хранилище сессий. -
$HERMES_HOME/skills/: Каталог с установленными навыками агента. -
$INSTALL_DIR: Директория с исходным кодом приложения (по умолчанию/usr/local/lib/hermes-agentдля root-установки).
Процесс установки приложения¶
Развертывание выполняется с помощью установочного скрипта install.sh. Процесс включает следующие этапы:
-
Подготовка системы: Установка базовых зависимостей (например,
build-essential,git,curl). -
Клонирование репозитория: Загрузка исходного кода из GitHub в целевую директорию.
-
Настройка среды Python: Создание виртуального окружения (
venv) с использованием менеджера пакетовuv. Устанавливаются зависимости черезpip(включая проверку хеш-сумм для безопасности). -
Настройка Node.js: Автоматическая загрузка и установка управляемой версии Node.js (версия 26 или предыдущие LTS) непосредственно в директорию приложения, чтобы избежать конфликтов с системными версиями.
-
Установка браузерных инструментов: Загрузка движка Playwright Chromium для обеспечения работы функций автоматизации браузера.
-
Настройка путей: Создание исполняемых файлов-заглушек (shims) в
/usr/local/binили~/.local/bin, которые обеспечивают корректный запуск приложения с очищенными переменными окружения (PYTHONPATH,PYTHONHOME).
Права доступа и безопасность¶
-
Безопасность данных: Файл
.env, содержащий конфиденциальные данные, защищен правами доступа0600(чтение и запись разрешено только владельцу). -
Изоляция окружения: При запуске через основные команды приложения принудительно очищаются переменные
PYTHONPATHиPYTHONHOMEдля предотвращения конфликтов модулей. -
Безопасность браузера: Для работы Electron-приложения в Linux автоматически настраиваются права доступа к компоненту
chrome-sandbox(владелецroot, права4755).
Базы данных¶
Приложение не использует внешнюю базу данных, а хранит данные локально:
-
Сессии и история сохраняются в
$HERMES_HOME/sessions/. -
Конфигурации и персональные настройки — в
$HERMES_HOME/config.yamlи.env.
Кастомные скрипты и дополнительные настройки¶
В процессе установки выполняются следующие действия:
-
Синхронизация навыков: Скрипт
skills_sync.pyзагружает предустановленные навыки агента в директорию$HERMES_HOME/skills/. -
Настройка личности: Автоматическое создание файла
SOUL.md, определяющего стиль общения агента. -
Конфигурация браузера: Скрипт определяет системный браузер и записывает путь к нему в
.envдля использования инструментов автоматизации.
Инструкция по обновлению приложения¶
Для обновления приложения необходимо использовать встроенную команду:
Процесс обновления включает:
-
Автоматическое скачивание изменений из репозитория через
git pull --ff-only. -
Сохранение локальных изменений пользователя с помощью механизма
git stash(если они были внесены). -
Обновление зависимостей Python и Node.js в виртуальном окружении.
Доступные порты для подключения¶
Приложение работает преимущественно как CLI-инструмент или фоновый сервис (gateway), не открывая стандартных сетевых портов, если это не настроено пользователем через интеграции с мессенджерами.
Запуск и остановка приложения¶
Управление приложением осуществляется через интерфейс командной строки:
-
Запуск чата:
hermes -
Настройка API-ключей:
hermes setup -
Просмотр конфигурации:
hermes config -
Управление фоновым сервисом (Gateway):
-
Установка сервиса:
hermes gateway install -
Запуск/Остановка: управление через системный менеджер служб или командой
hermes gateway.