Happy — мобильный и веб-клиент для Claude Code и Codex со сквозным шифрованием
📂 Исходный код на GitHubМобильный и веб-клиент для Claude Code и Codex: управление кодинг-агентами с телефона или браузера в реальном времени, пуш-уведомления, сквозное шифрование и полностью открытый код. Лицензия MIT, около 24 тысяч звёзд на GitHub.
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