EnglishРусский中文

Урок 2. Варианты установки HAPI#

Зачем это нужно#

В первом уровне курса вы, скорее всего, установили HAPI самым простым способом. Но HAPI поддерживает несколько вариантов подключения — от «всё работает из коробки» до полностью самостоятельного развёртывания. В этом уроке мы разберём каждый вариант, чтобы вы могли выбрать подходящий.

Напоминание: три компонента HAPI#

Прежде чем выбирать вариант установки, вспомним структуру:

Компонент Что делает Обязателен?
CLI Запускает AI-агента Да
Hub Центральный сервер, хранит данные Да
Runner Фоновый сервис для удалённого запуска сессий По желанию

Установка CLI#

Есть несколько способов установить CLI:

Способ 1: npm (рекомендуется)#

npm install -g @twsxtd/hapi

npm — менеджер пакетов для JavaScript. Если у вас установлен Node.js, npm уже есть на вашем компьютере.

Способ 2: Homebrew (для macOS)#

brew install tiann/tap/hapi

Способ 3: Без установки (npx)#

npx @twsxtd/hapi

Этот способ скачивает и запускает HAPI «на лету» — удобно для быстрой проверки.

Способ 4: Готовый файл (binary)#

Скачайте файл с GitHub Releases и выполните:

chmod +x ./hapi              # Разрешить запуск
sudo mv ./hapi /usr/local/bin/  # Переместить в системную папку

Четыре варианта подключения Hub#

Главный вопрос: как вы будете подключаться к Hub с телефона? Вот четыре варианта:


Вариант 1: Relay (по умолчанию) ⭐#

Что это: Встроенный сервис, который автоматически создаёт безопасный туннель к вашему Hub через интернет.

Для кого: Для большинства пользователей. Работает «из коробки».

Как запустить:

hapi hub --relay

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

  • URL-адрес для доступа
  • QR-код — отсканируйте телефоном

Плюсы:

  • ✅ Никакой настройки — просто работает
  • ✅ Работает за NAT и файрволом (даже если провайдер «прячет» ваш компьютер)
  • ✅ Шифрование WireGuard + TLS
  • ✅ Бесплатно

Нюансы:

  • По умолчанию используется UDP-протокол. Если возникают проблемы с подключением, включите TCP-режим:
export HAPI_RELAY_FORCE_TCP=true
hapi hub --relay

UDP и TCP — два способа передачи данных в интернете. UDP — быстрее, но может блокироваться некоторыми сетями. TCP — надёжнее, работает практически везде.


Вариант 2: Cloudflare Tunnel#

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

Для кого: Для тех, кто хочет свой домен (например, hapi.вашсайт.com) и больше контроля.

Как настроить:

  1. Установите cloudflared с сайта Cloudflare

  2. Создайте именованный туннель:

cloudflared tunnel create hapi
cloudflared tunnel route dns hapi hapi.yourdomain.com
  1. Запустите туннель:
cloudflared tunnel --protocol http2 run hapi
  1. Запустите Hub (без –relay):
hapi hub

Плюсы:

  • ✅ Свой красивый домен
  • ✅ Бесплатно
  • ✅ Надёжная инфраструктура Cloudflare

Нюансы:

  • ⚠️ Быстрые туннели (TryCloudflare) не поддерживаются — они не работают с SSE, который HAPI использует для обновлений в реальном времени. Нужен именно «именованный» (named) туннель.
  • ⚠️ Используйте флаг --protocol http2 — протокол QUIC (по умолчанию) может вызывать проблемы с длительными соединениями.

Вариант 3: Tailscale#

Что это: VPN-сервис, который объединяет ваши устройства в частную сеть. Все ваши устройства получают специальные IP-адреса и «видят» друг друга, как будто находятся в одной локальной сети.

Для кого: Для тех, у кого несколько устройств и кто хочет простую частную сеть.

Как настроить:

  1. Установите Tailscale: tailscale.com/download
  2. Подключитесь:
