Web Push уведомления
Фоновые push-уведомления для состояний needs-input и завершения задач, даже когда вкладка браузера закрыта.
Web Push позволяет purplemux подтолкнуть вас, когда сессии Claude нужно ваше внимание — запрос разрешения, завершённая задача — даже после того, как вы закрыли вкладку. Тапните уведомление и попадёте прямо на эту сессию.
Что запускает уведомление
purplemux отправляет push на те же переходы, что вы видите как цветные бейджи в боковой панели.
- Needs input — Claude уперся в запрос разрешения или задал вопрос.
- Завершение задачи — Claude закончил ход (состояние review).
Переходы idle и busy специально не пушатся. Это шум.
Включение
Переключатель в Настройки → Уведомления. Шаги:
- Откройте Настройки → Уведомления и включите Вкл.
- Браузер запросит разрешение на уведомления — выдайте.
- purplemux зарегистрирует подписку Web Push под VAPID-ключи сервера.
Подписка хранится в ~/.purplemux/push-subscriptions.json и идентифицирует ваш конкретный браузер/устройство. Повторите шаги на каждом устройстве, на котором хотите получать уведомления.
VAPID-ключи
purplemux при первом запуске генерирует пару VAPID-ключей сервера приложения и сохраняет в ~/.purplemux/vapid-keys.json (режим 0600). Делать ничего не нужно — публичный ключ автоматически отдаётся браузеру при подписке.
Если когда-нибудь захотите сбросить все подписки (например, после ротации ключей), удалите vapid-keys.json и push-subscriptions.json и перезапустите purplemux. Каждое устройство нужно будет подписать заново.
Фоновая доставка
После подписки телефон получает уведомление через push-сервис ОС:
- iOS — APNs, через мост Web Push в Safari. Доставка — best-effort, может склеиваться при сильном троттлинге устройства.
- Android — FCM через Chrome. Обычно мгновенно.
Уведомление приходит независимо от того, на переднем плане purplemux или нет. Если панель в данный момент видна на каком-нибудь из ваших устройств, purplemux пропустит push, чтобы избежать двойного жужжания.
Тап для перехода
Тап по уведомлению открывает purplemux прямо на сессии, которая его вызвала. Если PWA уже запущен, фокус переходит на нужную вкладку; иначе приложение запускается и сразу переходит туда.
Поиск проблем
- Переключатель серый — Service Workers или Notifications API не поддерживаются. Запустите Настройки → Проверка браузера или см. Поддержка браузеров.
- Разрешение отклонено — очистите разрешение на уведомления для сайта в настройках браузера, потом снова переключите в purplemux.
- Нет push на iOS — убедитесь, что запускаете с иконки на главном экране, а не из Safari. Убедитесь, что iOS 16.4 или новее.
- Самоподписанный сертификат — Web Push откажется регистрироваться. Используйте Tailscale Serve или reverse-proxy с настоящим сертификатом. См. Доступ через Tailscale.
Что дальше
- Настройка PWA — обязательна для push на iOS.
- Доступ через Tailscale — HTTPS для внешней доставки.
- Безопасность и аутентификация — что ещё лежит в
~/.purplemux/.