StreamKit+ Addon Developer Documentation

Integration addons extend StreamKit+ from an isolated worker process. Addon code runs inside a VM sandbox and uses global APIs (network, events, api, …) — no SDK imports inside the worker.

Categories

Section Description
Getting started Architecture, installation, project layout, @rocketman-streamkit/addon-generator
Lifecycle How addons are loaded, restarted, and crash-loop protection
manifest.json Manifest fields, types, and validation rules
Publishing and releases Catalog registration, GitHub release layout, caching, and version sync
TypeScript setup tsconfig.json, typings, build output
Permissions Capability flags and user approval
Settings schema GenerateConfig() and settings UI
Localization Per-locale strings in addon code
Security Network restrictions, tokens, sandbox limits
OAuth and secrets Token exchange via outbound HTTP (no built-in auth server API)

Sandbox API

Section Description
API overview All globals at a glance
events Event bus and HTTP handler binding
network HTTP client, endpoints, WebSocket, SSE, SignalR, Socket.IO
api.config & storage Params, app config, private file storage
File access User-approved read/write to specific paths (files API)
Text-to-speech (tts) Play messages via the user's TTS engine (TTS permission)
LLM Access (llm) Chat completions via user LLM profiles (LLM permission)
yt-dlp downloads (ytdlp) Download media via bundled yt-dlp (FILE_ACCESS + NETWORK_REQUEST)
addons (RPC) Addon-to-addon requests and events
dashboard Events widget, chat, overlay triggers
status, notify, ui Status bar, viewer count, notifications, OAuth result pages
Currency User's primary currency and amount conversion
Language detection (language) Detect text language via fastText (~176 languages; no permission)
Utilities Timers, crypto, console, developer mode

Addon categories

Section Description
Platform addons platform.streaming, platform.donation
Overlay addons Effects, static web, simple media
Widget addons Persistent web pages and OBS sources
Application addons In-app sandboxed windows
Game addons In-game effects and input triggers

Typings

Install sandbox declarations from npm — version must match the StreamKit+ release you target:

npm install --save-dev @rocketman-streamkit/types

See TypeScript setup for tsconfig.json and globals (declare global — no imports in addon code).