manifest.json

Маніфест описує ідентичність аддона, категорію, дозволи та необов'язковий web UI.

Приклад

{
  "name": {
    "en": "My Addon",
    "ru": "Мой аддон",
    "uk": "Мій аддон"
  },
  "description": {
    "en": "Short description for the settings UI.",
    "ru": "Краткое описание для настроек.",
    "uk": "Короткий опис для налаштувань."
  },
  "id": "MyOrg/my-stream-addon",
  "type": "platform.streaming",
  "version": "1.0.0",
  "author": "Your Name",
  "icon": "logo.png",
  "permissions": ["NETWORK_REQUEST", "WEB_END_POINTS"]
}

Обов'язкові поля

Поле Тип Опис
id string Стабільний ідентифікатор аддона, прив'язаний до GitHub-репозиторію (ORG/REPO). Використовується в URL, depends_on і записах про встановлення
name { en, ru?, uk? } Відображувана назва в налаштуваннях
description { en, ru?, uk? } Короткий опис у налаштуваннях
type string Категорія аддона (див. Категорії аддонів)
version string Рядок семантичної версії
permissions string[] Прапорці можливостей (див. Дозволи)

id має бути унікальним серед встановлених аддонів. Використовується в URL (/addon/{id}/…, /addon_static/{id}/…) і не зобов'язаний збігатися з іменем папки на диску.

Вкажіть ORG/REPO — власника (організацію або користувача GitHub) і назву репозиторію. Приклад: репозиторій https://github.com/MyOrg/my-stream-addon"id": "MyOrg/my-stream-addon". Див. Публікація та релізи — структура релізу та перевірка оновлень.

Необов'язкові поля

Поле Тип Опис
author string Ім'я автора
icon string Ім'я файлу іконки в папці аддона
depends_on string[] Id аддонів, які мають бути встановлені і увімкнені перед увімкненням цього аддона. Встановлення без активації завжди дозволене.
platform string | string[] Обмеження встановлення за ОС: win32, darwin, linux. Якщо пропущено — усі платформи.
app_version string Мінімальна версія StreamKit+ (major.minor.patch, наприклад 1.0.0). Якщо пропущено — будь-яка версія застосунку. Встановлення та оновлення блокуються, якщо застосунок старіший.
web string Локальне ім'я HTML-файлу або зовнішній URL http(s)
web_type "overlay" | "widget" | "application" Обов'язкове, коли встановлено web; має відповідати правилам type нижче
web_contents string[] Додаткові статичні файли, що обслуговуються разом зі сторінкою
overlay object Простий медіа-оверлей: шляхи до файлів audio / video (worker не потрібен)

Правила web і web_type

type Необхідний web_type
overlay overlay
widget widget
application application

З дозволом WEB_CONTENT статичні файли обслуговуються за адресою /addon_static/{id}/.

Категорії аддонів

type Призначення
platform.streaming Інтеграція стримінгової платформи (чат, події, статус ефіру)
platform.donation Інтеграція донат-платформи
overlay Тригерні оверлей-ефекти
overlay.info Інформаційна панель, що показується разом з оверлей-ефектами
widget Постійний web-віджет (OBS browser source, вбудовування в оверлей)
application Окреме вікно всередині застосунку
game Ігрова інтеграція (внутрішньоігрові ефекти від подій стріму)

Документація за категоріями: Platform, Overlay, Widget, Application, Game.

Дозволи в маніфесті

Перелічіть усі можливості, які потрібні вашому аддону. Користувач підтверджує їх під час встановлення. ROOT проходить усі перевірки, але не слід використовувати в production-аддонах.

Відображувані назви дозволів в UI застосунку використовують ключі settings.addons.permission.{PERMISSION_NAME} у мовних файлах застосунку — це стосується застосунку, а не файлів, які постачають автори аддонів.

Worker і без worker

Патерн Потрібен index.js Типові дозволи
Повна інтеграція Так За потребою вашої логіки
Лише статичний web Ні WEB_CONTENT
Простий медіа-оверлей Ні Немає (шляхи до медіа в блоці overlay)