> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stagewhisper.io/llms.txt
> Use this file to discover all available pages before exploring further.

# StageWhisper Lite

> A free, source-available build that transcribes your calls on-device and connects to an AI assistant you run yourself.

StageWhisper Lite is a stripped-down version of the app. It transcribes your calls on your own machine and lets you connect an AI assistant to them. There is no cloud transcription, no Playbooks, and no coaching. It is the same capture engine as the full product, with everything else turned off.

The source is public. You can read it, audit it, and build it yourself.

## How it differs from the full app

The full version of StageWhisper sends your transcript to EU infrastructure, runs it through a Playbook you define, and pushes live coaching signals to your screen. StageWhisper Lite does none of that.

|                            | Lite  | Full  |
| -------------------------- | ----- | ----- |
| On-device transcription    | Yes   | Yes   |
| Audio leaves your machine  | Never | Never |
| Live coaching and signals  | No    | Yes   |
| Playbooks                  | No    | Yes   |
| Tone analysis              | No    | Yes   |
| Connect your own assistant | Yes   | Yes   |

If you want the coaching, the Playbooks, and the session review, you want the full app. See [plans](/account/plans).

## What it does

1. It captures the audio from your call and transcribes it locally. The transcription model runs on your machine, so the audio is never uploaded anywhere.
2. It can capture your microphone too, so your own side of the conversation appears in the transcript, labeled separately from the other party.
3. It connects to an AI assistant you run yourself, so the assistant can read the conversation and reply on your screen while you talk.
4. It keeps the transcript and the assistant's replies on a private overlay. The people on your call never see them.

## Source-available

The code that ships in StageWhisper Lite is published to a public mirror at [github.com/StageWhisperIO/stagewhisper](https://github.com/StageWhisperIO/stagewhisper). We publish it so you do not have to take our word for what the app does with your audio. You can read the capture path, see that transcription happens on-device, and build the app from the same source.

The mirror is read-only and generated from our main repository, so it does not take pull requests. If you find a bug, email [piotr.m@stagewhisper.io](mailto:piotr.m@stagewhisper.io).

## Connect an assistant

StageWhisper Lite is a channel, not an assistant. It carries your call to an AI agent you already run, and carries the agent's replies back to your screen. You bring the assistant.

<Columns cols={2}>
  <Card title="Hermes" icon="robot" href="/agents/hermes">
    Connect a Hermes agent to follow your call and respond in real time.
  </Card>

  <Card title="OpenClaw" icon="robot" href="/agents/openclaw">
    Connect an OpenClaw assistant and let it act during the conversation.
  </Card>
</Columns>

### Remote assistants over Tailscale

Most people run their assistant on a VPS, not on the same machine as the app. Tailscale connects the two over a private mesh, so nothing is exposed to the public internet. Both halves of the conversation travel over the mesh, and both are set up the same way: each side keeps its own server bound to `127.0.0.1`, and `tailscale serve` carries the encrypted hop. Neither side is ever reachable from the public internet, and neither side relaxes its localhost binding.

**Reaching your assistant.** Hermes and OpenClaw bind their listener to `127.0.0.1` and refuse to start on anything else, the same way the app does, so you cannot just point StageWhisper Lite at a tailnet address. On the VPS, expose the assistant's loopback port over your tailnet:

```
tailscale serve --bg 127.0.0.1:8765
```

`tailscale serve` forwards your tailnet name to the assistant as the `Host` header, and the assistant rejects unknown hosts by default. Opt your assistant's own tailnet name in:

```
STAGEWHISPER_ALLOW_INGRESS_HOSTS=my-vps.tailnet-name.ts.net
```

Then set the relay URL in StageWhisper Lite to that tailnet address:

```
https://my-vps.tailnet-name.ts.net
```

**Getting replies back.** For replies and notes to return, your assistant calls a small server the app runs on your machine. That server only binds to `127.0.0.1`, by design, so a remote assistant cannot reach it on its own. Rebinding it to your tailnet address will not work; the app refuses to start if the server lands on anything but localhost.

Open **Settings → Connection** and expand **Remote assistant callback**. Pick a fixed callback port, then expose that port over your tailnet. The app stays bound to localhost; Tailscale carries the encrypted hop:

```
tailscale serve --bg 127.0.0.1:8788
```

Back in the same panel, set the callback URL to your machine's tailnet address, and use the same port you just exposed:

* Callback URL: `https://my-mac.tailnet-name.ts.net`
* Callback port: `8788`

The app hands that address to your assistant, so replies come back over Tailscale instead of localhost.

<Warning>
  By default Hermes and OpenClaw only accept callbacks on localhost, to stop requests being pointed at internal hosts. To let them reply to your tailnet address, set `STAGEWHISPER_ALLOW_CALLBACK_URLS` on the assistant to that exact base URL, for example `STAGEWHISPER_ALLOW_CALLBACK_URLS=https://my-mac.tailnet-name.ts.net`. The match is exact on scheme, host, and port, so a different port or plain `http` is still refused unless you list it.
</Warning>

If your assistant runs on the same machine as the app, skip all of this. The default localhost relay and callback work on their own, with no `tailscale serve` and no allowlists.

## Requirements

* macOS 14 (Sonoma) or later, Apple Silicon.
* Microphone and Screen Recording permissions, which the app requests on first launch.
* An assistant to connect to, if you want live replies.

## Get it

Download the signed build from [stagewhisper.io](https://stagewhisper.io), or build it from source by following the README in the [public mirror](https://github.com/StageWhisperIO/stagewhisper).

## Privacy

Transcription runs entirely on your machine. Your call audio is never uploaded. The only thing that leaves your computer is the text you send to the assistant you connected, and that goes straight to your assistant. It does not pass through us.
