Документація для розробників аддонів StreamKit+
Інтеграційні аддони розширюють StreamKit+ з ізольованого worker-процесу. Код аддона виконується у VM-пісочниці та використовує глобальні API (network, events, api, …) — імпорт SDK всередині worker недоступний.
Розділи
| Розділ | Опис |
|---|---|
| Початок роботи | Архітектура, встановлення, структура проєкту, @rocketman-streamkit/addon-generator |
| Життєвий цикл | Завантаження, перезапуск аддона та захист від циклу падінь |
| manifest.json | Поля маніфесту, типи, правила валідації |
| Публікація та релізи | Реєстрація в каталозі, структура GitHub-релізу, кеш і синхронізація версії |
| Налаштування TypeScript | tsconfig.json, типи, збірка |
| Дозволи | Прапорці можливостей і підтвердження користувачем |
| Схема налаштувань | GenerateConfig() і UI налаштувань |
| Локалізація | Багатомовні рядки в коді аддона |
| Безпека | Обмеження мережі, токени, ліміти пісочниці |
| OAuth і секрети | Обмін токенів через вихідний HTTP |
API пісочниці
| Розділ | Опис |
|---|---|
| Огляд API | Усі глобальні об'єкти |
| events | Шина подій і прив'язка HTTP-обробників |
| network | HTTP-клієнт, ендпоінти, WebSocket, SSE, SignalR, Socket.IO |
| api.config і storage | Параметри, конфіг застосунку, файлове сховище |
| Доступ до файлів | Читання/запис за схваленими користувачем шляхами (files API) |
Озвучення тексту (tts) |
Озвучення через TTS-движок користувача (дозвіл TTS) |
LLM Access (llm) |
Запити до нейромереж через профілі користувача (дозвіл LLM) |
Завантаження yt-dlp (ytdlp) |
Завантаження медіа через вбудований yt-dlp (FILE_ACCESS + NETWORK_REQUEST) |
| addons (RPC) | Запити та події між аддонами |
| dashboard | Віджет подій, чат, тригери оверлею |
| status, notify, ui | Рядок стану, онлайн глядачів, сповіщення, сторінки OAuth |
| Валюта | Основна валюта користувача та конвертація сум |
Визначення мови (language) |
Визначення мови тексту через fastText (~176 мов; без дозволу) |
| Утиліти | Таймери, crypto, console, режим розробника |
Категорії аддонів
| Розділ | Опис |
|---|---|
| Платформені аддони | platform.streaming, platform.donation |
| Оверлеї | Ефекти, статичний web, просте медіа |
| Віджети | Постійні web-сторінки та OBS Browser Source |
| Застосунки | Вікна всередині основного застосунку |
| Ігрові інтеграції | Внутрішньоігрові ефекти та вхідні тригери |
Типізація
Встановіть оголошення пісочниці з npm — версія пакета має збігатися з цільовою версією StreamKit+:
npm install --save-dev @rocketman-streamkit/types
Див. Налаштування TypeScript — tsconfig.json і глобали (declare global, без імпортів у коді аддона).