Документация для разработчиков аддонов 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

См. Настройка TypeScripttsconfig.json и глобалы (declare global, без импортов в коде аддона).