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

Обзор развертывания 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 — стандартное расположение для обычного пользователя.

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

Развертывание выполняется с помощью установочного скрипта, который выполняет следующие этапы:

  1. Подготовка окружения: Установка менеджера пакетов uv, проверка и установка подходящей версии Python (через uv) и Node.js.

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

  3. Создание виртуального окружения: Изоляция зависимостей Python в папке venv.

  4. Установка зависимостей Python:

  5. Установка основного пакета приложения.

  6. Загрузка расширенных функций (extras) через uv sync с проверкой контрольных сумм для обеспечения безопасности.

  7. Установка Node.js компонентов: Настройка окружения для работы браузерных инструментов и TUI-интерфейса.

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

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

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

hermes update
Процесс включает автоматическое скачивание новой версии кода из репозитория, безопасное обновление зависимостей и сохранение локальных изменений пользователя через механизм 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: Установка и запуск сервиса шлюза для работы с мессенджерами.

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