Перейти к содержанию
Публикация AiManual

Hermes на VPS: память, навыки и Telegram-бот

Как установить Hermes на Linux VPS, подключить личного Telegram-бота, проверить память и навыки, ограничить доступ и настроить фоновый запуск.

Коротко

Что будет в материале

  1. 01

    Краткое содержание

  2. 02

    Что понадобится

  3. 03

    Почему Hermes — это агент с долговременной памятью, а не просто чат-бот

  4. 04

    Инструментарий агента: возможности и границы доступа

Краткое содержание

  • Что понадобится
  • Почему Hermes — это агент с долговременной памятью, а не просто чат-бот
  • Инструментарий агента: возможности и границы доступа
  • Пошаговое развертывание Hermes на удаленном сервере
  • Типичные проблемы первого запуска и их решение
  • Hermes в действии: сценарии использования и первые шаги

Что понадобится

  • Отдельный Linux VPS с доступом по SSH и обычной учётной записью для агента. Здесь используется headless-установка без рабочего стола.
  • Git, curl, tar и утилита SHA-256; системные библиотеки по требованиям текущего установщика.
  • Токен собственного Telegram-бота и ваш числовой Telegram user ID.
  • Доступ к выбранному провайдеру LLM с заранее установленным бюджетом; внешние инструменты могут потребовать отдельной настройки.
  • Рабочие сетевые подключения к провайдеру модели и Telegram API.

Размер VPS выбирайте по фактической нагрузке и инструментам. Для агента с внешним LLM API не нужно размещать веса модели на том же сервере; локальный инференс — отдельный расчёт ресурсов. Условия VPS можно проверить у Timeweb Cloud (партнёрская ссылка). Перед заказом уточните регион, ресурсы, тарификацию и расходы на хранение.

Цель инструкции — проверить личного Telegram-бота, затем настроить его фоновый запуск. Память и навыки будут доступны в пределах включённых инструментов; это не гарантия безошибочной автономной работы.

Почему Hermes — это агент с долговременной памятью, а не просто чат-бот

Hermes от Nous Research — агент с файловой памятью, библиотекой навыков и поиском по сохранённым сессиям. Эти механизмы помогают переносить полезный контекст между задачами. Сам факт сохранения истории, однако, не гарантирует, что модель найдёт нужную запись и правильно применит её.

Сразу уточним, что здесь понимается под самообучением: веса модели не меняются, fine-tuning не выполняется. Агент обновляет собственную обвязку — дописывает MEMORY.md и USER.md и генерирует новые SKILL.md. То есть развивается не сама LLM, а её рабочая память и библиотека навыков.

Базовую память Hermes можно просмотреть и исправить в Markdown-файлах; история сессий хранится отдельно. Это делает заметки о пользователе доступными для проверки, но не превращает их в полную копию всех диалогов. Для собственных проектов пригодится разбор архитектуры самописного AI-агента с метриками latency, cost и reliability.

Файловая память: MEMORY.md и USER.md как основа контекста

Hermes хранит два типа информации в отдельных файлах. MEMORY.md содержит факты о среде: пути к проектам, конфигурации сервера, версии установленных пакетов, сетевые настройки. USER.md фиксирует предпочтения пользователя: любимый стиль кода, формат ответов, рабочие привычки, часто используемые команды.

Запись появляется, когда агент действительно вызывает инструмент памяти. Просьбу «запомни» стоит проверить по результату инструмента или файлу, а не только по ответу модели. По умолчанию MEMORY.md и USER.md лежат в ~/.hermes/memories/; при изменённом HERMES_HOME путь будет другим. Не записывайте туда ключи и пароли.

Пример содержимого MEMORY.md:

## Среда разработки
- Проект: api-gateway
- Язык: Rust 1.85
- Линтер: clippy
- Сервер: 192.168.1.15, порт 22
- Рабочая директория: /home/user/projects/api-gateway

Пример USER.md:

## Предпочтения
- Отвечать без маркдауна
- Команды shell выводить в одну строку
- Не использовать эмодзи
- Перед выполнением опасных операций запрашивать подтверждение

Снимок памяти включается в контекст в начале сессии. Новые записи сохраняются на диск, но не заменяют этот снимок посреди разговора; для проверки переноса контекста начните новую сессию. Размер памяти ограничен. Пункт о подтверждениях в USER.md — пожелание модели, а не механизм контроля доступа. Подробнее — в документации памяти.

Самообучение через навыки: формат SKILL.md

Hermes может создавать и обновлять переиспользуемые инструкции в SKILL.md. Это не изменение весов LLM и не обязательное действие после любой успешной задачи.

Например, после проверенной сводки AI-новостей можно попросить сохранить метод работы: выбранные источники, проверку дат, группировку и формат ссылок. Получившийся навык нужно прочитать перед повторным использованием. Разрешение искать новости само по себе не означает разрешения публиковать их в чужом чате.

Иллюстрация формата SKILL.md с YAML-заголовком; это инструкция, а не готовая интеграция поиска и отправки:

