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).