按住快捷键说话,松开光标处出文字(OpenLess)

OpenLess 是一款用 Rust 写的开源语音输入工具,支持 macOS、Windows 与 Linux,按住全局快捷键说话,松开后经 AI 润色的文字直接插入光标所在位置。这篇文章梳理它的实际功能清单、安装与配置路径、真实用户报告过的问题,以及它和几款同类开源听写工具的取舍差别。

光标停在任意输入框里,按一个全局快捷键,说一段话,松开手。几秒后,一段结构清楚、标点正常的文字出现在光标位置。整个过程不用切窗口,不用复制粘贴,也不用管当前打开的是 ChatGPT、Claude、Cursor、Notion 还是邮件草稿。

OpenLess 是一款用 Rust 写的跨平台语音输入工具,按住快捷键说话,松开后 AI 润色过的文字直接落到光标处,运行在 macOS、Windows 和 Linux 上。输入是一段麦克风录音加上你选定的模式与风格,输出是转写并润色后的文本。商业方案里有 Typeless、Wispr Flow、Superwhisper 做同一件事,OpenLess 是它们的开源替代。

它用 Tauri 2 和 Rust 2021 构建,仓库里 Rust 代码占 65.8%,其余主要是 TypeScript、Kotlin 和少量脚本。默认分支是 beta,最近一次提交在 2026-10-02,仓库体积约 100 MB,这个数字和它内置本地模型下载能力的定位是吻合的。

它用 Tauri 2 和 Rust 2021 构建,仓库里 Rust 代码占 65.8%,其

普通听写工具把语音逐字变成文字,OpenLess 在这一点上做了延伸。README 把 AI-prompt 模式列为标志性能力:你随口说一段需求,它补上结构、记下你提到的约束,产出一段可以直接粘进 ChatGPT、Claude 或 Cursor 的提示词。这个差别决定了它的适用人群——写代码、写 prompt、写邮件的人比纯粹要「打字快一点」的人更能用上。

主要功能

全局快捷键听写与光标插入。按住设定好的快捷键说话,松开后音频转写、润色,结果插到当前光标位置。如果目标应用拒绝插入,文本会自动落到剪贴板,你刚说的内容不会因为应用不配合而丢掉。

AI-prompt 模式。口述一段需求,它按你选定的模式产出结构化的提示词,而不是逐字稿。这是它和普通听写工具最明显的分界线。

风格包(style pack)。把语气固化成可命名、可切换的预设。换一个快捷键就换一种文风,不必每次重新交代「写得正式一点」。

词典热词。把专有名词沉淀进词典,ASR 识别时用上这批词,润色模型也会拿到提示。人名、项目名、内部术语这类高频纠正对象放进去之后,重复纠正的次数会下降。

会学习的词典。你改掉 OpenLess 刚写出的某个词时,它会弹出一张小卡片问一次要不要记住,点一下就把这个词加进词典。这个交互在 README 的「What's new」里被单独列出。

