Local speech-to-text dictation app that pastes transcribed voice into any focused app, mainly on Apple silicon Macs.

1,136
94
Rust
MIT
3 months old

Hex is a local-first dictation app: hold a shortcut, speak, release, and on-device speech recognition pastes the text into whatever app has focus. It is aimed at macOS users who want fast voice input without sending ordinary dictation audio to a cloud service; Windows and Linux builds exist but are labeled beta.

How it works and what changes in practice

Setup downloads a local speech model, then requires Microphone access for recording and Accessibility access for detecting the shortcut and pasting into the foreground app. The default macOS gesture is holding Option; double-tapping keeps recording, Escape cancels, and Option-Shift-V re-pastes the last completed dictation. Settings cover the shortcut, microphone, language, model, recording behavior, and launch-at-login. See the installation and permission steps.

Modes add corrections for names and preferred spellings before paste, plus optional rewriting and text transformations. One distinguishing mechanism is that models can be switched from the menu bar while each model remembers its last language and, for Whisper, recognition hints. The other is optional OpenCode post-processing: when enabled in a Mode, Hex sends the transcript, foreground application, and Brave website hostname to the configured model provider. If rewriting fails, Hex keeps the corrected local transcript and still runs selected transformations; if a transformation stage fails, it keeps the text from before that stage rather than partial output.

Annotate, available by default on macOS and Linux (not Windows), records the screen while the user draws and talks, then places the annotation on the clipboard or sends it to an OpenCode session. A read-only CLI, shipped with the macOS release binary, queries history and meetings while the app runs. Advanced users can write deterministic transformations in a local TypeScript/JavaScript config that Hex runs in an embedded engine with no filesystem, network, or process access.

Platform scope

The macOS app targets Apple silicon and macOS 15 or newer. The Windows beta covers Windows 10/11 on x64 and ARM64, with hotkey dictation, Modes, History, and signed self-updates, but no Meetings or local transcription API; the installer is not code-signed yet, so SmartScreen may warn. The Linux beta targets x86_64 on i3/X11 and compatible wlroots Wayland compositors; native Wayland paste depends on wtype or the desktop's RemoteDesktop portal, and shortcuts come from the GlobalShortcuts portal or compositor-bound CLI commands. See the Windows guide and Linux guide for details. Releases are currently dev builds that update themselves until a first stable release exists.

Privacy and data conditions

Ordinary transcription runs locally and dictation audio is not saved by default. History keeps successfully pasted text for seven days by default, including the local transcript, final text, and limited application and timing metadata, never audio, full browser URLs, or window titles; retention choices are capped at 10,000 entries and 16 MiB, oldest evicted first. Turning retention off does not delete existing entries or stop diagnostic logging, and logs can contain transcript text, app names, and Brave URLs, though Hex does not upload them. Optional OpenCode features send the described data to the chosen provider. The privacy section is worth reading before use in sensitive environments.

Upgrade and licence notes

Moving from the original Swift app requires a manual install; settings and history are not transferred, and the old app should be quit so shortcuts do not compete. Organizations can disable in-app updates via a preference-domain policy. Hex is MIT-licensed. Outside pull requests are not accepted, though issue reports are.

Written by AI from the project's README, updated October 30, 2026. The project's own docs are the source of truth.