Самостоятельный хостинг Hermes Agent на VPS

12 мин чтения·Matthieu·hermes-agentai-agentself-hostingdockertelegramsystemd|

Разверните Hermes Agent от Nous Research на своём VPS. Создайте изолированного пользователя, установите одной командой, выберите LLM-провайдера, подключите Telegram и запустите как systemd-сервис.

Hermes Agent -- один из тех проектов, которые развиваются стремительно. С момента запуска в феврале 2026 года Nous Research выпустили девять релизов за семь недель. Версия v0.9.0 вышла 13 апреля, и это совсем другой уровень: локальная веб-панель для управления настройками и сессиями из браузера, 16 платформ обмена сообщениями (включая iMessage и WeChat), нативная поддержка Android/Termux, встроенные команды бэкапа и импорта, быстрый режим для низколатентного инференса и расширяемый контекстный движок. Проект за неполных два месяца прошёл путь от «интересного эксперимента» до «продакшен-готового персонального агента».

Запуск на ноутбуке годится для быстрых экспериментов. Но агент, который засыпает при закрытии крышки, доступен только с клавиатуры и теряет рабочее пространство при перезагрузке -- не очень полезен в долгосрочной перспективе. VPS решает все три проблемы: агент работает 24/7, вы подключаетесь через любую из 16 платформ с телефона, а его память и навыки сохраняются между сессиями.

Настройка простая. Поднимаете VM, создаёте непривилегированного пользователя для изоляции, устанавливаете Hermes, выбираете модель и шлюз, оборачиваете всё в systemd-сервис. На этом всё.

Самостоятельный хостинг AI-агентов на VPS

Зачем хостить самому именно сейчас? Урок привязки к вендору

4 апреля 2026 года Anthropic отрезала сторонние AI-агенты от подписок Claude Pro и Max. До этого дня инструменты вроде OpenClaw позволяли гонять тяжёлые агентные нагрузки за фиксированную месячную плату. В один день эти пользователи получили ошибку 400 и уведомление о миграции. Оставшиеся варианты: перейти на потокенную тарификацию через API (потенциально в 10 раз дороже для активных пользователей), купить корпоративные пакеты использования или перейти на Claude Code Channels от Anthropic -- собственный конкурент OpenClaw, запущенный в том же месяце.

Закономерность очевидна. Строишь рабочий процесс на платформе одного провайдера -- и одно изменение политики может всё сломать. Self-hosted агенты вроде Hermes полностью обходят эту ловушку. Hermes не привязан к провайдерам: из коробки поддерживает 15+ инференс-бэкендов, от OpenRouter до Nous Portal и локального сервера Ollama. Если провайдер меняет условия или цены, вы меняете его одной командой и продолжаете работать. Ваши воспоминания, навыки и сессии остаются на вашем сервере независимо от того, какая LLM стоит за ними.

Что такое Hermes Agent и зачем его хостить самому?

Hermes Agent -- AI-агент с открытым исходным кодом (лицензия MIT) от Nous Research. Он подключается к LLM-провайдерам, выполняет команды в терминале, просматривает веб и запоминает полученную информацию между сессиями. Создаёт переиспользуемые навыки из выполненных задач и поддерживает 16 шлюзов обмена сообщениями: Telegram, Discord, Slack, WhatsApp, Signal, Matrix, iMessage, WeChat, WeCom, Email, SMS, DingTalk, Feishu, Mattermost, Home Assistant и Webhooks.

Самостоятельный хостинг означает, что ваши промпты и данные остаются на вашем сервере. Ни одна сторонняя платформа не видит ваших разговоров. Агент работает непрерывно, накапливает контекст со временем и стоит только VPS-хостинг плюс LLM API-вызовы.

Что нужно Hermes Agent для работы на VPS?

Linux-сервер с установленным Git. Это единственная предпосылка. Установщик сам подтянет Python 3.11+, Node.js v22, ripgrep и ffmpeg. По железу: 2 GB RAM и 10 GB диска -- минимум. 4 GB RAM лучше, если планируете несколько сессий шлюза или использование веб-панели параллельно с агентом.

