Сначала — три вопроса
Ответьте, и гайд подстроится под вас: уберём всё лишнее, останется один путь без развилок. Ответы запомнятся в этом браузере.
0Введение
Hermes — это harness вокруг LLM: тонкая обвязка, которая превращает модель в личного always-on агента. Бот в Telegram живёт на машине 24/7, помнит вас, умеет ходить в shell, искать в вебе, считать кодом, читать присланные файлы и ставить себе cron. Не нужно сидеть за компьютером — написал текст или голосовое из метро, он сделал. От Claude Code отличается тем, что не привязан к открытому терминалу: работает в фоне, всегда, со своей памятью.
Что понадобится
- Машина 24/7. Проще всего — арендованный VPS (мы пройдём Hetzner, ~€8/мес). Подойдёт и свой мини-комп или старый ноут, если он не уходит в сон.
- Доступ к модели — один из вариантов, что у вас уже есть: ключ OpenRouter (платишь по факту, ~$5 на старт), подписка ChatGPT Plus/Pro (вход по коду) или Claude/Anthropic (подписка Pro/Max либо ключ). Конкретные шаги — под ваш выбор в опроснике.
- Telegram (для бота и numeric ID) и ~30 минут на pre-work + ~30 на установку.
Чего НЕ понадобится
- Уметь программировать — все команды я даю готовыми, их надо вставить.
- Держать машину под рукой — управлять будете удалённо, по SSH.
- Свои данные прямо сейчас — на старте хватит того, что есть; подключение сервисов будет позже, в курсе.
1Сервер (pre-work)
Готовим машину 24/7 заранее, до курса. После каждого шага есть «Проверка»: не прошла — не идём дальше, чиним на месте, чтобы не копить «где-то сломалось, а где — непонятно». Шаги уже под ваши ответы из опросника — лишнего не показываю.
1. Включите удалённый вход (SSH). Linux: sudo systemctl enable --now ssh. macOS: System Settings → General → Sharing → Remote Login.
2. Узнайте её IP в локальной сети. Linux: hostname -I. macOS: ipconfig getifaddr en0.
3. Сгенерируйте SSH-ключ (шаг «Отдельный SSH-ключ под Гермеса» ниже) и добавьте его публичную часть на машину — с вашего компьютера: ssh-copy-id -i ~/.ssh/id_ed25519_hermes.pub ПОЛЬЗОВАТЕЛЬ@IP (или вручную допишите содержимое .pub в ~/.ssh/authorized_keys на машине).
Дальше — общие шаги ниже: SSH-алиас с вашим IP и пользователем и обновление системы. Если на машине не Ubuntu/Debian (например, Mac mini) — установка Hermes отличается, смотрите документацию Hermes.
Шаг 0. Терминал и SSH на вашем компьютере
SSH-клиент на macOS уже встроен — открываете «Терминал» (Cmd + Пробел → «Terminal»), ничего ставить не надо. (На Linux так же — терминал и SSH уже есть.)
Поставьте Windows Terminal из Microsoft Store и работайте в PowerShell. Проверьте, что SSH есть:
Должна вывестись версия OpenSSH. Если команда не найдена — Settings → Apps → Optional features → Add a feature → OpenSSH Client. WSL не нужен.
Шаг 1. Hetzner: аккаунт и верификация (делать заранее)
Заведите аккаунт на hetzner.com/cloud → Console, добавьте карту.
Шаг 2. Создать проект
В Hetzner Cloud Console нажмите + New Project и назовите его, например, ai-assistant-workshop.
Шаг 3. Отдельный SSH-ключ под Гермеса
Заведём отдельный ключ — чтобы не смешивать с рабочими. На вашем компьютере в терминале:
Passphrase можно оставить пустой (просто Enter). Появятся два файла: приватный id_ed25519_hermes (никогда никуда не отдавайте) и публичный id_ed25519_hermes.pub.
Скопируйте публичный ключ в буфер:
Linux: xclip -sel clip < ~/.ssh/id_ed25519_hermes.pub, либо cat и скопировать вручную.
Шаг 4. Загрузить ключ в Hetzner
В проекте: Security → SSH Keys → Add SSH Key → вставьте публичный ключ из буфера → имя hermes-vps → отметьте Set as default.
Шаг 5. Создать сервер
- + Add Server.
- Location — поближе к себе: Falkenstein, Nuremberg или Helsinki.
- Image — Ubuntu 24.04.
- Type — в Shared / Regular возьмите CPX22 (2 vCPU AMD, 4 ГБ RAM, 80 ГБ SSD, €7.99/мес). Для бота с запасом.
- SSH key — ваш hermes-vps уже выбран (он default).
- Create & Buy now. Через ~10 секунд статус станет Running и появится публичный IPv4 — запишите его.
Шаг 6. SSH-алиас и первый вход
Чтобы не печатать IP и путь к ключу каждый раз, пропишем алиас. Откройте (или создайте) файл ~/.ssh/config на вашем компьютере и добавьте блок, подставив свой IP:
Теперь вход — одной короткой командой:
В первый раз спросит про fingerprint — ответьте yes. Если увидели приглашение root@…:~# — вы на сервере.
Шаг 7. Базовое обновление системы
Уже на сервере обновите пакеты:
Если спросит про конфиги — выбирайте keep the local version. Если обновлялось ядро — перезагрузите и через полминуты зайдите снова:
2Установка ассистента
Сервер готов. Теперь поставим на него Hermes, привяжем модель и Telegram-бота. Один установочный скрипт + визард на несколько вопросов.
Шаг 0. Заготовить три вещи заранее
Чтобы не отвлекаться посреди визарда, подготовьте их сразу:
- Токен Telegram-бота. В Telegram откройте @BotFather → /newbot → задайте display name → username должен заканчиваться на bot. BotFather выдаст токен вида 123…:AAH… — это пароль от бота, никому не показывайте.
- Свой numeric ID. Напишите @userinfobot → Start → он пришлёт ваше число (например 123456789). Именно число, не username.
- Ключ OpenRouter. openrouter.ai → пополнить ~$5 → Keys → Create Key, скопировать ключ.
- ChatGPT Plus/Pro. Ничего заранее не нужно — вход по коду прямо в визарде.
- Claude (Anthropic). Аккаунт Claude Pro/Max (вход по аккаунту прямо в визарде) — либо Anthropic API-ключ с console.anthropic.com.
Шаг 1. Установить Hermes
Зайдите на сервер и запустите установщик:
Скрипт сам поставит uv, Python 3.11, Node.js, ripgrep, ffmpeg и сам Hermes — занимает 3–5 минут. Документация: hermes-agent.nousresearch.com. По завершении автоматически откроется setup-wizard.
Шаг 2. Пройти setup-wizard
Визард задаёт вопросы по порядку. Отвечаем так:
- Provider — выберите OpenRouter, вставьте API-ключ. Платите по факту.
- Provider — выберите ChatGPT / Codex (подписка): запустится device-code flow — Hermes покажет URL и код, откройте URL на телефоне, войдите в ChatGPT, введите код. Креды лягут в ~/.hermes/auth.json, браузер на сервере не нужен. Фикс-цена, но есть rate-лимиты.
- Provider — выберите Anthropic: войдите аккаунтом Claude (подписка Pro/Max, фикс-цена) или вставьте Anthropic API-ключ.
- Model — важен надёжный tool use по разумной цене, не максимум качества: Hermes гоняет большой контекст в цикле инструментов. Рекомендую qwen/qwen3.7-plus (дефолт, лучший баланс, ~в 10× дешевле Sonnet) или deepseek/deepseek-v4-flash (ещё дешевле, контекст 1M). Сменить потом — hermes model.
- Model — модель Claude (например, Sonnet). Учтите: Hermes гоняет большой контекст в цикле инструментов, поэтому на API-ключе Claude выходит дороже OpenRouter-моделей; на подписке Pro/Max — фикс-цена, но есть лимиты. Сменить потом — hermes model.
- Terminal backend — выберите Local (Docker / Modal / SSH для одноразового VPS не нужны).
- Messaging — «Set up messaging now» → в мульти-селекте платформ Telegram отмечен по умолчанию → Enter → вставьте Bot token из BotFather.
- Allowed user IDs — впишите ваш numeric ID. Несколько — через запятую.
Не оставляйте пустым — иначе вашим ботом (и вашими кредитами) сможет командовать кто угодно. И только numeric ID, не username — иначе ошибка invalid literal for int.
- Home channel — куда Hermes пишет сам (cron, напоминания): на вопрос Use your user ID (…) as home channel? [Y/n] → Y.
- Systemd service — Install gateway as systemd service? [Y/n] → Y → тип System service (для VPS: стартует на boot, нужен sudo — не User service, это для ноутов) → пользователь запуска root (мы ставили под root; warning про root для одноразового VPS — норм) → Start the service now? [Y/n] → Y. После «Setup Complete!» может ещё раз спросить про gateway — снова Y.
Шаг 3. Проверить, что бот живой
Две проверки — из терминала и из Telegram:
- CLI: наберите hermes → напишите «привет, кто ты?» → выход Ctrl+D или /exit.
- Telegram: откройте t.me/<username вашего бота> → Start → «привет, кто ты?». Бот отвечает — это тот самый момент.
Опционально — VS Code / Cursor Remote-SSH. Поставьте расширение Remote - SSH (в Cursor — оно или Anysphere Remote - SSH; не Dev Containers) → Cmd+Shift+P → Remote-SSH: Connect to Host → hermes (берёт алиас из ~/.ssh/config) → File → Open Folder → /root/.hermes (память, конфиги, скиллы). Терминал на сервере — Ctrl+`. Удобно подсматривать, как бот ведёт свои файлы.
Эстафета у Гермеса
Бот стоит, говорит, слушает только вас. Дальше курс идёт внутри самого бота — напишите ему команду урока в Telegram:
Домашка к этому шагу: пришлите боту скилл onboarding, попросите установить, сделайте /restart и пройдите /onboarding — бот запишет ваш профиль в память.