光标上下文。README 里明确标注为 opt-in,也就是需要你手动开启。当前选中的文本或光标附近的内容会作为润色时的参考。事实表节选到「Paired with cursor context (opt-in」这一句就被截断了,更完整的说明需要看仓库里的 README.md。

多种 ASR 后端与模型渠道。本地识别可以用 sherpa-onnx-local,配合 qwen3-asr-0.6b-int8 这类模型;云端渠道支持百炼,2.0.0-Beta.2 起加入了 MiniMax 语音识别,模型可以从 ModelScope 下载并做完整性校验。

端到端加密云同步。2.0.0-Beta.3 接入端到端加密云同步客户端,同时新增了同步设置引导与恢复流程。macOS 上服务凭据和本机同步密钥共用一个钥匙串项目,迁移完成后正常启动只读取一次。

快捷键细节。2.0.0-Beta.3 起支持纯修饰键组合,例如 Ctrl + Win 可以作为听写快捷键。社区还提过区分左右修饰键、用鼠标中键唤起识别的需求,这条已经在 Issue 里标记为已解决。

安装与依赖

常规路径是从 GitHub Releases 下载安装包。macOS 用户把 DMG 拖进 /Applications 之后,必须在终端再跑一条命令,否则 Gatekeeper 会提示「OpenLess 已损坏」。原因在 Release 说明里写得很清楚:当前 build 用 ad-hoc 签名,没有做 Apple 公证。事实表里这条命令的正文被截断了,仓库里也没有完整给出,需要到对应 Release 页面确认。

版本渠道分两类,下载时容易看错。以 -tauri 结尾的 tag 是正式版,会自动推送给所有在应用内检查更新的用户;以 -beta-tauri 结尾或包含 -Beta.N-tauri 的 tag 是 Beta 版,GitHub 上标记为 pre-release,不走应用内更新推送。

平台要求:macOS 12+、Windows 10+,Linux 走 egui 分支。源码树里有 openless-all/、.cargo/、scripts/、Casks/ 和一份 RELEASING.md,自编译的流程写在 RELEASING.md 与 USAGE.md 里。仓库里没有说明从零构建需要装哪些系统级依赖,这一步需要自己看脚本。

最短能跑通的用法

安装完成后,最短的可用路径是四步。

  1. 首次启动时按提示授予麦克风权限和辅助功能(无障碍)权限。macOS 上这两项缺一不可,授权页面过不去应用就没法用。
  2. 进入设置,选择听写模式和风格包。
  3. 配置识别与润色后端。想完全本地跑,选 sherpa-onnx-local 这类本地 ASR;想用云端润色,填对应渠道的 API Key。
  4. 把光标放到任意输入框,按住全局快捷键说话,松开。

没配 LLM 也能用,只是拿不到润色结果。Issue 里有用户报告过 polishFailed 与 API Key 为空同时出现的情况,长语音转写失败后只剩下「重新润色」这一个选项。

关键参数

模式。设置里区分传统模式与多模态模式,2.0.0-Beta.4 起会按实际用途禁用对应的入口,多模态表单和验证操作集中显示。模型入口在设置里完整同屏展示。

键盘台。支持组合键,也支持 Ctrl + Win 这种纯修饰键组合。左右修饰键的区分能力在 Issue 中被提出并标记为已解决。

ASR 后端。本地选项有 sherpa-onnx-local;仓库修复过 Sherpa 解码超时后的并发冲突,也修复过本地模型的平台分类和运行时标识。云端识别渠道包含百炼与 MiniMax。

润色模型与凭据。模型渠道可切换,服务凭据与同步密钥在 macOS 上存进同一个钥匙串项目。这一条决定了换机器时要做几次授权。

结果在哪里看

主结果是光标处的文字。插入被目标应用阻止时,结果退到剪贴板。

应用内还有几个查看位置:历史记录页存放过往转写,风格页面管理风格包,设置弹窗调整参数。2.0.0-Beta.2 增加了速记、录音归档与历史重新处理,也就是说原始录音和转写结果可以分开回看、重新跑一遍。桌面上还会有录音胶囊一类的状态提示,Windows 上有用户报告过胶囊不显示的问题,该 Issue 已解决。

实际使用中的坑

以下问题都来自仓库的 Issue 列表,且当前状态均为已解决。列出来是为了说明这个项目在哪些场景下曾经不稳,不是当前版本的故障清单。

  • Linux Wayland 下快捷键不可用。Debian 的 Wayland 桌面环境里,即使在应用内点击快捷键也不响应,配置好模型之后依然测不出效果。用户建议补充脚本或命令,让用户自己去系统设置里绑定快捷键。17 条评论,已解决。
  • Windows 录音结束后约 5 秒卡顿。录音结束时鼠标移动明显变卡,键盘输入失效,VS Code 短暂无响应,浏览器全屏变白后刷新。1.3.0 和 1.3.2 都能复现,长按 Ctrl 和用 Ctrl 开关两种方式都会出现,用户报告自己的机器配置并不低。17 条评论,已解决。
  • macOS Monterey 授权过不去。系统设置里反复勾选辅助功能和隐私权限,OpenLess 的授权页始终进不去,重启软件也没有用,程序完全无法使用。13 条评论,已解决。
  • 长语音丢内容。长段输入时后半部分经常缺失,有时输出里直接出现省略号。10 条评论,已解决。

这四条覆盖了三个平台,说明跨平台是这个项目真实付出过代价的地方。Linux 侧的桌面环境差异、Windows 侧的系统级钩子、macOS 侧的签名与权限体系,各自都有独立的坑。

和同类放在一起看

下面三个项目都在做「按住键说话、松开得到文字」这件事,定位接近,适合放在一起比较。

项目适合谁部署方式主要限制什么情况下选它更合适项目地址
OpenLess同时用 macOS、Windows、Linux,需要本地 ASR 与云端润色混搭,且愿意花时间配模型和密钥的人从 GitHub Releases 下载安装包;macOS 需先在终端执行一条解除 Gatekeeper 的命令;也支持从源码构建采用 AGPL-3.0,二次分发有约束;当前主推 2.0.0-Beta 系列,Beta tag 不走应用内更新;仓库没有说明自编译需要哪些系统依赖需要在多个操作系统上保持同一套听写和润色配置时OpenLess
crosswk/SayIt只在 Windows 上工作、想装完就能用、不想碰模型和密钥的人针对 Windows 的桌面应用描述中只覆盖 Windows,跨平台需求满足不了;其余具体限制未逐一核实环境只有 Windows,且不需要 Linux 或 macOS 支持时crosswk/SayIt
AbhishekBarali/SpeakoFlow希望完全离线的 Windows、macOS、Linux 用户覆盖 Windows、macOS 和 Linux 的开源离线听写描述里强调离线,云端润色这一类能力未逐一核实对联网调用外部服务有顾虑、只想要离线转写时AbhishekBarali/SpeakoFlow

三者的差别主要落在平台覆盖和离线程度上。如果只需要 Windows 上的轻量听写,SayIt 的安装路径比 OpenLess 短,不用处理 macOS 的签名问题,也不用选模型和渠道。如果希望语音完全不出本机、不接受任何云端调用,SpeakoFlow 的离线定位更直接,代价是拿不到云端润色那一段效果。OpenLess 的价值在跨平台一致性和本地与云端的混搭能力,对应的成本是配置项更多、Beta 阶段的问题也更多。

适合谁

适合同时在多台不同系统的机器上工作的人。macOS 写邮件、Windows 调试、Linux 上跑开发环境的用户,一套快捷键和风格包可以跟着走,不必每台机器重新适应一个工具。

适合把口述变成 prompt 的人。经常要给 ChatGPT、Claude、Cursor 写长提示词的开发者,AI-prompt 模式省下的是组织语言的时间。

适合愿意自己配后端的人。本地 ASR 与云端润色可以混搭,识别走本机、润色走云端,这种组合在开源方案里不常见。

不适合只想装完就用、不打算打开设置页面的人。要填 API Key、要选模型、macOS 上还要处理签名问题,这些都绕不过去。

不适合对稳定性要求极高的生产环境。当前主推版本仍处于 2.0.0-Beta 系列,Beta tag 不通过应用内更新推送,需要自己盯着 Release 页面。

仓库地址:https://github.com/Open-Less/openless,许可证为 GNU Affero General Public License v3.0(AGPL-3.0),主要语言 Rust。当前 3700 颗星、346 个 Fork、8 个 Watcher,开放 Issue 37 个。

焚评:这个项目的量化评分

本项目的选题来自 焚.com(一个按公开公式给 GitHub 项目打分的站)。焚评当前总分 9.9 分(满分 10)。下表是各维度的得分:

评分维度得分
热度动量(权重 25%)10.0 / 10
开发活跃(权重 25%)9.9 / 10
社区响应(权重 15%)9.4 / 10
文档质量(权重 15%)10.0 / 10
发布节奏(权重 10%)10.0 / 10
风险控制(权重 10%)10.0 / 10

评分口径、权重与计算方式见焚.com 的评分方法页;数据随 GitHub 指标刷新,具体数值以焚.com 当前页面为准。本文正文为诀.com 独立撰写,评分数据由焚.com 授权引用。

内容核验说明

把 OpenLess 的功能面、安装门槛与 Issue 里的真实毛病放在一起,尤其区分 GitHub Release 的正式版和 Beta 版、macOS 签名坑,以及和 SayIt/SpeakoFlow 的平台取舍,适合多系统办公、愿意自己配 ASR 与润色后端的人先看。GitHub 指标与焚评分来自公开页面,诀.com 未独立验证;

GitHub 指标、焚评分与 Issue 案例均来自公开页面或原仓库 Issue,诀.com 未独立验证;文章未提供本站实测,跨平台表现与 Beta 稳定性需读者自行核验。

项目来源与说明

开源项目:Open-Less(Open-Less)

本文由诀.com 编辑基于该项目的公开信息独立撰写,属原创解读,不是对项目文档的翻译或转载;文中提到的功能与参数以官方仓库为准,代码与文档版权归原作者所有。

查看项目仓库