Требование Минимум Рекомендуется
ОС Ubuntu 22.04 / Debian 12 Ubuntu 24.04
RAM 2 GB 4 GB+
Диск 10 GB свободно 20 GB+
CPU 1 vCPU 2+ vCPU

Предварительные требования

Перед установкой Hermes Agent настройте непривилегированного пользователя и базовый файрвол. Если у вас уже защищённый VPS, переходите к разделу установки.

Создание выделенного пользователя

Подключитесь к серверу по SSH как root и создайте пользователя для Hermes:

adduser hermes --disabled-password --gecos ""
usermod -aG sudo hermes

Дайте этому пользователю беспарольный sudo (нужен для управления сервисами):

echo "hermes ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/hermes
chmod 440 /etc/sudoers.d/hermes

Скопируйте свой SSH-ключ, чтобы можно было входить под этим пользователем:

mkdir -p /home/hermes/.ssh
cp ~/.ssh/authorized_keys /home/hermes/.ssh/
chown -R hermes:hermes /home/hermes/.ssh
chmod 700 /home/hermes/.ssh
chmod 600 /home/hermes/.ssh/authorized_keys

С этого момента работаем под пользователем hermes:

su - hermes

Настройка файрвола

Установите UFW и разрешите только SSH:

sudo apt-get install -y ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw --force enable

Проверьте активные правила:

sudo ufw status verbose

В выводе должно быть видно, что SSH разрешён, а весь остальной входящий трафик запрещён. Шлюз Hermes использует исходящие подключения к API Telegram, поэтому открывать входящие порты для обмена сообщениями не нужно.

Как установить Hermes Agent на Ubuntu?

Одна команда. Запускайте под пользователем hermes, не под root.

Установка одной командой

Virtua.Cloud поддерживает готовый скрипт установки, который настраивает Hermes Agent с systemd-персистентностью за один проход:

curl -fsSL https://virtua.sh/i/hermes-ssh | bash

Скрипт выполняет всё, что описано в следующих разделах: установку Hermes и создание systemd-сервиса. После завершения переходите сразу к настройке LLM-провайдера.

Ручная установка

Если предпочитаете устанавливать пошагово, скачайте скрипт установки и проверьте его перед запуском:

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh -o /tmp/hermes-install.sh
less /tmp/hermes-install.sh

Скрипт устанавливает Python 3.11+ через uv, Node.js v22, ripgrep, ffmpeg и CLI hermes. Когда убедитесь, что всё в порядке:

bash /tmp/hermes-install.sh

Перезагрузите оболочку, чтобы подхватить новую команду hermes:

source ~/.bashrc

Проверьте установленную версию:

hermes --version

Ожидаемый вывод:

Hermes Agent v0.9.0 (2026.4.13)
Project: /home/hermes/.hermes/hermes-agent
Python: 3.11.15
...

Запустите диагностику для проверки отсутствующих зависимостей:

hermes doctor

Ищите зелёные галочки. Предупреждения о ненастроенных API-ключах на этом этапе ожидаемы. Красные пункты по Python или Git нужно исправить, прежде чем продолжать.

Как настроить LLM-провайдера?

Hermes Agent не включает модель. Вы подключаете его к API провайдера и платите за токены. Самый быстрый способ всё настроить -- мастер настройки:

hermes setup

Мастер проведёт вас через выбор провайдера, ввод API-ключа, включение инструментов и настройку шлюза в одной интерактивной сессии. Если предпочитаете настраивать каждый элемент вручную, читайте дальше. Провайдера можно сменить в любое время командой hermes model.

Вариант 1: OpenRouter (рекомендуется для начала)

Создайте аккаунт на openrouter.ai и сгенерируйте API-ключ.

Установщик создал ~/.hermes/.env с полным шаблоном. Сначала ограничьте права доступа:

chmod 600 ~/.hermes/.env

Откройте файл и укажите свой API-ключ в строке OPENROUTER_API_KEY=:

nano ~/.hermes/.env

Найдите строку OPENROUTER_API_KEY= и добавьте свой ключ после знака =. Сохраните и выйдите (Ctrl+X, затем Y, затем Enter).

