# Social Stream Ninja: one chat dock for YouTube, Twitch, TikTok and OBS

> Social Stream Ninja is a free, open-source tool that pulls chat from many live platforms into a single dock and republishes it as OBS or Streamlabs overlays, alerts and event sounds. It is a good fit for a streamer who multichats, and a poor fit for anyone who wants chat capture to be a single vendor's problem.

**steveseguin/social_stream** — Consolidate your live social messaging streams and much more

- Repository: https://github.com/steveseguin/social_stream
- Website: http://socialstream.ninja/
- Stars: 1,161 · Forks: 212
- Language: JavaScript
- License: GPL-3.0
- Published: 2026-10-19 · Updated: 2026-10-19 · Language: en
- Canonical page: https://hysenlabs.com/projects/steveseguin-social-stream

## What Social Stream Ninja is for, and who it is aimed at

Social Stream Ninja, usually shortened to SSN, is a chat consolidation tool for live streaming. The README states that it "brings chat from YouTube, Twitch, TikTok, Kick, Facebook Live, and many other platforms into one place", and the repository description puts it more broadly as a way to consolidate live social messaging streams.

The problem it solves is a workflow one, not a technical one. A broadcaster who runs a Twitch channel and a YouTube stream at the same time has two chat windows, two notification sounds, two donation alerts and no way to feature a great message to viewers on both. SSN gives that broadcaster one dock to read, one way to pick a message to put on screen, and one alert system.

The audience is a creator, a host of an interview or panel stream, or a community channel, and the delivery formats match that audience. It runs as a browser extension, where chat is captured from the pages you already have open, as a standalone desktop app for Windows, macOS or Linux, or as a Lite web app. The README also lists meetings and community chat as supported sources, which is how a remote panel with a Zoom or Teams call fits into the same picture.

The tool is free, and the README is careful about the catch. Some optional integrations, AI services and voice providers need their own accounts or paid API access, and capture, replies and available events differ by platform and connection method. Those are the two constraints that decide whether it works for you.

## How chat gets from a platform into your stream

The mechanism has two halves, and understanding them explains most of the project's behaviour.

The capture half lives in a sources directory in the repository, which the README describes as holding the capture implementations for each platform, including newer and experimental integrations. Capture does not happen through a single universal API. Some sources need a pop-out chat window, some require an explicit opt-in toggle on the platform side, and some need you to authenticate. That is why the README sends you to a separate supported-sites page for each platform's capture method and limitations rather than pretending one setup covers all of them.

The delivery half is the transport. SSN uses VDO.Ninja's data transport to move messages around, and the README adds that it also offers WebSocket connections and APIs for custom integrations. On the output side, the model is deliberately simple: SSN generates an overlay link, and you add that link as a Browser Source in OBS Studio or Streamlabs and pick the dimensions that fit your layout. The generated link carries your session settings, which is why the README insists that your sources and your overlays use matching session settings.

The consequence of that design is that SSN is not a plugin inside OBS. It is a separate process or tab producing a web page that OBS loads. Anything that breaks the overlay link, the session match or the source page breaks the on-screen chat, which is why the README's first-run checklist is framed around confirming that a message you sent yourself appears in the dock before you go live.

## Installing SSN and putting a first overlay on screen

There is no package manager route here. Installation is a download or a store listing, and the README's download table lists four options with the page for each:

```bash
https://socialstream.ninja/docs/download.html
https://chromewebstore.google.com/detail/social-stream-ninja/cppibjhfemifednoimlblfcmjgfhfjeg
https://socialstream.ninja/lite/
```

The standalone desktop app is the option with the widest feature set, and it is where you add your sources inside the app. The Chrome or Chromium extension captures from supported chat pages you open, enabled from the extension menu. The Firefox build works, with the README noting that some Chromium-specific features are unavailable. SSN Lite is the smaller web-only experience with fewer features, and it is a reasonable way to find out whether the project fits before installing anything heavy.

The first overlay takes five steps, and the README's order is worth keeping.

