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 |
What it does
- 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.
- It can capture your microphone too, so your own side of the conversation appears in the transcript, labeled separately from the other party.
- It connects to an AI assistant you run yourself, so the assistant can read the conversation and reply on your screen while you talk.
- 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. 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 support@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.Hermes
Connect a Hermes agent to follow your call and respond in real time.
OpenClaw
Connect an OpenClaw assistant and let it act during the conversation.
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 to127.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 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:
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:
- Callback URL:
https://my-mac.tailnet-name.ts.net - Callback port:
8788
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.