Установите модель по умолчанию:

hermes config set model.provider openrouter
hermes config set model.default anthropic/claude-sonnet-4

Убедитесь, что файл недоступен другим пользователям:

ls -la ~/.hermes/.env

Права должны показывать -rw------- (600). Только пользователь hermes может читать этот файл.

Вариант 2: Nous Portal

Nous Research запускает собственный инференс-портал с 400+ моделями. Если хотите остаться в экосистеме Nous:

hermes config set model.provider nous

Команда hermes model проведёт вас через аутентификацию.

Вариант 3: Пользовательский OpenAI-совместимый эндпоинт

Если вы запускаете свой инференс-сервер (Ollama, vLLM, llama.cpp) или используете другого провайдера:

echo 'OPENAI_BASE_URL=http://localhost:11434/v1' >> ~/.hermes/.env
echo 'OPENAI_API_KEY=ollama' >> ~/.hermes/.env
echo 'LLM_MODEL=llama3.1:70b' >> ~/.hermes/.env

Сравнение LLM-провайдеров

Провайдер Переменная окружения Модель оплаты Примечания
OpenRouter OPENROUTER_API_KEY За токен, зависит от модели (цены) 200+ моделей, один ключ
Nous Portal через hermes model За токен (цены) 400+ моделей, нативная интеграция
Anthropic ANTHROPIC_API_KEY За токен (цены) Прямой доступ к Claude
Google AI Studio GOOGLE_API_KEY За токен (цены) Модели Gemini, нативная поддержка с v0.8.0
xAI (Grok) XAI_API_KEY За токен (цены) Модели Grok, нативная поддержка с v0.9.0
Hugging Face HF_TOKEN За токен (цены) Полный набор моделей
Ollama (локально) OPENAI_BASE_URL + OPENAI_API_KEY Бесплатно (свой хостинг) Нужен GPU VPS для нормальной скорости
vLLM OPENAI_BASE_URL + OPENAI_API_KEY Бесплатно (свой хостинг) Требуется GPU

Автоматическое переключение между провайдерами встроено с версии v0.6.0. Можно задать цепочку провайдеров по приоритету: если один упадёт, агент автоматически переключится на следующий.

Проверьте подключение к LLM:

hermes -m "What is 2+2? Reply with just the number."

Если получили ответ, провайдер настроен правильно. Если видите ошибку аутентификации, перепроверьте API-ключ в ~/.hermes/.env.

Как настроить режим подтверждения?

В Hermes Agent есть встроенная система подтверждений, которая спрашивает разрешение перед выполнением потенциально опасных команд. На сервере оставьте её включённой:

hermes config set approval_mode ask

Три режима:

  • ask: Спрашивает перед любой командой, которая модифицирует файлы, устанавливает пакеты или обращается к сети. Используйте этот режим. Начиная с v0.8.0, Telegram и Slack показывают нативные кнопки подтверждения вместо того, чтобы требовать набирать ответ.
  • smart: AI-модель оценивает риск и спрашивает только для действительно опасных команд. Быстрее, но полагается на суждение AI.
  • off: Без проверок. Каждая команда выполняется сразу. Не используйте на сервере.

Как подключить Hermes Agent к Telegram?

Шлюз обмена сообщениями позволяет общаться с Hermes с телефона. Telegram -- самый распространённый вариант. Шлюз устанавливает исходящие подключения к API Telegram, поэтому открывать входящие порты не нужно.

Шаг 1: Создание Telegram-бота

Откройте Telegram и напишите @BotFather. Отправьте следующие команды:

  1. /newbot
  2. Введите имя для бота (например, "My Hermes Agent")
  3. Введите юзернейм (должен заканчиваться на bot, например, myhermes_agent_bot)

BotFather ответит токеном бота. Он выглядит как 7123456789:AAHx.... Скопируйте его.

Шаг 2: Получение вашего Telegram user ID

Напишите @userinfobot в Telegram. Бот ответит вашим числовым user ID. Скопируйте это число.

Шаг 3: Настройка шлюза

