Курс по Гермесу Изменить ответы
До курса · Уровень 0

Поднять бота и запустить

Единственная часть без бота — потому что его ещё нет. Поднимаем Гермеса на машине 24/7 и заводим Telegram-бота. Дальше курс идёт внутри бота.

Pre-work ~30 мин · установка ~30 мин · нужна машина 24/7 и доступ к модели
Ваш сетап

Сначала — три вопроса

Ответьте, и гайд подстроится под вас: уберём всё лишнее, останется один путь без развилок. Ответы запомнятся в этом браузере.

Ваш компьютер
Где будет жить бот (24/7)
Доступ к модели

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.
  • Свои данные прямо сейчас — на старте хватит того, что есть; подключение сервисов будет позже, в курсе.
Дальше встретится SSH — это просто способ зайти в командную строку машины удалённо, из терминала на вашем компьютере. Звучит сурово, но команд там ровно несколько, и все они ниже. Настраивается один раз.

1Сервер (pre-work)

Готовим машину 24/7 заранее, до курса. После каждого шага есть «Проверка»: не прошла — не идём дальше, чиним на месте, чтобы не копить «где-то сломалось, а где — непонятно». Шаги уже под ваши ответы из опросника — лишнего не показываю.

Своя машина 24/7. Шаги с Hetzner (аккаунт, проект, загрузка ключа, создание сервера) вам не нужны — они скрыты. Вместо них на своей машине:
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 уже есть.)

Проверка: в «Терминале» команда ssh -V печатает версию OpenSSH.

Поставьте Windows Terminal из Microsoft Store и работайте в PowerShell. Проверьте, что SSH есть:

ssh -V

Должна вывестись версия OpenSSH. Если команда не найдена — Settings → Apps → Optional features → Add a feature → OpenSSH Client. WSL не нужен.

Проверка: ssh -V печатает версию OpenSSH.

Шаг 1. Hetzner: аккаунт и верификация (делать заранее)

Заведите аккаунт на hetzner.com/cloud → Console, добавьте карту.

Верификация личности обязательна и делается заранее. В accounts.hetzner.com → Verification пройдите проверку. Иногда занимает до суток — поэтому начните за день. Без неё сервер не создать.
Проверка: в аккаунте статус Verification — пройдено, карта привязана.

Шаг 2. Создать проект

В Hetzner Cloud Console нажмите + New Project и назовите его, например, ai-assistant-workshop.

Проверка: проект открыт, вы внутри него.

Шаг 3. Отдельный SSH-ключ под Гермеса

Заведём отдельный ключ — чтобы не смешивать с рабочими. На вашем компьютере в терминале:

ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_hermes -C "ai-assistant-workshop"

Passphrase можно оставить пустой (просто Enter). Появятся два файла: приватный id_ed25519_hermes (никогда никуда не отдавайте) и публичный id_ed25519_hermes.pub.

На Windows путь к ключу — $env:USERPROFILE\.ssh\id_ed25519_hermes (в команде ниже уже учтено).

Скопируйте публичный ключ в буфер:

pbcopy < ~/.ssh/id_ed25519_hermes.pub

Linux: xclip -sel clip < ~/.ssh/id_ed25519_hermes.pub, либо cat и скопировать вручную.

Get-Content $env:USERPROFILE\.ssh\id_ed25519_hermes.pub | Set-Clipboard
В Hetzner грузим только .pub — публичный ключ. Приватный (id_ed25519_hermes без расширения) не отдают никому и никуда не загружают.
Проверка: в буфере строка вида ssh-ed25519 AAAA… ai-assistant-workshop.

Шаг 4. Загрузить ключ в Hetzner

В проекте: Security → SSH Keys → Add SSH Key → вставьте публичный ключ из буфера → имя hermes-vps → отметьте Set as default.

Проверка: ключ hermes-vps виден в списке SSH Keys как default.

Шаг 5. Создать сервер

  1. + Add Server.
  2. Location — поближе к себе: Falkenstein, Nuremberg или Helsinki.
  3. ImageUbuntu 24.04.
  4. Type — в Shared / Regular возьмите CPX22 (2 vCPU AMD, 4 ГБ RAM, 80 ГБ SSD, €7.99/мес). Для бота с запасом.
  5. SSH key — ваш hermes-vps уже выбран (он default).
  6. Create & Buy now. Через ~10 секунд статус станет Running и появится публичный IPv4 — запишите его.
CX-линейка дешевле, но часто помечена «Limited availability». Если доступна (например CX23, 4 ГБ, ~€3.99) — можно взять её, дальше всё одинаково.
Проверка: сервер в статусе Running, у вас на руках публичный IPv4.

Шаг 6. SSH-алиас и первый вход

У своей машины подставьте её локальный IP и вашего пользователя (часто не root) в блок ниже.

Чтобы не печатать IP и путь к ключу каждый раз, пропишем алиас. Откройте (или создайте) файл ~/.ssh/config на вашем компьютере и добавьте блок, подставив свой IP:

Host hermes HostName ВАШ-IPv4 User root IdentityFile ~/.ssh/id_ed25519_hermes IdentitiesOnly yes

Теперь вход — одной короткой командой:

ssh hermes

В первый раз спросит про fingerprint — ответьте yes. Если увидели приглашение root@…:~# — вы на сервере.