First, install and enable SSN, then add your sources. Second, check the chat dock by sending a message in your own chat and confirming it appears in SSN, with SSN and the required source pages still running. Third, decide what to display: a consolidated chat overlay for the feed, a featured overlay for selected messages, or an event alert overlay.

Fourth, copy the overlay link from SSN and add it as a Browser Source in OBS or Streamlabs, choosing dimensions that suit your layout. Fifth, test before going live, by selecting a message in the dock to test a featured overlay and using the alert preview to test event effects and audio.

One warning belongs in the setup. The README says to treat your session ID and password as private, because the generated overlay links carry your session settings. Anyone who has the link can see the stream you are showing, so the links are not something to paste into a public chat.

## Platform coverage and the places where capture breaks

The platform list is long. The README names YouTube, Twitch, TikTok, Kick, Facebook, Instagram, Rumble, Discord, Zoom, Microsoft Teams, Google Meet, Slack, Telegram and WhatsApp, and it calls the set integrations for livestreaming services, social networks, meetings and community chat.

A long list is not the same as uniform support, and the README is honest about the difference. Some sources need a pop-out chat, others require an explicit opt-in toggle or authentication, and the supported-sites documentation carries the per-platform limitations. That is a structural feature of the approach rather than a defect: a chat page that SSN can read directly and a chat that only exists inside an app you cannot attach to are different engineering problems.

The practical advice is to treat the supported-sites page as the source of truth for a given platform, and to expect that some platforms give you the message feed but not the ability to reply or to fire events. The README states that replies and available events vary by platform and connection method, so a feature you have seen in a video of SSN may not be available for the platform you actually stream on.

The repository listing shows the same experimental edge. Alongside the long list of HTML pages that make up the app, there is a sources/ directory, and the README describes its contents as including newer and experimental integrations. That is a deliberate trade: wider coverage now, with a chance that a newly added source behaves differently when a platform changes its own interface.

## Event Flow, bots, and the local AI option

The second half of SSN is automation, and it is where the project stops being a chat viewer.

The Event Flow feature is the mechanism behind the alert system. The README lists follow, membership, donation, bits and other supported events that can be shown with animations and sound effects, and Event Flow actions are what let you build behaviour on top of those events, together with bot commands and timers. The integration targets are named too: Stream Deck, MIDI, webhooks and OBS. That combination is the point of a tool like this, since a stream deck button is a natural way to trigger a featured message and a MIDI controller can drive a scene change.

Speech is a separate axis. The README describes system text-to-speech, local AI voices, and supported external voice providers, so chat can be given a voice without a paid service if the machine can run the model.

The AI story is the same shape. The README lists supported AI services, Ollama, APIs and your own scripts for chat responses and workflows, and the repository listing backs that up with a file named cohost-local-qwen-worker.js, a local worker for running a Qwen model, plus chatbot.html, bot.html, ai.js, custom_actions.js and a custom_sample.js to copy. There is also badwords_sample.txt, which suggests a filter list you can edit, and currency.js, automix.html and affiliate.html, which indicate commerce and audio-mixing features that sit outside the core chat flow.

Running the model locally rather than through a hosted service is the interesting design choice here. It keeps the conversation off a third-party API, but it moves the cost onto the machine running the stream, and a machine that is already encoding video has limited headroom for inference.

## Four ways to install, four sets of trade-offs

The distribution choices are worth treating as an architectural decision rather than a packaging detail.

The desktop app is the fullest option and the only one where sources are configured inside the application. The Chrome extension is the most common path for a streamer, because it can read the chat pages that are already open in the browser, but it ties source capture to tabs being open. The Firefox extension works with the documented caveat that Chromium-specific features are missing. The Lite web app is the smallest footprint and the fewest features.

That last point cuts both ways. A smaller client that runs in a tab is easier to try and easier to throw away, which is a good property for a tool whose fit depends on platform-by-platform capture quirks.