Добавьте токен бота и ваш user ID в файл окружения:

echo 'TELEGRAM_BOT_TOKEN=7123456789:AAHxYourTokenHere' >> ~/.hermes/.env
echo 'TELEGRAM_ALLOWED_USERS=your_numeric_user_id' >> ~/.hermes/.env

Переменная TELEGRAM_ALLOWED_USERS -- контроль безопасности. Только user ID из этого списка могут взаимодействовать с ботом. Без неё кто угодно, нашедший вашего бота, сможет отправлять ему команды. Несколько ID разделяются запятыми.

Шаг 4: Тестирование шлюза

Запустите шлюз в foreground-режиме:

hermes gateway

Отправьте сообщение боту в Telegram. Сообщение появится в терминале, а ответ вернётся обратно. Нажмите Ctrl+C, чтобы остановить, когда убедитесь, что всё работает.

Если бот не отвечает, проверьте:

  • Токен бота правильно указан в ~/.hermes/.env
  • Ваш user ID есть в TELEGRAM_ALLOWED_USERS
  • VPS может достучаться до api.telegram.org на порту 443 (исходящий HTTPS)

Hermes теперь поддерживает 16 платформ. Помимо Telegram: Discord, Slack, WhatsApp, Signal, Matrix, iMessage (через BlueBubbles), WeChat, WeCom, Email, SMS, DingTalk, Feishu/Lark, Mattermost, Home Assistant и Webhooks. Запустите hermes gateway setup для интерактивного мастера настройки любой из них.

Как запустить Hermes Agent как systemd-сервис?

Запуск hermes gateway в терминальной сессии означает, что он остановится при отключении. Пользовательский systemd-сервис держит шлюз запущенным после выхода и автоматически перезапускает его при сбое или перезагрузке сервера.

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

В Hermes есть встроенная команда:

hermes gateway install

Она создаёт файл сервиса в ~/.config/systemd/user/hermes-gateway.service и автоматически включает lingering. Lingering позволяет пользовательским сервисам работать после выхода из SSH.

Запустите сервис и включите автозагрузку:

systemctl --user enable --now hermes-gateway

Проверьте статус сервиса:

systemctl --user status hermes-gateway

Ищите Active: active (running) в выводе. Если показывает failed, смотрите логи.

Просмотр логов

Просмотр логов шлюза в реальном времени:

journalctl --user -u hermes-gateway -f

Нажмите Ctrl+C для остановки. В логах шлюза отображается каждое входящее сообщение, вызов LLM и выполнение инструментов.

Настройка рабочего каталога

По умолчанию шлюз использует домашний каталог как рабочее пространство. Задайте выделенный каталог для проектов:

echo 'MESSAGING_CWD=/home/hermes/projects' >> ~/.hermes/.env
mkdir -p /home/hermes/projects

Перезапустите сервис для применения:

systemctl --user restart hermes-gateway

Управление из браузера

С версии v0.9.0 Hermes поставляется с локальной веб-панелью. Когда шлюз запущен, откройте её командой:

hermes dashboard

Запускается интерфейс в браузере, где можно управлять настройками, просматривать сессии и навыки, настраивать шлюзы без использования терминала. На VPS можно пробросить порт панели через SSH-туннель для доступа с локальной машины.

Как сделать резервную копию данных Hermes Agent?

Hermes хранит всё своё состояние в ~/.hermes/: память, выученные навыки, историю сессий, конфигурацию, cron-задачи и персону агента. Потеря означает, что агент забудет всё.

С версии v0.9.0 в Hermes есть встроенные команды бэкапа и восстановления:

hermes backup

Создаётся снимок с временной меткой всего каталога ~/.hermes/. Для восстановления на том же сервере или миграции на новый:

hermes import /path/to/backup.tar.gz

Для автоматических ежедневных бэкапов запланируйте через cron:

(crontab -l 2>/dev/null; echo "0 3 * * * /home/hermes/.local/bin/hermes backup") | crontab -

Для бэкапов за пределы сервера используйте rsync для копирования каталога бэкапов на другую машину или в объектное хранилище. Хранить бэкапы только на том же VPS -- не защита от отказа диска.

