The project's README from github.com/Open-Less/openless. As one markdown file: README.md.
Open-source voice input for macOS, Windows & Linux
Hold a hotkey, speak, and watch AI-polished text stream straight to your cursor —
in the writing style you choose.
Website · Download · English / 中文
💬 Join our Discord · QQ Group 1078960553
OpenLess is sustained by the generous support of its sponsors.
悠雾云数据 · Youwu Cloud Data (knin.net)
![]() TRIP Author |
![]() Chris233 Author / Maintainer |
![]() bigsong Contributor / Tester |
![]() HKLHaoBin Android author |
![]() Cooper Contributor |
![]() aeoform Contributor |
OpenLess is a cross-platform (macOS and Windows) voice-input application — a fully open-source alternative to commercial tools such as Typeless, Wispr Flow, Lazy, and Superwhisper. Official site: openless.top.
Place your cursor in any text field — ChatGPT, Claude, Cursor, Notion, an email draft, a chat box — press a single global hotkey, and speak. OpenLess records the audio, transcribes it, polishes the text in the mode you selected, and inserts the result at the cursor. If insertion is blocked, the text is copied to the clipboard instead, so nothing you said is lost.
Unlike dictation tools that simply emit a word-for-word transcript, OpenLess's headline capability is its AI-prompt mode: you speak freely, and it adds structure, captures your constraints, and produces a context-rich prompt that you can paste directly into ChatGPT, Claude, or Cursor.
Advanced systems all do the same thing: they turn today's communication into tomorrow's default rules. The Internet won not because HTTP was faster, but because no one negotiates how data is transmitted anymore. Git won not because the code was better, but because teams stopped coordinating versions every day. Stripe won not because payments were faster, but because developers stopped coordinating with banks.
What OpenLess does is not "faster dictation" — it eliminates every act of coordination between a thought and clean text. Turning what's in your head into usable text used to mean deciding, over and over: what tone for this one? how is that name spelled? which input field, copy or paste? where does the model's key live, and who has access? OpenLess sediments those repeated negotiations, layer by layer, into defaults:
That is what authorizing the infrastructure once, at launch means: on first run you grant the microphone, accessibility, and cloud credentials exactly once; from that moment, "speak → clean text at the cursor" is no longer a negotiation you run each time, but a default protocol you can forget is even there. Judge OpenLess not by how much faster it is, but by how much coordination it removes.
Capabilities that sediment yet more of the coordination you used to repeat every day into defaults:
Hold the hotkey and say:
uh… so… I need to reply to the client about the proposal they sent last time, we talked it over internally and the overall direction is fine but a few details need changing, first the delivery timeline is too tight we'd like to push it back two weeks, second on budget their quote came in about twenty percent higher than we expected can we negotiate that, and overall we're positive about working together so reassure them, keep the tone polite not too blunt
Release the hotkey. A moment later, your input box reads:
Reply to the client about the proposal they sent. After internal discussion, the overall direction is fine, but a few details need adjusting:
1. Delivery timeline
(a) The current timeline is too tight; we'd like to extend it by two weeks.
2. Budget
(a) Their quote is about 20% higher than we expected — can we renegotiate?
Keep the overall message positive about the partnership, and keep the tone polite rather than blunt.
No edits are required — paste it into ChatGPT or Claude and let it draft the email. That is the core idea: compose prompts by speaking, faster and more cleanly than typing them.
The closest alternatives are subscription SaaS products: a monthly fee, no option to bring your own model, your audio uploaded to the vendor, and your dictionary and habits stored in their account.
OpenLess targets the same end-user experience, but:
A style pack is a named output style with its own system prompt. Rather than being constrained to one built-in "polish" voice, you can shape exactly how your speech is rendered — and the closer the style matches your real task, the better the result.
The marketplace is served by OpenLess's own moderated backend, so the catalog remains curated rather than a free-for-all.
OpenLess does one thing: it turns speech into usable written text — AI prompts in particular — at the current cursor.
| Tool | Form | How OpenLess differs |
|---|---|---|
| Typeless | Closed-source macOS / Windows / iOS, subscription | Open source; explicit AI-prompt mode; bring-your-own ASR + LLM; data and dictionary stay on your machine — including what the dictionary learns from your corrections, which is never uploaded and never added without your confirmation |
| Wispr Flow | Closed-source macOS / Windows, subscription | Open source; bring-your-own ASR + LLM; transparent prompt-handling rules |
| Lazy | Closed-source notes / capture tool | Not a notes container — inserts straight into any input field |
| Superwhisper | Closed-source macOS, subscription | Open source; cloud ASR today, local ASR on the roadmap |
Every item below is one more layer sedimented into a default — a capability you authorize once and then never manage again. This is the infrastructure you stand on after launch:
openless-core. macOS and Windows use a thin Tauri 2 host with the React/TypeScript frontend; Android keeps the Tauri mobile host. Linux uses a separate native host and will not compile Tauri or WebKitGTK.Esc cancels at any phase, including polish and insertion.Open-Less/qwen-asr (macOS); Windows Foundry Local Whisper and sherpa-onnx (experimental) variants.brew install --cask openless), and a Windows installer. Linux packages are not published until the separate egui UI is complete and its release gate is enabled.context.hotwords and as semantic hints during polish; hits accumulate per session.WH_KEYBOARD_LL) on Windows.Go to Releases and download:
OpenLess_<version>_aarch64.dmg (Apple Silicon) or OpenLess_<version>_x64.dmg (Intel). Open it, drag the app to /Applications, then run the following once in Terminal to bypass the Gatekeeper "damaged" warning (the build is ad-hoc signed, not Apple-notarized):xattr -cr /Applications/OpenLess.app
OpenLess_<version>_x64-setup.exe — run the installer.OpenLess_<version>_arm64-v8a.apkOpenLess_<version>_armeabi-v7a.apkOpenLess_<version>_x86_64.apkOpenLess_<version>_x86.apklatest-android-{arch}.json manifests; Beta users join Beta in Advanced settings.OpenLess-android-debug-{abi}-*.apk from workflow_dispatch artifacts.adb shell getprop ro.product.cpu.abi and pick the matching APK.linux-egui now contains a native eframe UI backed by the shared Core 2.0 services. Production release still requires Linux CI artifacts plus real Ubuntu audio, focus/input, install, upgrade, and rollback evidence.brew tap Open-Less/openless https://github.com/Open-Less/openless
brew install --cask openless
xattr -cr /Applications/OpenLess.app
# Upgrade to the latest version
brew update && brew upgrade openless
On first launch, grant the permissions the app requests.
macOS:
Windows: