Перейти к содержанию

Обзор развертывания 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. Процесс включает следующие этапы:

  1. Подготовка системы: Установка базовых зависимостей (например, build-essential, git, curl).

  2. Клонирование репозитория: Загрузка исходного кода из GitHub в целевую директорию.

  3. Настройка среды Python: Создание виртуального окружения (venv) с использованием менеджера пакетов uv. Устанавливаются зависимости через pip (включая проверку хеш-сумм для безопасности).

  4. Настройка Node.js: Автоматическая загрузка и установка управляемой версии Node.js (версия 26 или предыдущие LTS) непосредственно в директорию приложения, чтобы избежать конфликтов с системными версиями.

  5. Установка браузерных инструментов: Загрузка движка Playwright Chromium для обеспечения работы функций автоматизации браузера.

  6. Настройка путей: Создание исполняемых файлов-заглушек (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 для использования инструментов автоматизации.

Инструкция по обновлению приложения

Для обновления приложения необходимо использовать встроенную команду:

hermes update

Процесс обновления включает:

  • Автоматическое скачивание изменений из репозитория через git pull --ff-only.

  • Сохранение локальных изменений пользователя с помощью механизма git stash (если они были внесены).

  • Обновление зависимостей Python и Node.js в виртуальном окружении.

Доступные порты для подключения

Приложение работает преимущественно как CLI-инструмент или фоновый сервис (gateway), не открывая стандартных сетевых портов, если это не настроено пользователем через интеграции с мессенджерами.

Запуск и остановка приложения

Управление приложением осуществляется через интерфейс командной строки:

  • Запуск чата: hermes

  • Настройка API-ключей: hermes setup

  • Просмотр конфигурации: hermes config

  • Управление фоновым сервисом (Gateway):

  • Установка сервиса: hermes gateway install

  • Запуск/Остановка: управление через системный менеджер служб или командой hermes gateway.

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×