Как обновить Hermes Agent?

В Hermes Agent есть встроенная команда обновления. Перед обновлением сделайте резервную копию:

hermes backup
hermes update

Проверьте новую версию:

hermes --version

Проверьте, нужны ли изменения в конфигурации после обновления:

hermes config migrate
hermes doctor

config migrate добавляет новые параметры конфигурации со значениями по умолчанию. hermes doctor проверяет, что всё работает.

Перезапустите сервис шлюза для запуска новой версии:

systemctl --user restart hermes-gateway
systemctl --user status hermes-gateway

Если что-то сломалось после обновления, восстановите из резервной копии:

systemctl --user stop hermes-gateway
hermes import /path/to/backup.tar.gz
systemctl --user start hermes-gateway

Чеклист по усилению безопасности

AI-агент на VPS, выполняющий команды в терминале, требует внимания к безопасности. Вот что уже настроено в этом руководстве и несколько дополнительных шагов.

Уже настроено в этом руководстве:

  • Непривилегированный пользователь (hermes) с выделенным домашним каталогом
  • Файрвол UFW, запрещающий весь входящий трафик кроме SSH
  • API-ключи в ~/.hermes/.env с правами 600
  • TELEGRAM_ALLOWED_USERS ограничивает доступ к боту вашим user ID
  • approval_mode: ask требует подтверждение для опасных команд

Дополнительное усиление:

Периодически проверяйте навыки, выученные агентом:

ls -la ~/.hermes/skills/

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

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

journalctl --user -u hermes-gateway --since "1 hour ago" --no-pager

Hermes усиливал безопасность с каждым релизом: блокировка утечки секретов с v0.7.0, MCP OAuth 2.1 с PKCE и защита от SSRF в v0.8.0, а также предотвращение path traversal, нейтрализация shell-инъекций и валидация Twilio-вебхуков в v0.9.0. Обновляйте установку, чтобы пользоваться этими защитами.

Устранение неполадок

С версии v0.9.0 можно выполнить /debug в любой чат-сессии или hermes debug share в терминале, чтобы сгенерировать диагностический отчёт. Это самый быстрый способ выявить проблемы.

Шлюз не запускается:

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

Частые причины: невалидный токен бота, отсутствующий API-ключ или проблемы с сетью.

Telegram-бот не отвечает:

Проверьте токен бота и список допустимых пользователей:

grep TELEGRAM ~/.hermes/.env

Проверьте исходящее подключение:

curl -s https://api.telegram.org/bot<YOUR_TOKEN>/getMe

Валидный ответ с информацией о боте подтверждает работоспособность токена и сети.

Команда hermes не найдена после установки:

source ~/.bashrc

Если по-прежнему не работает, проверьте, есть ли ~/.local/bin в PATH:

echo $PATH | tr ':' '\n' | grep local

Высокое потребление памяти:

Проверьте, что потребляет ресурсы:

top -bn1 | head -20

Если агент порождает долгоживущие процессы, снизьте нагрузку или обновите VPS.

Сколько это стоит?

Самостоятельный хостинг Hermes Agent на VPS стоит сервер плюс использование LLM API. Две составляющие затрат:

  • Хостинг VPS: VPS с 2+ vCPU и 4 GB RAM. Актуальные цены смотрите на странице VPS-тарифов Virtua.Cloud.
  • Вызовы LLM API: Все поддерживаемые провайдеры тарифицируют по токенам. Ваши ежемесячные расходы зависят от выбранной модели и частоты использования. Актуальные тарифы смотрите на странице цен вашего провайдера.

Реальная экономия не только финансовая. Вы владеете данными своего агента, выбираете любого провайдера и ни одно изменение политики не может отключить вас за одну ночь.

Запуск Claude Code на VPS


Авторское право 2026 Virtua.Cloud. Все права защищены. Данный контент является оригинальным произведением команды Virtua.Cloud. Воспроизведение, повторная публикация или распространение без письменного разрешения запрещены.

Hermes Agent на VPS: пошаговая установка