Перейти к основному содержимому

Уведомления

Libre WebUI хранит ящик каждого пользователя, чтобы упоминания, DM, общий доступ, ошибки автоматизации и календарь доходили при закрытой странице.

Ящик

Уведомления — прежде всего строки базы: заголовок/текст шифруются, максимум 500 (старые удаляются), необязательный ключ дедуплицирует повтор. RESTful показывает, считает, отмечает одно/все и удаляет.

Живая доставка через notify:<userId> и GET /api/notifications/events (SSE). Идентичность из сессии, не клиента, SQL — источник истины: пропуск восстанавливается списком, не проигрыванием.

Источники уведомлений

ТипКогда
channel-dmЛичное сообщение
channel-mentionВас @mentions или отвечают
channel-inviteДобавляют в канал
shareДелятся ресурсом
automation-failedВаша автоматизация падает, если не отключила уведомление
calendar-reminderНаступает время напоминания
work-run-finishedНанятый агент завершает
work-run-attentionНужны данные или ошибка
work-takeoverАгент просит перехватить экран
work-approvalЗапуск Work ждёт одобрения действия с побочными эффектами
systemОбъявление инстанции

Публикуется только затронутому пользователю; упоминание неучастника ничего не создаёт.

Исходящие вебхуки

Администратор регистрирует цели:

  • Защищённый выход. Точная URL, без перенаправлений и частных или link-local-адресов, если имя хоста не разрешено через TOOLS_PRIVATE_NETWORK_ALLOWLIST. Имя повторно разрешается при доставке.
  • Подпись. С секретом X-Libre-Signature: sha256=<hmac> от точного тела запроса.
  • Редакция. Оболочка содержит вид, тип, заголовок, ID и время. Тексты, сообщения, промпты, документы не выходят.
  • Долговечность. Ограниченные повторы; 5xx повторяется, 4xx считается решением.
  • Область. Конкретные типы или *.

Push браузера

Настройки → Уведомления регистрируют Web Push, чтобы события дошли при закрытой вкладке:

  • VAPID (RFC 8292). Сервер подписывает ES256-парой, созданной раз и зашифрованной, либо VAPID_PUBLIC_KEY/VAPID_PRIVATE_KEY (VAPID_SUBJECT — контакт). Нет сторонней библиотеки/аккаунта кроме точки браузера.
  • Шифрование (RFC 8291). aes128gcm ключами устройства до выхода; сервис видит шифротекст.
  • Для каждого устройства и сессии. Выход (или «выйти из других сессий») удаляет регистрацию. Точки зашифрованы с ключевым токеном поиска и должны быть публичными HTTPS с той же защитой.
  • Долговечность. Ограниченные повторы; 404/410 удаляет подписку.
  • Полезная нагрузка содержит заголовок, текст, тип и ссылку с той же редакцией.

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

Границы

  • Настроек по отдельным типам пока нет; автоматизация соблюдает своё, выход из канала останавливает его уведомления.