大家好,我是何三,独立开发者
4MB。
对,你没看错,一个语音听写工具,整个安装包只有 4MB。

相比之下,Whisper 的模型随便一个就是几百 MB,装完光模型文件就占了半个 G。Yap 不仅体积小了近百倍,字错率反而更低——2.12% vs Whisper Small 的 3.74%,速度快了将近 3 倍。而且它零模型下载、零网络请求,按下快捷键说话,松开文字就出现在你正在打的输入框里。
离谱吗?我也觉得离谱。但它真的能做到。
这东西到底是干啥的
Yap 是个 macOS 菜单栏工具。你设个快捷键(默认是 ⌘⇧D),按一下开始说话,再按一下,语音自动转成文字贴到你正在用的 App 里。
整个过程完全离线。麦克风采集的音频压根不会离开你的电脑。不用注册账号,不用配 API Key,甚至连模型都不用下载——它用的是 macOS 26 自带的语音识别能力。
说白了,以前你要装 Whisper 还得配 Python 环境、下载模型文件、折腾半天才能跑起来。这玩意儿装完就能用,双击即食。
macOS 26 到底给了什么黑科技
你也好奇对吧?一个 4MB 的 App,凭什么跟 Whisper 这种大模型掰手腕?
答案不在 Yap 本身,在 macOS 26。
苹果在 Tahoe 版本里加了两套新 API:SpeechAnalyzer 和 SpeechTranscriber。它们是苹果自己训练的本地语音模型,直接集成在系统里,任何 App 都能调用。模型由苹果管理、苹果更新、苹果优化——App 开发者什么都不用做,白嫖就完事了。
这就好比以前你想喝咖啡得自己种咖啡树、烘焙、研磨、冲泡,Whisper 就是那个流程。而 Yap 直接打开水龙头接速溶——水龙头(API)是 macOS 26 自带的,Yap 只是个杯子,4MB 的杯子。

有人专门拿 5,559 条 LibriSpeech 语音片段做了个 benchmark。结果如下:
- Yap(macOS 原生):干净语音字错率 2.12%,嘈杂环境 4.56%
- Whisper Small:干净语音字错率 3.74%,嘈杂环境 7.95%
- 速度对比:Yap 比 Whisper Small 快 3 倍
我没懂苹果为什么不在 WWDC 上吹这个。可能他们觉得这是常规更新?这是常规更新吗?这是降维打击啊兄弟。
说句实话,我也不是没踩过 Whisper 的坑。之前折腾 whisper.cpp 的时候,Intel Mac 上跑一段十几秒的录音,转文字等了快一分钟。风扇狂转,我人傻了。后来换了 M 芯片的机器好一些,但模型加载那几秒的延迟还是让人抓狂。
Yap 呢?快捷键一按,波形就出来了,你说完话,文字已经贴好了。没有加载动画,没有进度条,什么都没有——因为根本不需要加载。
跑起来看看
安装方式有两种,都极其简单。
方式一:Homebrew
brew install --cask frigadehq/tap/yap
方式二:直接下载
去 GitHub Releases 页面下载最新 .dmg,拖到 Applications 文件夹就行。已签名、已公证,macOS 不会弹出"未识别的开发者"警告。
装好后第一次启动,它会问你要四个权限:
| 权限 | 原因 |
|---|---|
| 麦克风 | 听到你说话 |
| 语音识别 | 在本地转文字 |
| 无障碍 | 知道你在用什么 App |
| 自动化 | 把文字粘贴过去 |
无障碍权限需要手动在系统设置里打开——这是 macOS 对任何替你打字的 App 的强制要求,绕不开。
配好之后,找个输入框,按 ⌘⇧D,说句话试试。Yap 会在屏幕底部弹出一个小窗口,显示实时波形和转写预览。再按一次快捷键,文字就贴进去了。
如果你不想用 ⌘⇧D,Settings 里可以改成别的快捷键,甚至支持单独按右 Shift 键触发——这个设计挺妙的,右手拇指闲着也是闲着。
——说到快捷键设计,我插一句。之前用过一些 macOS 上的语音输入工具,比如 MacWhisper,功能也不错,但它是个 100MB+ 的 Electron 应用。Electron 啊兄弟,一个菜单栏工具里面塞了个浏览器内核,就为了显示一个设置窗口?这合理吗?Yap 是用 Swift 写的原生应用,4MB,空闲内存 60MB 左右,这才叫 macOS 应用该有的样子。
粘贴那段代码,才是真功夫
看了源码我才知道,最 tricky 的部分不是语音识别,而是粘贴。
Yap 的工作流程是这样的:
- 把转好的文字写到剪贴板
- 通过 System Events 模拟 ⌘V 粘贴
- 等待一阵子,再把剪贴板恢复成原来的内容
问题出在第三步。Chromium 内核的 App(Chrome、Edge、Electron 一堆东西)读剪贴板是异步的,而且会读好几次。如果恢复得太早,粘贴到一半剪贴板就空了,页面拿到的是空白。
Yap 的解决方式是加了一个延迟——具体等多久我没仔细算,但效果是可以的。无论你用的是原生 App 还是 Web App,它都能正确粘贴。
这个细节让我挺佩服的。作者不是写了一堆"Hello World"级别的代码就发布,而是真的在真实场景里打磨过。
说实话,这块我也没完全搞懂——为什么要异步读多次?Chromium 内部有什么特殊的剪贴板机制吗?有懂的大佬欢迎指正。
同类工具有什么可选的
macOS 上本地语音听写工具不多,能打的更少:
- MacWhisper:基于 Whisper,功能多但体积大,Electron 应用
- Whisper Transcription:也是 Whisper 套壳,需要下载模型
- macOS 自带听写:系统级功能,但体验一般,不支持自定义快捷键粘贴到任何 App
Yap 的优势在于:够小、够快、够原生、零配置。
如果你对这类工具有兴趣,我此前还整理过《macOS 开发者工具的高性能趋势》,里面聊了不少原生 Swift 应用怎么做到极致性能的思路。关注后回复「工具」获取。
开源地址
项目在 GitHub 上完全开源,MIT 协议:
https://github.com/FrigadeHQ/yap
目前刚发布不久(HN 81 points),但代码质量极高,~3000 行 Swift,结构清晰,有单元测试。有兴趣的可以去看看源码,RecordingCoordinator 那个状态机的设计挺优雅的。
值得装吗?
如果你是 macOS 26+ 用户,日常工作需要写邮件、写文档、写代码注释、跟 AI 对话——装一个吧,不亏。
4MB 的体积,60MB 的空闲内存,零学习成本。装完快捷键一按就能说话,比打字快多了。这玩意儿不会天天用,但真要用的时候,你会觉得以前怎么没早点装。
反正删掉也就 4MB,怕什么。
本文使用 MGO 编辑并发布
关注"何三笔记",回复"mgo" 免费下载使用