Voice
3 min read
Voice lets you answer and steer agents by talking instead of typing. The long instruction you would never bother typing takes about ten seconds to say. It works in the Director (the Speak button on the prompt bar), in the Cockpit, and on your phone.
The trick is the dictionary
Generic dictation mangles technical speech - repo names, library names, your project's jargon. DevThrottle gives you one custom dictionary: teach it your words once, and a cleanup pass corrects the transcriptions it covers after the text comes back. On a Gateway you host yourself, the dictionary is shared everywhere you dictate - desktop, browser, and phone - so "Supabase", "devcontainer", or your product's codename comes out right on all of them. On DevThrottle's hosted Gateway, dictation does not yet read the dictionary you edit - a known gap that is being fixed - though voice note transcription does.
What it costs
Dictation is part of Pro. There is no key to supply, no per-minute charge, and nothing extra to buy before you can talk - it works on a Pro subscription, and every new account starts with 14 days of Pro.
Hosted transcription and your voice
What is kept afterwards, on the Gateway side. Cleanup runs only when new activity arrives - a later transcript write, a later clip save - so where activity stops, old rows and old audio simply stay until the next activity, indefinitely if none comes. With that understood: the text of each transcription is stored by your Gateway, trimmed to the last 30 days and the newest ten thousand per account as new transcripts are written. On the hosted service that store is per account, and no account can read another's. A self-hosted Gateway also keeps the audio it transcribes on that machine's own disk, to diagnose a transcription that went wrong; that archive never leaves the machine. It is trimmed to 24 hours and the newest 500 clips when a later clip is saved - the 500 cap can retire audio before its 24 hours are up - and the saving itself is best-effort and can fail: a diagnostic aid, not a promise. The hosted service keeps no such audio archive.
Your own devices can hold copies of a recording too, in the ordinary course of delivering it: the browser and the phone keep a clip on the device until its delivery is confirmed, and the desktop app tries to keep a clip when a background Send fails before its words could become text - that saving is best-effort and can fail, and the failure message names the file only when the save succeeded. That desktop copy exists only on that Send path - a Pause or Insert that fails keeps no clip.