一个 Rust 写的开源听写工具 Sayso,正在戳痛 Electron 系产品

声控输入这件事,圈子里一直不温不火地活着。手机端早就有人用本地模型做语音听写了,可到了桌面端反而卡壳——不是没有开源方案,而是手感普遍不行:占内存、吃 CPU、识别慢,Linux 上更是连设备都经常选不对。所以当有人在 Hacker News 上把 Sayso 丢出来,说这是免费开源的 Mac、Windows、Linux 三端听写工具,底下很快就有人接话。

项目挂在 github.com/watzon/sayso 上,作者 watzon 自己把卖点讲得很直接:它不靠 Electron 或 Tauri 那套壳,而是用 Rust 加 GPUI 写的,整个应用只占 5MB 左右内存。这个对比很扎心,因为市面上大多数同类开源工具都是 Electron 路线,功能没多多少,内存和 CPU 倒先铺开了。听写这种常驻类工具,内存占用直接决定你愿不愿意让它一直开着,5MB 和几百 MB 是两种使用心理。

作者还交代了技术分叉:不同系统用不同后端,macOS 端建在 WhisperKit 之上。AI 增强是可选能力,接 API 就能用,同时也支持接本地的 Claude Code 或 Codex CLI——一大波人装上就能跑,不用先折腾云端账号。最后一句话才是重点,他明说了做这个就是要对标 WisprFlow,「做到他们做的东西,但更好、且开源」。

如果只是作者自夸,这帖子也就平平过去了。真正的转折来自评论区一个叫 rpdillon 的用户。他之前已经把手上的手机听写切到本地模型,桌面端一直在用 Linux 上的 Handy,但嫌它慢——哪怕自己有 GPU 也一样。他下了 Sayso 的 Linux x64 AppImage 版和默认的 Parakeet 模型,拿蓝牙耳机试了一遍,设备选择完全不用手动调,这一点他说 Handy 折腾多了。实时转写跟着说话走,45 到 60 秒的音频返回时间不到 1 秒。文本插入也是无缝的,连 Emacs 和命令行这类难伺候的环境都直接能用。他的结论是 Sayso 成了他的默认听写工具。

这条反馈挑开了两个痛点:一是跨平台工具普遍在「硬件检测」上摆烂,Linux 尤其严重;二是命令行和编辑器场景的插入机制,很多工具根本没认真对待。听写工具真正的高频用法不是对着聊天框说话,而是往代码、文档、终端里灌文本,这里做不好,识别率再高也白搭。Sayso 恰好把这两个地方都补上了。

有人问这么多听写 app 里怎么分辨哪些是蜜罐,作者回了一句「这正是我做开源的原因,好审计」。这话在理,但也别全盘听进去——开源能看代码,不代表没有数据上传逻辑藏在深处,真要重度使用,跑一遍网络抓包、翻下请求日志是基本动作。目前能看到的只有技术方案和两个真实用户反馈,还没到可以盖章说它完胜对手的程度,识别率上限、长音频稳定性这些也还没被充分测过。

不过方向是对的:用轻量原生栈把常驻类工具做薄,把本地模型和本地 CLI 接进去,让 AI 增强不变成强制云服务,这套思路值得同类产品抄。对一个新开源项目来说,发布当天就能拿到「比我用过的都好」的实名反馈,已经是很好的开局。后面要看的,是作者能不能像他回评论时说的那样,把用户报上来的问题一个个修掉。