5 步跑通 Handy:完全离线的语音转文本,按住快捷键就能打字
【免费下载链接】HandyA free, open source, and extensible speech-to-text application that works completely offline.项目地址: https://gitcode.com/GitHub_Trending/handy11/Handy
如果你也受够了"语音输入要把录音先传到云端"的套路,可以看看 Handy——一个免费开源、完全离线的语音转文本桌面应用。按住快捷键说话,松手,文字直接出现在你正在输入的任何文本框里,全程不联网。
一分钟认识 Handy
Handy 的定位很简单:一个工具,干一件事——把你说的话转成文字,塞进当前光标位置。所有音频都在你自己的电脑上处理,隐私问题从根上不存在。
适合谁用?对号入座一下:
- 💻内容创作者 / 文字工作者:口述初稿,键盘不再是瓶颈
- 🎧会议记录者:边听边转,纪要直接落在文档里
- 🏥需要无障碍输入的用户:打字困难、肩颈劳损,说话就是打字
最快 5 步跑起来
日常使用其实是直接装发布版就行(macOS 有brew install --cask handy,Windows 有winget install cjpais.Handy)。这里给的是从源码跑起来的最短路径,适合想折腾、想魔改的:
git clone https://gitcode.com/GitHub_Trending/handy11/Handy && cd Handy npm install npm run tauri dev前提是你装好了 Rust 和 Bun,完整的环境要求(各平台依赖、Linux 的 ALSA 库等)写在 BUILD.md 里。
成功标志:设置窗口弹出来、系统托盘里多了一个小图标,就对了。接下来去 Settings 里设好快捷键,Handy 就能用了。
按你实际使用的顺序,功能是这样走的
1. 先过权限这关。首次运行,macOS 会找你要麦克风权限(录音用的)和无障碍权限(把文字"贴"进别的 App 用的)。两个都点允许,否则后面粘贴文字会失灵。
2. 选一个模型。Handy 内置 Whisper(Small / Medium / Turbo / Large)和 CPU 优化的 Parakeet V3 等模型,有 GPU 的话 Whisper 可以硬件加速,没有 GPU 用 Parakeet 很稳。应用会引导你下载选中的模型,下载完之后就可以一直离线用了。模型页面还能试 IBM Granite、Mistral Voxtral、Qwen3-ASR 等一堆新模型。
3. 设快捷键,这是核心交互。三种触发方式:
- Hold:按住录、松手停(经典按键说话)
- Toggle:按一下开始、再按一下停止
- Auto(默认):两种行为合一,按住录也能点按切换
在 General → Shortcut Behavior 里挑一个,再配上顺手的全局按键。
4. 按住快捷键,开口说。屏幕角落会出现一个流式浮层,边说边出字,像这样:
5. 松手,收文字。转录完成后,文字自动插入你刚才所在的 App——备忘录、IDE、聊天框都行,不用来回切换。
放进真实场景
你正在赶一篇稿子,思路突然涌上来,打字速度根本跟不上。这时你按住快捷键,一口气把想法全说出来;松手,几百字的语音直接落成带标点的段落。不用开录音软件,不用复制粘贴,光标在哪文字就在哪。
你正在开一场一小时的会,老板说"会后把结论整理一份纪要"。这时你让 Handy 在后台待命,每有一个关键结论就按一下快捷键口述两句;散会后,这些口述片段已经在文档里排好队,你只需要整理措辞。全程录音没离开过你的电脑。
你正在写代码,懒得起身去够键盘。这时长按快捷键,"把这个函数改成异步的,注释说明参数含义",松手,描述直接落进 commit message 或 Issue 正文里。
提前知道的坑
macOS 上用蓝牙耳机录音,声音发闷?正常。蓝牙会切成双向音频模式,临时拉低音质。解决办法:输出设备继续用耳机,但在 Handy 里把麦克风选成 Mac 内置麦或外接麦。
fn / 地球键快捷键不触发?那是硬件限制:fn只有苹果自家键盘会把它上报给系统,第三方键盘的 Fn 键在固件里就消化掉了,Handy 根本收不到这个事件。换用ctrl/option/shift/command加普通键的组合,一劳永逸。
Linux 上文字贴不进去?取决于你的显示服务器:X11 装xdotool,Wayland 装wtype(Ubuntu 26.04 默认 Wayland,需要换ydotool)。具体命令和 dotool 的配置在 README 的 Linux Notes 一节有完整表格。
Whisper 模型偶发崩溃?这是已知的、和系统配置相关的问题(Windows/Linux 上),不是所有人都会遇到。遇到崩溃可以换 Parakeet 顶上,开发者则欢迎你去提 issue 并附 debug 日志。
识别精度怎么调?三个抓手:安静环境 + 好麦克风是基础;模型按需求选——追求速度选流式模型(边说边出字、完成得更快),追求精度选更大的 Whisper;专业术语总被听错?往自定义词表里加,入口在 CustomWords.tsx,加完命中率立竿见影。
深度玩法
- 快捷键自定义:除了触发方式(Auto / Hold / Toggle),还能单独配一个"取消键"随时打断当前操作,具体在 HandyKeysShortcutInput.tsx 那套设置里。
- 语言:内置 60 多种语言,选 Auto Detect 直接自动检测,列表完整定义在 languages.ts。
- 调试模式:
Cmd+Shift+D(macOS)或Ctrl+Shift+D(Win/Linux)打开,能看到详细日志和实时 log,排查问题靠它。 - 命令行遥控:对着已在运行的实例敲
handy --toggle-transcription就能开关录音,还能--start-hidden静默启动,适合挂到脚本和自动启动里。
技术底牌
React + TypeScript + Tailwind 做设置界面,Rust(Tauri 框架)负责系统集成、音频处理和模型推理,Whisper 模型走 transcribe-cpp 本地跑——所以快、所以离线。
去把 Handy 跑起来,下次卡壳的时候,直接开口说。
【免费下载链接】HandyA free, open source, and extensible speech-to-text application that works completely offline.项目地址: https://gitcode.com/GitHub_Trending/handy11/Handy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考