sudo tailscale up
  1. Запустите Hub:
hapi hub
  1. Откройте в браузере телефона (Tailscale должен быть установлен и на телефоне):
http://100.x.x.x:3006

Адрес 100.x.x.x — это ваш Tailscale IP. Узнать его можно командой tailscale ip.

Плюсы:

  • ✅ Полностью частная сеть — трафик не проходит через чужие серверы
  • ✅ Простая настройка
  • ✅ Бесплатно для личного использования (до 100 устройств)

Нюансы:

  • ⚠️ Tailscale нужно установить на все устройства (компьютер + телефон)

Вариант 4: Самостоятельный хостинг (Self-hosted)#

Что это: Вы разворачиваете Hub на сервере с публичным IP-адресом (VPS, облачный сервер).

Для кого: Для опытных пользователей, которые хотят полный контроль.

Как настроить:

  1. На сервере (VPS) запустите Hub:
hapi hub
  1. Настройте обратный прокси (Nginx, Caddy) для HTTPS:

Обратный прокси (reverse proxy) — программа, которая принимает запросы из интернета и перенаправляет их на ваш Hub. Она также может добавить шифрование HTTPS.

  1. На вашем рабочем компьютере настройте подключение CLI к серверу:
export HAPI_API_URL="https://ваш-сервер.com"
export CLI_API_TOKEN="ваш-токен"
hapi

Или используйте интерактивную авторизацию:

hapi auth login

Плюсы:

  • ✅ Полный контроль над всем
  • ✅ Минимальная задержка (если сервер близко)
  • ✅ Не зависите от сторонних сервисов

Нюансы:

  • ⚠️ Нужен сервер (VPS) — от ~$5/мес
  • ⚠️ Нужно настроить HTTPS (Let’s Encrypt — бесплатно)
  • ⚠️ Нужно следить за безопасностью

Сравнительная таблица#

Критерий Relay Cloudflare Tailscale Self-hosted
Сложность ⭐ Легко ⭐⭐ Средне ⭐⭐ Средне ⭐⭐⭐ Сложно
Стоимость Бесплатно Бесплатно Бесплатно VPS ~$5/мес
Свой домен Нет Да Нет Да
Шифрование WireGuard+TLS TLS WireGuard Настраиваете сами
Приватность Через Relay-сервер Через Cloudflare Полная Полная

Настройка Runner (фоновый сервис)#

Независимо от варианта подключения, вы можете настроить Runner — фоновый сервис, который позволяет запускать сессии с телефона:

hapi runner start      # Запустить
hapi runner status     # Проверить статус
hapi runner logs       # Посмотреть логи
hapi runner stop       # Остановить

С запущенным Runner:

  • Ваш компьютер появится в списке «Машины» в Web App
  • Вы сможете запускать новые сессии удалённо
  • Сессии работают даже после закрытия терминала

Как сделать, чтобы HAPI работал постоянно#

Чтобы Hub и Runner не останавливались при закрытии терминала:

Быстрый способ (nohup):#

nohup hapi hub --relay > ~/.hapi/logs/hub.log 2>&1 &
nohup hapi runner start --foreground > ~/.hapi/logs/runner.log 2>&1 &

Надёжный способ (pm2):#

npm install -g pm2
pm2 start "hapi hub --relay" --name hapi-hub
pm2 start "hapi runner start --foreground" --name hapi-runner
pm2 startup   # Автозапуск при перезагрузке
pm2 save

pm2 — менеджер процессов, который автоматически перезапускает программы при сбоях и при перезагрузке компьютера.


Итоги урока#

  • Relay — самый простой вариант, работает из коробки, подходит большинству
  • Cloudflare Tunnel — если хотите свой домен и надёжную инфраструктуру
  • Tailscale — если хотите полностью частную сеть между устройствами
  • Self-hosted — если хотите полный контроль и у вас есть свой сервер
  • Runner позволяет запускать сессии удалённо с телефона
  • Используйте pm2 или systemd для постоянной работы HAPI