Проверка: ssh hermes заводит вас на сервер, видно приглашение root@…:~#.

Шаг 7. Базовое обновление системы

Уже на сервере обновите пакеты:

apt update && apt upgrade -y

Если спросит про конфиги — выбирайте keep the local version. Если обновлялось ядро — перезагрузите и через полминуты зайдите снова:

reboot
Не-root пользователя и firewall на одноразовом VPS не настраиваем: это single-user сервер, вход только по SSH-ключу, а Hermes не слушает входящие соединения. Лишних сущностей не плодим.
Проверка: apt upgrade прошёл без ошибок; после reboot снова заходите по ssh hermes.

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

Сервер готов. Теперь поставим на него Hermes, привяжем модель и Telegram-бота. Один установочный скрипт + визард на несколько вопросов.

Шаг 0. Заготовить три вещи заранее

Чтобы не отвлекаться посреди визарда, подготовьте их сразу:

  1. Токен Telegram-бота. В Telegram откройте @BotFather/newbot → задайте display name → username должен заканчиваться на bot. BotFather выдаст токен вида 123…:AAH… — это пароль от бота, никому не показывайте.
  2. Свой numeric ID. Напишите @userinfobot → Start → он пришлёт ваше число (например 123456789). Именно число, не username.
  3. Ключ OpenRouter. openrouter.ai → пополнить ~$5 → Keys → Create Key, скопировать ключ.
  4. ChatGPT Plus/Pro. Ничего заранее не нужно — вход по коду прямо в визарде.
  5. Claude (Anthropic). Аккаунт Claude Pro/Max (вход по аккаунту прямо в визарде) — либо Anthropic API-ключ с console.anthropic.com.
Проверка: на руках токен бота, ваш numeric ID и (если провайдер по ключу — OpenRouter или Anthropic) ключ.

Шаг 1. Установить Hermes

Зайдите на сервер и запустите установщик:

ssh hermes curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

Скрипт сам поставит uv, Python 3.11, Node.js, ripgrep, ffmpeg и сам Hermes — занимает 3–5 минут. Документация: hermes-agent.nousresearch.com. По завершении автоматически откроется setup-wizard.

Проверка: установка дошла до конца и сама запустила setup-wizard (Quick setup).

Шаг 2. Пройти setup-wizard

Визард задаёт вопросы по порядку. Отвечаем так:

  1. Provider — выберите OpenRouter, вставьте API-ключ. Платите по факту.
  2. Provider — выберите ChatGPT / Codex (подписка): запустится device-code flow — Hermes покажет URL и код, откройте URL на телефоне, войдите в ChatGPT, введите код. Креды лягут в ~/.hermes/auth.json, браузер на сервере не нужен. Фикс-цена, но есть rate-лимиты.
  3. Provider — выберите Anthropic: войдите аккаунтом Claude (подписка Pro/Max, фикс-цена) или вставьте Anthropic API-ключ.
  4. Model — важен надёжный tool use по разумной цене, не максимум качества: Hermes гоняет большой контекст в цикле инструментов. Рекомендую qwen/qwen3.7-plus (дефолт, лучший баланс, ~в 10× дешевле Sonnet) или deepseek/deepseek-v4-flash (ещё дешевле, контекст 1M). Сменить потом — hermes model.
  5. Model — модель Claude (например, Sonnet). Учтите: Hermes гоняет большой контекст в цикле инструментов, поэтому на API-ключе Claude выходит дороже OpenRouter-моделей; на подписке Pro/Max — фикс-цена, но есть лимиты. Сменить потом — hermes model.
  6. Terminal backend — выберите Local (Docker / Modal / SSH для одноразового VPS не нужны).
  7. Messaging — «Set up messaging now» → в мульти-селекте платформ Telegram отмечен по умолчанию → Enter → вставьте Bot token из BotFather.
  8. Allowed user IDs — впишите ваш numeric ID. Несколько — через запятую.
    Не оставляйте пустым — иначе вашим ботом (и вашими кредитами) сможет командовать кто угодно. И только numeric ID, не username — иначе ошибка invalid literal for int.
  9. Home channel — куда Hermes пишет сам (cron, напоминания): на вопрос Use your user ID (…) as home channel? [Y/n]Y.
  10. Systemd serviceInstall 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.
Если случайно вписали @username вместо числа и проскочили — чинится так: hermes config set telegram.chat_id <num>, затем hermes config set telegram.allowed_users <num>, затем sudo hermes gateway restart --system. Пропустили настройку сервиса — hermes setup gateway. Управление и логи: sudo hermes gateway start|stop|status --system, journalctl -u hermes-gateway -f.
Проверка: визард завершился «Setup Complete!», сервис запущен.

Шаг 3. Проверить, что бот живой

Две проверки — из терминала и из Telegram:

  1. CLI: наберите hermes → напишите «привет, кто ты?» → выход Ctrl+D или /exit.
  2. Telegram: откройте t.me/<username вашего бота> → Start → «привет, кто ты?». Бот отвечает — это тот самый момент.
Проверка: бот отвечает и в CLI, и в Telegram.

Опционально — 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:

/kk-1-5

Домашка к этому шагу: пришлите боту скилл onboarding, попросите установить, сделайте /restart и пройдите /onboarding — бот запишет ваш профиль в память.