---
name: daily-ai-news
description: Подготовить проверяемую сводку AI-новостей по согласованным источникам
---
# Сводка AI-новостей
1. Уточни период и разрешённые источники.
2. Проверь дату, первоисточник и ссылку каждой новости.
3. Сгруппируй найденное по темам, отметь непроверенные сведения.
4. Подготовь до десяти пунктов со ссылками.
5. Отправляй только в явно согласованный чат; иначе покажи черновик.

Навык остаётся текстовой инструкцией, качество которой зависит от содержания и доступных инструментов. Внешние навыки и команды в них проверяйте до выполнения. Структура и способы управления описаны в документации Skills.

Полнотекстовый поиск по истории сессий

Hermes использует SQLite и полнотекстовый поиск FTS5 по сохранённым сессиям. Запрос «какой порт мы выбрали для мониторинга?» может помочь найти старое обсуждение, если оно сохранено и доступно этому профилю. Результат нужно сверять с исходной записью: поиск по словам не доказывает правильность ответа и не заменяет актуальную конфигурацию сервиса.

Инструментарий агента: возможности и границы доступа

Hermes содержит инструменты работы с файлами, терминалом, вебом, памятью и расписанием. Доступность зависит от конфигурации, платформы и внешних сервисов. Через hermes tools выбирайте только нужные возможности отдельно для CLI и Telegram. Для более широкого контекста агентных интерфейсов есть технический обзор Google Antigravity; его устройство не следует автоматически переносить на Hermes.

Работа с кодом и консолью

Агент генерирует код на Python, JavaScript, Rust, Bash и других языках по текстовому описанию. Вы пишете: «Скрипт для парсинга логов nginx, подсчёт количества 500-х ошибок за последний час». Hermes создаёт скрипт, предлагает запустить его и возвращает результат.

Не считайте терминал изолированным по умолчанию: backend local выполняет команды на хосте с правами пользователя агента. Контейнерный backend требует отдельной проверки томов, сети и передаваемых секретов. Подтверждения задаются в настройках approvals в config.yaml, а не в USER.md. Режим manual запрашивает согласие для распознанных опасных команд, но не гарантирует перехват любой опасной операции. Для первого теста отключите выполнение команд и запись файлов, затем расширяйте доступ по одной проверенной задаче. См. правила безопасности Hermes.

Пример задания после отдельного разрешения диагностических команд: «Покажи свободное место и наиболее загруженные процессы, ничего не меняй». Проверяйте реальные результаты, а не ожидаемый вывод. Высокая загрузка CPU сама по себе не доказывает утечку памяти.

Поиск в интернете и планирование задач

Hermes использует поисковые API для сбора данных. Вы указываете тему, и агент находит релевантные источники, извлекает ключевую информацию, суммаризирует. Планировщик cron позволяет автоматизировать повторяющиеся задачи: ежедневный мониторинг новостей, проверка статуса сервисов, сбор метрик.

Пример запроса в чате: «Подготовь расписание ежедневной сводки на 09:00 Europe/Moscow, только из согласованных источников, доставка в этот личный чат». До включения проверьте получателя, часовой пояс, следующий запуск и бюджет обращений к модели. Непроверенную задачу оставляйте на паузе.

Для просмотра уже настроенного расписания:

hermes cron list
hermes cron status

Агентные задания выполняет работающий gateway. Статус запланированного запуска не означает, что задача уже выполнена или сообщение доставлено; проверяйте результат первого запуска. Подробнее — планировщик Hermes.

Сабагенты и MCP-серверы

При включённом инструменте делегирования Hermes может распределять подзадачи между агентами. Например, сравнивать несколько разрешённых репозиториев. Параллельная работа увеличивает расход запросов и может создавать конфликты записей; не считайте дочерних агентов автоматически изолированными друг от друга.

MCP (Model Context Protocol) позволяет подключать внешние инструменты и источники данных. Hermes поддерживает MCP-серверы, но конкретная интеграция требует настройки, проверки доверия и минимальных прав. Не выдавайте агенту доступ к рабочей базе лишь ради первого теста. Сопутствующий материал — разбор Apollo, Deep Agents и LangSmith; он не является инструкцией настройки Hermes.

Пошаговое развертывание Hermes на удалённом сервере

Ниже — один личный профиль на Linux с systemd. Используйте выделенную учётную запись без административных прав для повседневной работы агента. Не начинайте с сервера, где хранятся клиентские данные и рабочие секреты. До изменений сохраните нужные данные и определите, как остановить пилот и платные ресурсы.

Установка headless-версии

Официальный установщик подготавливает управляемые версии Python, Node.js и других зависимостей. Не заменяйте его сборкой Tauri или произвольным npm start. В инструкции установки проверьте требования ОС. Администратор заранее устанавливает необходимые системные пакеты.

От имени будущего пользователя сервиса скачайте и изучите установщик:

curl --fail --location --proto '=https' --tlsv1.2 \
  https://hermes-agent.nousresearch.com/install.sh -o hermes-install.sh
