Happy — мобильный и веб-клиент для Claude Code и Codex со сквозным шифрованием

· 2 мин чтения
ai-agents mobile remote-control encryption open-source
📂 Исходный код на GitHub

Мобильный и веб-клиент для Claude Code и Codex: управление кодинг-агентами с телефона или браузера в реальном времени, пуш-уведомления, сквозное шифрование и полностью открытый код. Лицензия MIT, около 24 тысяч звёзд на GitHub.

Happy — мобильный и веб-клиент для Claude Code и Codex со сквозным шифрованием

Happy — open-source клиент для удалённого управления кодинг-агентами. Запускаете happy вместо claude или happy codex вместо codex — и получаете доступ к сессии агента с телефона, из браузера или нативного macOS-приложения, причём весь трафик между устройствами зашифрован сквозным шифрованием. Проект от команды Slopus собрал около 24 тысяч звёзд на GitHub и распространяется по лицензии MIT.

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

Облачные кодинг-агенты хороши, но у них есть особенность: агент работает, а вы сидите и смотрите в терминал. Happy решает именно эту проблему — авторы проекта описывают его как результат собственного раздражения невозможностью заглянуть, чем занят AI-агент, когда вы вдали от клавиатуры.

Ключевые сценарии:

  • Мобильный доступ к Claude Code и Codex — проверить, что строит ваш агент, можно из кафе, транспорта или с дивана.
  • Пуш-уведомления — телефон вибрирует, когда агент запрашивает разрешение на действие или упёрся в ошибку. Не нужно поливать терминал взглядом.
  • Мгновенное переключение устройств — начали сессию на компьютере, продолжили с телефона; вернулись — нажали любую клавишу на клавиатуре, и управление снова у вас.
  • Сквозное шифрование — код покидает ваши устройства только в зашифрованном виде.
  • Открытый код без телеметрии — всё можно проверить самостоятельно.

Доступны приложения для iOS и Android, веб-приложение по адресу app.happy.engineering, а также нативное macOS-приложение Happy Desktop, где беседы с агентом отображаются рядом с файлами, диффами, терминалами и превью проекта.

Авторы описывают себя как инженеров, разбросанных по кофейням и «хакерским домам» области залива Сан-Франциско: они постоянно сверялись с телефона, как продвигаются их пет-проекты под управлением AI-агентов, и в итоге сделали инструмент для себя, а затем поделились им с сообществом.

Как это устроено

Архитектура предельно проста для пользователя. На компьютере вместо команды claude вы запускаете обёртку happy (или happy codex вместо codex). Обёртка поднимает обычную сессию агента и одновременно показывает QR-код для подключения с телефона или из браузера. Когда вы берёте управление с мобильного устройства, сессия перезапускается в удалённом режиме. Чтобы вернуть управление компьютеру, достаточно нажать любую клавишу на физической клавиатуре — переключение происходит мгновенно.

При этом агент продолжает работать локально на вашей машине: доступ к файлам, git-репозиторию и учетным данным остаётся у вашего компьютера, а между устройствами синхронизируется только зашифрованный поток событий сессии.

Установка

Приложение скачивается из App Store или Google Play (либо открывается веб-версия), а на компьютер ставится CLI:

npm install -g happy

Пакет недавно мигрировал с имени happy-coder на короткое happy — авторы благодарят @franciscop за то, что он отдал им это имя в npm.

Дальше вместо привычных команд запускаете:

happy claude
# или
happy codex

Требования минимальные: Node.js версии 20 или выше, а для работы с конкретным агентом — его установленный и авторизованный CLI (например, claude для Claude Code или codex для Codex; для Antigravity — утилита agy).

Поддержка других агентов и ACP

Хотя в заголовке проекта фигурируют Claude Code и Codex, на деле обёртка поддерживает заметно больше:

happy agy            # Antigravity CLI
happy openclaw
happy acp opencode   # любой ACP-совместимый агент
happy acp -- custom-agent --flag

Команда happy gemini существует, но объявлена устаревшей — вместо неё предлагается happy agy. Протокол ACP (Agent Client Protocol) позволяет подключить вообще любого совместимого агента, включая собственные скрипты. Для связи сторонних API с аккаунтом есть подкоманды happy connect claude, happy connect codex, happy connect gemini и happy connect status.

Для agy есть нюанс, о котором честно предупреждает документация: бэкенд запускается в режиме agy --print, у него нет интерактивного механизма подтверждений, поэтому выбор режима разрешений в Happy лишь определяет, какой флаг будет передан — --sandbox по умолчанию или --dangerously-skip-permissions в «yolo»-режимах. Внутри Happy окно подтверждения для agy не появляется.

Демон и фоновые сессии

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

happy daemon start
happy daemon stop
happy daemon status
happy daemon list

Демон стартует автоматически при запуске happy, так что вручную им обычно заниматься не нужно. Документация описывает и способ автозапуска после перезагрузки через профиль shell — причём именно этот способ рекомендуется пользователям macOS вместо launchd: LaunchAgent работает в домене, отсоединённом от графической сессии, из-за чего bundled claude-agent-sdk не может достучаться до связки ключей (Keychain) и молча падает с ошибкой аутентификации 401.

Безопасность

Подход к безопасности двухуровневый:

  • Аутентификация построена на криптографических парах ключей (happy auth login / happy auth logout) — приватный ключ не покидает вашу машину.
  • Данные шифруются на устройстве до отправки: сервер синхронизации передаёт только зашифрованный поток и не может прочитать содержимое сессий.

Адрес сервера синхронизации и веб-приложения можно переопределить переменными окружения HAPPY_SERVER_URL и HAPPY_WEBAPP_URL — вплоть до полностью собственной инфраструктуры. Есть и экспериментальная изоляция на уровне ОС: happy sandbox configure ограничивает агенту доступ к файловой системе и сети.

Полный список переменных окружения:

Переменная Назначение
HAPPY_SERVER_URL Свой адрес сервера синхронизации
HAPPY_WEBAPP_URL Свой адрес веб-приложения
HAPPY_HOME_DIR Каталог для данных Happy (по умолчанию ~/.happy)
HAPPY_DISABLE_CAFFEINATE Отключить предотвращение сна на macOS
HAPPY_EXPERIMENTAL Включить экспериментальные функции

Компоненты проекта

Репозиторий — это pnpm-монорепозиторий с несколькими пакетами:

Компонент Назначение
Happy Desktop Нативное приложение для macOS
Happy App Веб-интерфейс и мобильный клиент на Expo
Happy CLI CLI-обёртка для Claude Code и Codex
Happy Agent CLI для удалённого управления агентами (создание, отправка задач, мониторинг сессий)
Happy Server Бэкенд для шифрованной синхронизации

Полезные команды

Команда Что делает
happy Сессия Claude Code (по умолчанию)
happy codex Режим Codex
happy resume <id> Возобновить прошлую сессию
happy notify Отправить пуш на свои устройства
happy doctor Диагностика и поиск проблем

Итог

Happy — это не ещё один агент, а удобный слой управления поверх уже полюбившихся: Claude Code, Codex, Antigravity или любого ACP-совместимого CLI. Если вы гоняете агентов локально и хотите не быть привязанным к рабочему месту, минимальная связка «CLI + приложение на телефоне» ставится за пару минут, а сквозное шифрование и открытый код позволяют не тревожиться о том, куда утекает ваш код. Вносить вклад в проект предлагается по гайду для контрибьюторов, лицензия — MIT.

Источник: https://github.com/slopus/happy