Repository navigation
Releases
v0.1.28
The assistant can look at screenshots from your MCP tools
When a tool such as windows-commander's capture_screen returns a screenshot,
the model now actually sees it. Ask "what is on my screen?" in a voice call or
in the Prompt section and it can read and describe it. Before, the picture was
passed on as a long block of encoded text that the model could not use, and a
large screenshot could break the request.
This works with OpenAI and Gemini models. The older
gemini-2.5-flash-native-audio voice model sometimes starts guessing before
the picture arrives and then corrects itself; the 3.x Live models wait for it.
Full changelog: v0.1.27...v0.1.28
v0.1.27
Use Google Gemini for chat, speech, and the voice assistant
Settings > General has a new Gemini API key field. Once it is filled in
(or GEMINI_API_KEY is set), Fetch models lists Gemini models next to the
OpenAI ones. Pick one for chat, for quick prompts or for STT cleanup and that
feature runs on Gemini; the others keep the model they had. MCP tools work with
Gemini models too.
Speech to text's cloud engine is now called API Endpoint and asks which
provider to use: OpenAI, Google Gemini, or a custom OpenAI-compatible server.
The base URL and key fields only appear for the custom one. Gemini 3.5 Flash
and Flash Lite also use your vocabulary list while transcribing.
Text to speech has a new Gemini engine with thirty voices, each listed with
its speaking style, and the same Rate and Volume settings. Gemini has no Tone
setting, because its voices read any style instruction out loud. Model and
voice are now dropdowns for both cloud engines.
Assistant Mode can run on Gemini Live models. Pick one from the Gemini
group in the model list; tools, the supervisor and push-to-talk work as they do
with OpenAI. Changing a setting mid-call reconnects without losing the
conversation. The call cost is not estimated for Gemini.
Transcribe audio files and see who said what
The STT section has a new Audio Files page. Pick a recording (MP3, M4A,
WAV, FLAC, OGG and more) and it is transcribed on your machine with Parakeet
or Whisper, with timestamps. Long recordings such as an hour-long meeting work
too, with progress and a Stop button.
Turn on Identify speakers to label who is talking, for up to four voices.
You can rename "Speaker 1" and the others to real names, then copy the result,
use it as a prompt or save it as text, Markdown or SRT subtitles. The speaker
model is a one-time download of about 490 MB.
Full changelog: v0.1.26...v0.1.27
v0.1.26
You can stop a transcription that is taking too long
A long recording on a big local Whisper model could keep the app busy for a
long time with no way out. The floating "Transcribing speech" indicator now has
a Stop button. The STT section and the Dictate button in the Prompt view can
stop it too. Stopping ends the Whisper run or cancels a cloud request or the AI
cleanup pass. Nothing gets pasted.
The STT section shows your last transcription, before and after AI
The STT section now shows the most recent transcription, even when it was
started from a hotkey with the main window closed. When "Improve transcribed
text with AI" ran, you see both what was heard and what the AI turned it into,
so you can tell at a glance whether the cleanup changed your words.
AI cleanup no longer answers what you dictate
Dictating a question or a request ("can you check the logs") with "Improve
transcribed text with AI" on could make the model answer or act on it instead
of just cleaning up the text. The transcript is now handed to the model as
text to process, with a standing instruction never to reply to it or follow
it. This also applies to quick prompts run over dictated text.
STT post-processing prompt can reference the active window
The "Post-processing prompt" text can now include {{active_app}} and
{{window_title}} placeholders. Before the cleanup pass runs, they're
replaced with the process name and title of the window the transcript is
about to be inserted into, so the prompt can tailor its behavior per app
(e.g. a stricter cleanup for a terminal vs. a relaxed one for a chat window).
Full changelog: v0.1.25...v0.1.26
v0.1.25
You can dictate straight into the prompt box
The Prompt view now has its own "Dictate" button next to Send. Previously
the only way to voice a prompt was to switch to the separate STT section,
record there, and click "Use as prompt" - and STT could not insert into the
prompt textarea directly. Now you can record and transcribe without leaving
the Prompt view; the text is inserted at the cursor, or replaces your current
selection, so it composes naturally with anything you've already typed.
Dictated text can now get an app-specific prefix
Speech-to-text settings gained an insert prefix (e.g. "STT: ") that is
prepended to dictated text before it's inserted into the previously focused
app via the STT quick action. It only applies in apps you explicitly allow, so
a prefix useful for an agent/chat tool doesn't leak into a messenger where
dictated text should read naturally.
To build that allowlist without hunting for exe names, press and hold the new
"drag onto a window" button, drag the crosshair cursor onto the target app's
window, and release - the app's process name is added automatically.
Full changelog: v0.1.24...v0.1.25
v0.1.24
You can now control how your microphone is cleaned up
Speech-to-text settings gained four microphone switches: echo cancellation,
noise suppression, automatic gain control and voice isolation. The first three
were always on, decided by the webview rather than by you, and now they are
visible and settable. Turning automatic gain control off is worth trying if
quiet speech comes back badly transcribed.
Voice isolation is the one that helps when something else on the machine is
making noise, because it is a Windows effect rather than an app one. It needs a
microphone that offers the effect, so on machines without one the setting says
so instead of pretending to work. It starts switched off.
The settings apply to Assistant Mode's microphone as well as to recording.
The app recovers instead of going silent after a display change
Changing your monitor setup - unplugging displays, docking, or resuming from
hibernation - could kill the content of every window while the windows
themselves stayed open. The app looked like it was running, but the hotkeys did
nothing and neither the Assistant call pill nor the processing indicator ever
appeared again until you restarted it. The app now notices that failure and
reloads the affected windows, and the global hotkeys are re-registered when it
does, so everything works again on its own.
The app tells you what changed after an update
After installing a new version, a What's New window lists what changed since the
version you were running. Each item shows a one-line headline; click it to read
the detail. You can reopen it any time from the version number at the bottom of
the sidebar.
Full changelog: v0.1.23...v0.1.24
v0.1.23
Bug Fixes
- app: re-check for updates when the window regains focus (dedf1de)
Maintenance
- release: bump version to 0.1.23 (dabe583)
Full changelog: v0.1.22...v0.1.23
v0.1.22
Features
- app: correct dictated names with an STT vocabulary list (db14e54)
- app: interrupt the assistant's reply on push-to-talk (df96e7c)
- assistant: show past calls with their duration, cost and transcript (ed93398)
- tauri: record finished voice calls in SQLite (771ae2b)
Bug Fixes
- app: actually stop the OpenAI TTS streaming session (ed42f8f)
- ci: stop a failed build poisoning the cache for every later run (02d611e)
Maintenance
- release: bump version to 0.1.22 (39adb3d)
Full changelog: v0.1.21...v0.1.22
v0.1.21
Features
- assistant: report token usage and an estimated cost for a call (7bdc2d8)
- assistant: show the pill while dialling, with ringback and a connect beep (7bcaa3e)
- assistant: add a hold-to-talk button to the call pill (28b6305)
- assistant: add a copy button for the realtime event log (2a00b35)
- app: adopt Handy's insertion model - five methods and clipboard handling (9f9d886)
- app: add a keystroke insert mode that bypasses the clipboard (049fc91)
Bug Fixes
- app: warn when the insertion settings would discard the result (402ca75)
- assistant: stop transmitting while muted, and correct the billing wording (c214ff8)
- assistant: end the push-to-talk turn on release instead of waiting out VAD (b30101a)
- assistant: queue response.create instead of losing it to an active response (58b61fb)
- assistant: keep the tool-arrangement note when instructions are customised (59a08be)
- mcp: stop a concurrent connect spawning a second, orphaned server (5d25c50)
- assistant: persist the tools and supervisor switches, and stop the tools badge lying (b1a4e8a)
Documentation
- correct the tool-routing claim in the Claude Code integration note (44a4d0b)
- assess Claude Code integration options for the companion (89387ae)
Maintenance
- release: 0.1.21 (19677fe)
Full changelog: v0.1.20...v0.1.21
v0.1.20
Features
- tauri: log WebView2 process failures to diagnose issue #14 (f2ad366)
- tauri: drop the Parakeet V2 backend and unpin ort (01e911f)
Bug Fixes
- tauri: stay on the CUDA 12 ONNX Runtime (4df7261)
- app: stop the update badge advertising an older release (01984bb)
- app: keep the selection rectangle out of region screenshots, and flag unusable STT models (2a7b581)
Documentation
- note the stale ONNX Runtime provider DLL trap (6e37442)
Maintenance
- release: 0.1.20 (d6d65ac)
Full changelog: v0.1.19...v0.1.20
v0.1.19
Features
- app: optionally pause playback while dictating or speaking (aebee55)
Bug Fixes
- tauri: stop child processes opening console windows on Windows (5e77f4d)
Maintenance
- release: 0.1.19 (c4f339c)
Full changelog: v0.1.18...v0.1.19