HAPI: ИИ-агент пишет код, а вы подтверждаете с телефона
HAPI с открытым кодом (AGPL-3.0) выводит сессию ИИ-агента для кода на телефон: чат, файлы, терминал, запросы разрешений, Telegram. Разобрали, как устроена связь через хаб и релей, что видит релей и чем опасно подтверждение «не глядя». Показываем, как поставить схему на свой сервер.
Сделаю под ключ: разберу задачу, назову срок и цену. Чтобы начать, напишите в Telegram одной фразой.
Защищённый удалённый доступАгент стоит и ждёт, пока вы вернётесь к столу
Вы запустили агента на большую задачу и ушли обедать. Через три минуты он спросил, можно ли применить миграцию, и встал. Вернулись через час, а работа простояла. У фрилансера это потерянный час. У студии, где одновременно крутятся три агента, набегает заметная сумма (это моя прикидка, не замер).
HAPI убирает такие простои. Вопрос агента прилетает на телефон, вы смотрите, что именно он хочет сделать, и нажимаете «разрешить» или «отклонить». О проекте написали в канале GitHub Community 6 сентября. Ссылки на репозиторий в посте не было, я нашёл его сам и сверил по списку агентов и функциям.
Что это за проект и что я проверил
Репозиторий github.com/tiann/hapi, язык TypeScript. Данные на 16 октября 2026:
- Лицензия по файлу LICENSE: AGPL-3.0. Бесплатно, но с условиями, о них ниже.
- Создан 24 декабря 2025, 5247 звёзд, 609 форков, не в архиве.
- Последний коммит 15 октября, последний релиз v0.30.7 от 15 сентября. С того дня в ветку main пришло 32 коммита от 12 авторов.
- Основной автор tiann (801 коммит), но заметный вклад внесли ещё несколько человек.
Открытых обращений 330, это вместе с запросами на правки. Проект живой, но ошибок в нём хватает. Сам я HAPI не запускал, дальше пересказ документации и кода.
Как телефон связан с компьютером
В схеме три части. CLI запускает агента на вашей машине. Hub (хаб) хранит сессии в базе SQLite и раздаёт их телефону. Runner по желанию запускает новые сессии из приложения. Хаб можно поставить на тот же ноутбук или на свой VPS.
Дальше выбор, как телефону добраться до хаба. Команда hapi hub --relay поднимает туннель через публичный релей автора. Документация утверждает, что трафик шифруется WireGuard и TLS, а релей пересылает непрозрачные пакеты. Я это не проверял. Хотите обойтись без чужого посредника, берите Cloudflare Tunnel с именованным туннелем, Tailscale или обычный обратный прокси с HTTPS на своём сервере. По умолчанию хаб слушает только 127.0.0.1.
Отдельно работает релей уведомлений push.hapi.run. Содержимое уведомлений шифруется ключом, который есть только у хаба и телефона. Релей видит метаданные: время, размер, IP хаба. Это можно отключить переменными HAPI_IOS_PUSH и HAPI_ANDROID_PUSH. Похожую задачу, дотянуться до машины за NAT через свой сервер, я разбирал в статье про mssh.
Подтверждение с телефона и риск «нажал не глядя»
Клиенты бывают тремя: веб-приложение (PWA), Telegram Mini App и нативные приложения для iOS и Android. В Telegram бот присылает карточку запроса прямо в чат с кнопками «Allow», «Deny» и «Details». Для работы нужен токен бота от BotFather, публичный HTTPS-адрес хаба и привязка аккаунта командой с токеном доступа.
В коде карточки есть деталь, ради которой я и взялся за эту статью. Команда Bash показывается обрезанной до 150 символов. В правке файла видны первые 50 символов старого и нового текста. Для создания файла указаны путь и число символов, содержимого нет. Длинная цепочка команд через && спокойно прячет хвост за многоточием, а кнопка «Allow» стоит под первой строкой. Полный текст открывается в Details, но на ходу его открывают редко.
Режимы YOLO и bypassPermissions вообще отключают вопросы: агент делает всё сам. Для Grok Build документация прямо советует их только в доверенной папке. Тему границ я разбирал в статье про границу автономности ИИ-агента, а схему с подтверждением на своём сервере в обзоре Mensarium. Там классы риска присваивает сама обвязка, у HAPI этого нет: решает человек по тексту карточки. Дополнить его можно слоем вроде shellfirm, хотя совместную работу двух инструментов я не проверял.
Что важно учесть
AGPL-3.0 требует открыть исходники, если вы изменили HAPI и даёте к нему доступ другим людям по сети. Для внутреннего использования командой это обычно не проблема, но договор с клиентом лучше прочитать юристу.
Один токен открывает всё: подключение CLI, вход в веб, привязку Telegram и приложений. Раздел Terminal даёт удалённую оболочку на рабочей машине. Утечка токена равна доступу к компьютеру. Хаб рассчитан на одного пользователя, для команды есть лёгкая изоляция через namespaces, но это не полноценные учётные записи.
Агент выполняется на вашей машине. Если ноутбук ушёл в сон, сессия встанет, и документация это прямо говорит. Нативные приложения в документации описаны как сборка из исходников, про публикацию в магазинах подтверждения я не нашёл, а самый простой путь сегодня PWA или Telegram. Сам HAPI платить не требует, но агентам нужны свои установленные и авторизованные CLI, подписки и ключи на вашей стороне. Для голоса понадобится ключ провайдера распознавания, либо локальный сервер, совместимый с OpenAI.
Что можно сделать уже сейчас
- Поднять хаб на своём VPS или мини-сервере за Cloudflare Tunnel либо Tailscale, без публичного релея, и проверить на тестовом репозитории, что сессия переживает смену ПК на телефон.
- Запустить runner с флагом
--workspace-rootна папку с проектами: без него выбор папки и запуск сессий открыты для любых путей, доступных пользователю ОС. - Отдать агенту отдельного пользователя без прав администратора и держать свежий бэкап. Тогда даже ошибочное «Allow» стоит дешевле.
- Договориться в команде, что в Telegram разрешаются только короткие запросы. Всё с длинными командами, удалением и сетью открывается в Details.
Всё это мы настраиваем как защищённый удалённый доступ: свой сервер, шифрование, ограничения по папкам и пользователям. Стоимость работ смотрите на странице с ценами.
Частые вопросы
Нужен ли Telegram, чтобы пользоваться HAPI?
Нет. По документации Telegram необязателен: хватит веб-приложения в браузере или PWA на домашнем экране. Бот полезен, когда нужны быстрые уведомления с кнопками разрешения.
Видит ли автор проекта мой код?
Историю сессий хранит ваш хаб, центрального сервера с учётными записями у проекта нет. Публичный релей пересылает шифрованный трафик, а релей push-уведомлений видит метаданные. Код и промпты уходят провайдеру модели, как и без HAPI. Если нужна максимальная приватность, берите свой туннель и отключайте push.
Можно ли управлять сессией, начатой на компьютере?
Да, это заявленная функция Seamless Handoff. Сообщение с телефона продолжает ту же сессию, а в терминале возвращает управление двойной пробел. Одновременная работа с Codex в терминале и на телефоне требует версии 0.154.0 или новее. Сам я передачу не проверял.
Коротко о главном
HAPI убирает простои агента, пока вы не у экрана. Инструмент бесплатный, открытый и живой. Цену ошибки определяют две вещи: что агенту разрешено заранее и какие запросы вы одобряете с телефона, не открывая детали.
Хотите, чтобы агент работал, а подтверждения приходили в Telegram без открытых дыр? Напишите мне в Telegram кодовое слово «ПУЛЬТ». Разберём вашу команду и поставим схему на ваш сервер.
Что я делаю для бизнеса
Напишите одной фразой, что нужно. Отвечу, что подойдёт, сколько займёт и сколько стоит. Сообщение уже подготовлено.
- Боты в Telegram, MAX, VK
- Автоматизация процессов и CRM
- Аналитика и дашборды
- Сайты и лендинги под ключ
Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.


