Repository navigation
v1.4.0 — Talk mode, twice as fast and twice as visible
Talk mode (F6) reworked end to end.
Two engines, one promise — a conversation you can interrupt
Pick one in Settings → Models.
- Cascade (default): transcription, turn detection, the chat model and the voice, each swappable and each able to run on your machine. A turn now takes ~1.8 s instead of ~6.2 s.
- Realtime: one OpenAI session holds the whole conversation, speech in and speech out — ~1.0 s, and the reply keeps the prosody of speech.
Cut it off whenever you like. Start talking while it is still speaking and it stops mid-sentence and listens; your first words are kept as the start of your turn. It works out how loudly it can hear itself by listening to its own reply, so a headset needs no setting at all.
A fully local voice: Piper, no key and no network (pip install -e '.[tts]'), first sample in 0.18 s. Presets in Settings → Models pick a whole setup in one click.
You can watch it happen
A bubble opens on the hotkey, just above the recording indicator: your words appear as they are heard, the reply as it is written — sentence by sentence, not in one block when the model has finished thinking. It grows and shrinks with the exchange, stays translucent, and closes with the ✕. The finished text comes up for review right there.
Also new
- Settings → Talk → Instructions: standing instructions for the conversation — the language to answer in, the tone, the kind of work you discuss. Added to the built-in prompt, so talk mode still asks one question at a time and still knows when to stop.
- Paste without reviewing: the finished text lands at your cursor with no key to press. Off by default.
- Settings reorganised: everything about who does the work lives in Models, in the order the sound travels. Post-processing moved to its own Refinement tab. A ▶ Test button next to each voice.
Fixes
- End-of-turn detection could calibrate on your voice instead of the room, so a turn either never ended or was cut off mid-sentence. Fixed at the root: the detector is armed before the transcription session opens, and calibration can no longer conclude that a room is as loud as the voice in it.
- F6 showed nothing for half a second. The recording indicator now appears in 4 ms instead of 497.
- The chat overlay could keep the keyboard focus that dictation's paste was aimed at, which stopped dictation working until restart.
- A reply that asks a question can no longer end the conversation by itself.
- The Realtime engine no longer cuts off its own closing sentence.
- Settings tabs could redisplay pre-Apply values after a reload.
Upgrading: nothing to do. New config keys are all optional and documented in config.example.toml.
🤖 Generated with Claude Code