less hermes-install.sh

После проверки запустите его без sudo. Следующие флаги пропускают установку дополнительных browser/computer-use компонентов; они не заменяют настройку разрешённых инструментов:

bash hermes-install.sh --skip-browser --skip-computer-use

Откройте новую SSH-сессию. Если launcher не найден, проверьте PATH к ~/.local/bin. Не удаляйте каталог данных ради повторной установки.

Настройка модели и Telegram

Мастер установки мог уже выполнить настройку. При необходимости повторно откройте соответствующие разделы:

hermes model
hermes tools
hermes gateway setup
hermes doctor

Выберите доступную модель своего провайдера. Секреты вводите через предусмотренный мастер, не вставляйте их в команды shell, репозиторий или скриншот. В обычной Linux-установке они хранятся в ~/.hermes/.env, остальные параметры — в ~/.hermes/config.yaml. HERMES_HOME меняет каталог данных; все дальнейшие команды выполняйте под тем же пользователем и с тем же профилем. См. конфигурацию Hermes.

В настройке Telegram укажите токен своего бота от @BotFather и свой числовой user ID в TELEGRAM_ALLOWED_USERS. Не используйте username вместо ID и не включайте доступ для всех. Проверяйте, что остальные allowlist, pairing и группы не расширяют доступ. Для первого теста используйте личный чат, без внешних MCP, терминала и инструментов записи; минимальный набор выбирается через hermes tools.

Первый ответ и фоновый запуск

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

hermes gateway

Отправьте боту «Привет, проверка связи». Проверьте реальный ответ и отсутствие ошибок провайдера. Остановите foreground-процесс через Ctrl+C до установки сервиса.

Для user-сервиса Linux:

hermes gateway install
hermes gateway start
hermes gateway status

Для работы после выхода из SSH администратор должен включить systemd lingering именно для пользователя сервиса. Это разрешает его user-сервисам работать без открытой сессии. Схему и альтернативный системный сервис смотрите в документации gateway; не запускайте оба варианта одновременно. После настройки проверьте работу после выхода, а перезагрузку тестового VPS выполняйте в согласованное время.

Журнал выбранного user-сервиса:

journalctl --user -u hermes-gateway -n 50 --no-pager

Перед передачей журналов удаляйте токены и персональные данные. systemd не обеспечивает доступность внешней модели или Telegram; успешная установка сервиса ещё не подтверждает весь сценарий.

Типичные проблемы первого запуска и их решение

Установка и конфигурация

  • hermes не найден. Проверьте пользователя, PATH и сообщение установщика о расположении launcher.
  • Не хватает системной библиотеки. Передайте администратору точную ошибку и команду из официального установщика; не устанавливайте Tauri/WebView2 наугад.
  • Модель отвечает ошибкой. Проверьте выбранного провайдера, доступ к модели и лимиты через hermes model и кабинет провайдера. Не выводите ключ в журнал.
  • CLI работает, сервис нет. Сверьте пользователя, профиль и HERMES_HOME; изучите hermes doctor и журнал gateway.

Telegram и расписание

Если бот молчит, проверьте статус gateway, числовой ID в allowlist, правильность токена и сетевую ошибку в журнале. Одновременные процессы с одним токеном могут конфликтовать. Диагностируйте конкретный сбой, не отключая TLS-проверки и ограничения пользователей. Причину нельзя заранее объявлять DPI или «истечением MTProto-ключей»: Bot API и MTProto — разные интерфейсы.

Если сообщение по расписанию не пришло, отдельно проверьте выполнение задания и доставку. Не создавайте повторно ту же задачу, пока не исключили работающий дубль. Используйте hermes cron list и hermes cron status.

Hermes в действии: сценарии использования и первые шаги

После первого ответа проверьте память на несекретном примере, затем начните новую сессию. В MEMORY.md достаточно краткого описания тестового проекта, в USER.md — предпочтений по ответам. Правила доступа настраиваются отдельно. Расширяйте инструменты постепенно и оценивайте расходы на реальных коротких задачах.

Три реалистичных сценария после настройки:

Персональный ассистент разработчика. На отдельной тестовой копии репозитория можно просить разобрать структуру проекта, предложить эндпоинт /health и подготовить тесты. Выполнение команд и запись файлов включайте только для согласованного каталога. Коммит и публикация изменений требуют отдельно определённого порядка проверки.

Автоматический исследователь. Агент собирает информацию по заданной теме, фильтрует дубликаты, группирует по подтемам, формирует структурированный отчёт. Полезно для конкурентного анализа, обзора научных статей, мониторинга технологических трендов. Навык daily-ai-news из примера выше - частный случай этого сценария.

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

Для сравнения подходов можно прочитать материал о Google Antigravity 2.0 и разбор кейсов Vecmory. Это сопутствующие публикации, а не подтверждение поведения Hermes. Команды выше сверены с официальной документацией; установка, Telegram-обмен и перезагрузка VPS в рамках подготовки этого материала не выполнялись.

Подписаться на канал