Если вы открыли репозиторий Hermes Agent после того, как он пересёк отметку 170 000 звёзд на GitHub, вы, скорее всего, упрётесь в ту же стену, что и в еженедельных тредах поддержки: README обещает установку в один клик, а продакшен — это выбор хоста, подключение ключа LLM, прогон hermes doctor, привязка Telegram без утечки токенов и удержание gateway в живом состоянии, когда ноутбук засыпает или дешёвый VPS перезагружается. Hermes — не одноразовая обёртка чата. Это долгоживущий шлюз с эпизодической памятью SQLite, markdown-навыками и межсессионными user-файлами, которые накапливают ценность только при постоянном uptime процесса. Руководство для разработчиков и соло-билдеров, которым нужен рабочий Telegram-агент сегодня днём и хост, отвечающий в личку через месяц. Вы получите требования к окружению для macOS, Linux и типовых VPS, путь официального инсталлятора, настройку провайдера LLM, дымовые тесты CLI и TUI, проводку BotFather, персистентность через launchd или systemd. Почему память требует always-on инфраструктуры — в материале о трёхслойной памяти; полевые данные Pi против VPS против облачного Mac после установки — в тридцатидневном сравнении хостинга. Здесь фокус: от нуля до production Telegram gateway.
00Что вы ставите и зачем нужен gateway
Hermes Agent от Nous Research — MIT-платформа агента между терминальным UI и многоканальным gateway. Один ядровой процесс обслуживает Telegram, Discord, Slack, WhatsApp, Signal и CLI-сессии, разделяя один стек памяти: эфемерный контекст сессии, долговечные skill-документы после тяжёлых задач и persistent user-model markdown плюс эпизодический поиск SQLite FTS5. Tool calling, субагенты, cron-подобное планирование и опциональные MCP-серверы расширяют runtime без форка хранилища памяти.
Успешная установка — только первый шлюз. Пользователи пишут боту с телефона; они ждут ответов с учётом прошлых решений, а не холодного старта каждое утро. Для этого нужен хост, где state.db, каталоги skills и webhook gateway переживают reboot и обновления ОС. MacBook разработчика подходит для шагов ниже; гнать production-трафик Telegram на засыпающий ноутбук — нет. Команды, переросшие hobby-хостинг, обычно переносят тот же config-tarball на выделенный облачный Mac или always-on VPS, когда петля обучения доказала ценность.
Статья предполагает shell-доступ, исходящий HTTPS и право хранить API-ключи на диске. Hermes поддерживает 200+ моделей через OpenRouter, Nous Portal, OpenAI-совместимые endpoint и других провайдеров из upstream-документации. Выберите одного провайдера до install, чтобы пройти полный путь за одну сессию.
БОЛЬТребования к окружению и сбои до шага один
Большинство тикетов по установке — не сломанный curl pipe. Это несовпадение хоста, отсутствующие зависимости или ключи в неправильном месте. Таблица сопоставляет ожидания платформы с тем, что Hermes реально требует для Telegram gateway с постоянным uptime.
| Платформа | Минимум | Персистентность | Типичный сбой до Telegram |
|---|---|---|---|
| macOS 14+ (Apple Silicon или Intel) | 16 ГБ RAM рекомендуется; 20 ГБ свободного диска | launchd LaunchAgent | Gatekeeper блокирует helper; API key в shell profile, но не виден LaunchAgent |
| Ubuntu 22.04 / Debian 12 VPS | 2 vCPU, 4 ГБ RAM, 40 ГБ диск | systemd user или system unit | Исходящий 443 закрыт; нет python3-venv; install path под root ломает обновления |
| Generic Linux (Fedora, Arch) | Как VPS; проверьте glibc | systemd | SELinux или firewall режет callback webhook Telegram |
| Только ноутбук разработчика | Любой поддерживаемый macOS или Linux | Ручной старт | Gateway умирает при sleep; ночные пробелы в Telegram |
| Облачный Mac NUKCLOUD (prod) | SKU 16–24 ГБ; persistent tenant disk | launchd + SSH-туннель для admin TUI | Минимум трения, когда нужны macOS-пути без babysitting ноутбука |
- Python и Node: Официальный инсталлятор тянет runtime-зависимости. На минимальных VPS-образах поставьте build essentials; до pipe скрипта нужны
curl,gitи рабочийpython3. - Выделенный Unix-пользователь: Запускайте Hermes под non-root с фиксированным home. Смешивание state gateway с root или shared login усложняет права на токены и backup.
- Разметка диска: Зарезервируйте место под
state.db, деревья skills и логи. Root на 20 ГБ забивается за недели эпизодического поиска и distillation skills. - Сеть: Telegram требует стабильный исходящий HTTPS и, для webhook mode, достижимый HTTPS endpoint или long-polling из конфига gateway. Home NAT и CGNAT на дешёвых VPS дают паттерн «на Mac работает, на VPS мёртв».
- Секреты: Не коммитьте токены BotFather и ключи LLM. Храните в файлах mode 600 вне git и ссылайтесь на пути только из конфига gateway.
После install выполните hermes doctor, чтобы выловить зависимости до обвинения Telegram. Исправление дрейфа окружения заранее экономит часы разбора логов gateway.
01Установка в один клик на macOS, Linux и VPS
Upstream-инсталлятор одинаков на macOS и Linux. На VPS отличается только способ SSH и владелец home. Шесть шагов ниже — тот же порядок, что на свежих инстансах NUKCLOUD и чистых образах Ubuntu.
-
01
Подготовка хоста: На macOS подтвердите Xcode Command Line Tools или примите prompt инсталлятора. На Ubuntu/Debian VPS:
sudo apt update && sudo apt install -y curl git python3 python3-venv build-essential. Создайте пользователяhermesс home на persistent disk, не на tmpfs. -
02
Официальный инсталлятор: Под этим пользователем выполните однострочный install script Nous Research. Дождитесь завершения: CLI попадёт в PATH, каталоги конфига инициализируются. На production gateway закрепите протестированный релиз, а не main без нужды.
-
03
Версия бинарника:
hermes --version— CLI должен отвечать. Если shell не видит бинарник, перелогиньтесь для обновления PATH или source snippet из вывода инсталлятора. -
04
Диагностика:
hermes doctor— устраните каждое предупреждение до настройки моделей. Doctor проверяет Python-пакеты, права на диск и prerequisites gateway. Пропуск — быстрый путь к боту, который ставится, но не держится online. -
05
Интерактивный TUI: Запустите
hermes tuiпо SSH с pseudo-TTY. UI должен грузиться, принимать ввод и достигать сети. Это доказывает core runtime до перехода в daemon. -
06
Baseline snapshot: Зафиксируйте minor macOS или
/etc/os-release, timezone, install path и listing config/memory. Tarball дерева до Telegram-трафика — восстановление при порче FTS5 после плохого upgrade.
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
hermes --version
hermes doctor
hermes tui
На свежем VPS сначала провижининг в панели, SSH-ключи, hardening sshd, затем install. Если sizing production SKU — на странице заказа выберите диск и RAM до install, чтобы SQLite и skills не делили ужатый root с OS snapshots.
02Ключи LLM, профили провайдеров и дымовые тесты CLI
Hermes без endpoint модели — пустой gateway. Конфигурация в YAML и env под home Hermes; точные имена файлов меняются между релизами — держите закладку на upstream docs для закреплённой версии.
Провайдер: API key в restricted file, например ~/.hermes/secrets/openrouter.env с mode 600, затем ссылка из блока provider. OpenRouter — типичный default для multi-model; Nous Portal и OpenAI-compatible base URL — для команд с контрактами. Default model slug под бюджет и latency. На live gateway не меняйте провайдера без backup state.db и каталогов skills.
Пути памяти: MEMORY.md, USER.md и skills — на persistent volume. На Docker или ephemeral VPS явно bind-mount, иначе compounding memory теряется при recreate контейнера.
Валидация CLI: Из TUI или one-shot CLI отправьте prompt с tool use или записью в память, затем follow-up в новой сессии с ожидаемым recall. Если после контролируемого reboot recall падает — чините персистентность диска до открытия Telegram людям.
export OPENROUTER_API_KEY="sk-or-v1-xxxxxxxx"
export HERMES_DEFAULT_MODEL="anthropic/claude-sonnet-4"
После правки provider config снова hermes doctor. Вывод doctor — быстрый сигнал, что ключ виден тому же user context, что поднимет daemon gateway.
03Проводка Telegram gateway и персистентность 24/7
Telegram — самый частый первый gateway: BotFather быстрый, мобильные клиенты везде. Обращайтесь с токенами как с production security, не demo shortcut.
BotFather: В Telegram откройте @BotFather, /newbot, display name и username на bot, скопируйте HTTP API token. Храните в mode-600, например ~/.hermes/secrets/telegram.token. Путь в конфиге Hermes для Telegram — не в history shell и не в dotfiles под git.
Старт gateway: Документированная subcommand Hermes для Telegram после загрузки provider env. Сначала DM боту, потом группы. Group mode может требовать privacy через BotFather, если бот должен читать все сообщения.
macOS и launchd: LaunchAgent plist грузит secrets env, WorkingDirectory на home Hermes, gateway binary с KeepAlive true. launchctl bootstrap под dedicated user. После reboot — launchctl print.
Linux VPS и systemd: User unit с EnvironmentFile на secrets, Restart=on-failure, WantedBy=multi-user.target или user lingering. Включите lingering: loginctl enable-linger hermes, чтобы gateway пережил logout SSH.
[Unit]
Description=Hermes Telegram Gateway
After=network-online.target
[Service]
EnvironmentFile=%h/.hermes/secrets/openrouter.env
EnvironmentFile=%h/.hermes/secrets/telegram.env
ExecStart=%h/.local/bin/hermes gateway telegram
Restart=on-failure
RestartSec=10
[Install]
WantedBy=default.target
Admin: TUI по SSH с port forwarding; management ports не в публичный интернет. Первая неделя — рост логов, счётчик рестартов gateway, ошибки webhook или long-poll. После семи дней стабильного uptime — еженедельный tarball state.db и skills.
Шпаргалка day-two: hermes --version на drift, hermes doctor после upgrade, hermes tui для debug, логи — journalctl --user -u hermes-telegram.service на Linux или log show --predicate на macOS. Закрепите в runbook рядом с on-call.
04Матрица платформ: где гонять ту же установку
| Измерение | Локальный macOS dev | Linux VPS | Облачный Mac NUKCLOUD |
|---|---|---|---|
| Команда install | Тот же официальный curl | Тот же официальный curl | Тот же curl по SSH |
| Telegram 24/7 | Плохо, если Mac не спит | Хорошо с systemd и linger | Отлично с launchd и питанием ЦОД |
| Персистентность памяти | Полный локальный контроль | Зависит от disk policy; хрупко на tiny images | Tenant-bound NVMe; auditable backup |
| Нагрузка ops | Низкая на install; высокая на uptime | Средняя; следите за CPU steal и egress | Низкая после SSH baseline |
| Apple toolchain | Нативно | Недоступно | Нативные macOS SKU |
| Типичная месячная стоимость | Уже купленное железо + электричество | $5–$40 наклейка + incident time | Почасовой учёт; см. цены |
Инсталлятор намеренно кроссплатформенный; выбор хоста определяет, заметят ли пользователи Telegram пробелы. Shared VPS соблазняют пятёркой в месяц, но jitter канала, oversubscribed CPU и обрывы long-polling всплывают, когда user model начинает казаться умным. Домашний Mac mini работает при контроле питания и ISP; enterprise чаще берут cloud Mac или hardened VPS с документированными границами арендатора.
Командам, которым нужна compounding memory Hermes без CapEx на железо до валидации, почасовой cloud Mac NUKCLOUD сохраняет cash flow, пока вы меряете recall и нагрузку support. Generic macOS VPS по минутам часто oversell CPU и роняют gateway на summarization. Когда Telegram production-facing, стабильный диск, предсказуемый исходящий трафик и хост после reboot важнее экономии десяти долларов на oversubscribed pool.
05Частые вопросы
hermes doctor, выделите user account для state gateway. Для Telegram 24/7 перейдите на машину без sleep или на cloud Mac после локальной валидации конфига.hermes doctor, затем видимость ключа провайдера в контексте daemon. Проверьте путь токена BotFather, исходящий firewall, не заблокирован ли бот в чате. Webhook mode дополнительно требует валидный HTTPS endpoint; long-polling проще на голом VPS, но всё равно нужен стабильный исходящий канал.