F11, started with the --voice flag, or toggled with the /voice
command.
Backends are pluggable on both sides. Locally, faster-whisper handles STT and
Piper handles TTS; install them with uv sync --group voice-local. Cloud
backends cover OpenAI, Deepgram, and ElevenLabs, and policy files name the
environment variable holding an API key, never the key itself.
The page will cover voice_policy.yaml in full. It is off by default, and the
presence of the file does not enable it, so you must set enabled: true and
install your chosen backends. Settings include per-direction backend and model
selection, capture settings with a hard cap on one utterance as a
runaway-microphone guard, a cap on synthesized text length, and fail_open,
which degrades to text with a notice rather than crashing when a backend fails.
Voice is interactive only; the headless one-shot path stays text-only.
This page is in progress. The shipped
voice_policy.yaml is fully commented
and is the best reference until it lands./voice, and
Configuration for how voice_policy.yaml resolves.