Аддоны виджетов

Виджеты — постоянные веб-страницы (алерты, цели, чат-оверлеи). Они не привязаны к очереди триггеров оверлея.

Манифест

Поле Значение
type widget
web HTML-файл входа
web_type widget (обязателен)
web_contents Дополнительные ресурсы

Прямой URL

Всегда доступен при включённом аддоне:

http://localhost:{WEB_SERVER_PORT}/addon_static/{id}/?token={data.token}

Показывается в настройках как URL виджета для OBS Browser Source. Query-параметр token — токен доступа фронтенда аддона.

Статический виджет (без воркера)

Только manifest.json, иконка, HTML и web_contents. Разрешение: WEB_CONTENT.

Полный виджет (с воркером)

Воркер отдаёт HTTP или Socket.IO для live-данных; веб-страница запрашивает /addon/{id}/… или пространство имён Socket.IO.

Защищайте приватные эндпоинты:

if (query.token !== data.token) {
  return { error: 'Unauthorized' };
}

Отображение в оболочке оверлея

Конфиг приложения widgets[] для каждого установленного виджета:

Поле Назначение
display.app Встраивание в прозрачное окно оверлея приложения
display.web Встраивание в browser source оверлея OBS

Прямой URL работает независимо от флагов отображения.

Синхронизация в реальном времени: пространство имён Socket.IO /overlay, событие widget:sync с { widgets: [{ widgetId, url }] }.

Снимок: GET /widget/snapshot?display=app|web&token=

UI настроек

Настройки → Виджеты: установка, включение, поля GenerateConfig, флажки отображения, копирование URL виджета.