The project is GPL-3.0, and the repository contains a large amount of material that is not source code at all: a TOS.html and TOS.md pair, an affiliate.html page, a commerce-board.html, credits.html and about.md, plus docs/ and a lot of individual HTML screens such as chat-overlay.html, dock.html and combine.html. The licence permits reuse and modification under its terms, including for a derivative you distribute, provided the corresponding source is made available under the same terms, which is worth routing through whoever handles licensing in an organisation.

The commercial surface is also visible in the repository. An affiliate page and a commerce board indicate that monetization is part of the project's design, not an accident.

## Maintenance pace, upgrade cost, and the alternative

The project is not archived, and the last push was on 2026-10-15. The release history shows a steady 0.4.x line: v0.4.33 on 2026-10-04, v0.4.34 as a pre-release test build on 2026-10-10, and v0.4.35 as the SSApp release on 2026-10-11. The explicit pre-release build in that sequence is a good sign, because it means changes are put in front of users before they reach the default channel.

Upgrading is the ordinary channel of a browser extension or a desktop app, and the README has a dedicated Updating section. The version numbering in the 0.4 range with a separate app release label suggests the two delivery forms, extension and desktop, are versioned on the same line, so a mismatch between the extension and the app is worth watching for.

The alternative to SSN is the manual arrangement many broadcasters already run: one OBS Browser Source per platform chat page, native or Streamlabs alerts for each platform, and the browser tabs you alt-tab between. The difference in approach is real. The manual setup has no unified dock, so featuring a message means copying it to every platform, and there is no cross-platform automation layer, no event flow, and no local AI. In exchange, it has no session identifiers to leak, no account linking, and no dependency on a third-party project staying compatible with each platform's interface, which is the failure mode SSN exists to absorb.

The judgement comes down to how much of your stream's chat work is multi-platform. One platform and no automation, the manual setup is less to maintain. Four platforms, live audience interactions and a featured-message workflow, SSN earns its session ID and its dependency.

## Conclusion

Social Stream Ninja suits a broadcaster who reads chat from several platforms at once and wants one featured-message workflow instead of five browser tabs, especially one already using OBS Studio or Streamlabs. It does not suit a team that needs guaranteed platform compliance, a support inbox, or an unattended stream where a broken chat capture would go unnoticed. Verify first that your specific platform and connection method are covered, since the README states that capture, replies and available events vary by platform, then install the desktop app and confirm that a message sent from your own chat appears in the dock before you build overlays on top of it.

## FAQ

### How do I install Social Stream Ninja?

The README lists four options: a standalone desktop app for Windows, macOS and Linux, a Chrome or Chromium extension from the Chrome Web Store, a Firefox extension, and the Lite web app. Each has a setup page under socialstream.ninja/docs/download.html, and the Firefox build has some Chromium-specific features unavailable.

### How do I show Social Stream Ninja chat in OBS Studio?

Copy the overlay link from SSN and add it as a Browser Source in OBS Studio or Streamlabs, choosing dimensions that fit your layout. The README notes that generated links include your session settings, so your sources and overlays must use matching session settings, and that the session ID and password should be kept private.

### Which platforms does Social Stream Ninja support?

The README names YouTube, Twitch, TikTok, Kick, Facebook, Instagram, Rumble, Discord, Zoom, Microsoft Teams, Google Meet, Slack, Telegram and WhatsApp. Capture differs per platform: some sources need a pop-out chat, others require an explicit opt-in toggle or authentication, and the supported-sites documentation holds the per-platform limitations.

### Does Social Stream Ninja cost anything, and what licence is it under?

The README states that SSN is free to use, while some optional integrations, AI services and voice providers need their own accounts or paid API access. The repository is licensed under GPL-3.0, so modified versions you distribute carry the GPL's source availability obligations.

## Sources

- [License: GPL-3.0](https://github.com/steveseguin/social_stream/blob/main/LICENSE)
- [Project website](http://socialstream.ninja/)
- [README](https://github.com/steveseguin/social_stream/blob/main/README.md)
- [Releases](https://github.com/steveseguin/social_stream/releases)
- [steveseguin/social_stream on GitHub](https://github.com/steveseguin/social_stream)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/steveseguin-social-stream
