WhisperDesk add-ons

Plug WhisperDesk into everything.

Add-ons receive transcript events — live lines as they're spoken, sessions starting and stopping, finished transcripts — and send them wherever you need: OBS, a text file, a webhook, Word, Discord, a database or your smart home.

Open File → Add-ons

The Add-ons window lists every built-in and installed add-on, with its settings and a live log.

Tick to enable, fill in settings

Each add-on shows its own options. Click Save settings — enabled add-ons start automatically next time too.

Add more by dropping in a DLL

Open add-ons folder opens %LOCALAPPDATA%\WhisperDesk\addons\. Copy an add-on's DLL there and restart WhisperDesk.

Built in

Included with every install.

No downloads, no code. These three ship inside WhisperDesk and are ready to switch on.

Live captions for OBS & browsers

Runs a small web server on your PC (localhost only) for OBS Browser Sources. Three looks: a darkcipher0x terminal, a stacked chat with coloured names, and classic subtitles.

Port7890 Open http://localhost:7890/ for previews and copyable URLs
File linesfalse true = also send lines from the Files tab

Live transcript text file

Writes live lines to a text file as they happen. "Latest" keeps only the last few lines — perfect for OBS Text (GDI+) → Read from file. "Append" keeps the whole session log.

File pathDocuments\WhisperDesk live captions.txt
Modelatest or append
Lines2 kept in latest mode
Speakertrue include speaker name

Webhook

POSTs each transcript line and finished transcript as JSON to any URL — connect Zapier, n8n, Home Assistant, a Discord bot or your own server.

URLe.g. https://example.com/hooks/whisperdesk
Linestrue send each line
Savedtrue send finished transcripts
Live onlytrue lines from live sessions only
For streamers

Live captions on stream in 60 seconds.

  1. In WhisperDesk, enable Live captions for OBS & browsers and start a Live session.
  2. In OBS, add a Browser source. For best performance, run WhisperDesk on your streaming PC rather than the gaming PC. The caption server is localhost-only, so run OBS on that same machine.
  3. Paste one of the URLs on the right, set width/height to fit your scene.
  4. Tweak the look with URL parameters — no CSS needed.

The server only listens on localhost, so nothing is reachable from other computers.

> Overlay URLs

Terminalhttp://localhost:7890/overlay?theme=terminal
Chathttp://localhost:7890/overlay?theme=chat
Classichttp://localhost:7890/overlay

> Parameters

linesLines shown default 2
sizeFont size in px default 42
speakerShow names 1 or 0
colorText colour (hex) default ffffff
bgBackground, hex with alpha default 00000099
fontCSS font family
alignleft · center · right

> For your own apps

/eventsServer-Sent Events stream line and session events
/api/linesJSON array of the current live session
Download

Extra add-ons & the SDK.

Free downloads. Like WhisperDesk itself, these aren't code-signed yet — see the install guide. All source is on the Source Code page.

Word export

by darkcipher0x · sample

Every time a transcript is finished or saved, writes it as a Word document (.rtf — opens in Word, LibreOffice and WordPad) with bold speaker names and timestamps. Also a great starting point for your own add-on.

Export folderDocuments\WhisperDesk Word exports
Openfalse open in Word after export

Add-on SDK

.NET 8 · for developers

Everything you need to build an add-on: the WhisperDesk.Addons.dll contract with XML docs, the SDK README and the full source of the Word export sample project.

  • WhisperDesk.Addons.dll — the interface you implement
  • README.md — events, options and the caption server reference
  • SampleWordExport/ — a complete, buildable example

Only install add-ons you trust. An add-on is a .NET library that runs inside WhisperDesk with the same permissions as the app. Install add-ons from this site or from developers you know, and prefer ones whose source code you can read.

Developers

Write your own add-on.

Implement one interface in a .NET 8 class library. WhisperDesk finds every public class implementing IWhisperDeskAddon with a parameterless constructor.

MyAddon.cs
using WhisperDesk.Addons;

public sealed class MyAddon : IWhisperDeskAddon
{
    IAddonHost? _host;
    public string Id => "yourname.my-addon";
    public string Name => "My add-on";
    public string Description => "What it does.";
    public string Author => "Your name";

    public IReadOnlyList<AddonOption> Options { get; } = new[]
    {
        new AddonOption("target", "Where to send",
            "default value", "Help text"),
    };

    public void Start(IAddonHost host)
    {
        _host = host;
        host.LineAdded += (s, e) =>
            host.Log($"{e.Speaker}: {e.Text}");
    }

    public void Stop() { /* unsubscribe, close */ }
}

> Host events

IAddonHost · raised on a background thread, in order
LineAddedEvery new line — live as spoken, files when finished SessionId, IsLive, Timestamp, Start, End, Text, Speaker, Sex, Language, IsEdited
SessionStarted / StoppedA live session or file starts or ends SessionId, IsLive, Source, Timestamp
TranscriptSavedA file finished, an edit was saved, or a recording went into the library Title, Source, Folder, PlainText, Lines
LineEditedA user corrected a line, with a required reason OldText, NewText, Reason, User, At

Also: GetOption(key), Log(message), DataFolder and AppVersion. Exceptions in your handlers are caught and logged, so a buggy add-on can't crash WhisperDesk — but hand slow work off to your own task.

Reference the contract

Create a .NET 8 class library and reference WhisperDesk.Addons.dll with Private=false (see the sample .csproj).

Build & copy

Copy your DLL and its dependencies — but not WhisperDesk.Addons.dll — into %LOCALAPPDATA%\WhisperDesk\addons\.

Enable it

Restart WhisperDesk, open File → Add-ons, tick your add-on, fill in its settings and click Save settings.