在寻求真理的长河中,唯有学习,不断地学习,勤奋地学习,有创造性地学习,才能越重山跨峻岭。——华罗庚

https://github.com/altic-dev/FluidVoice

当一台 Mac 学会倾听之后,FluidVoice 想把说话这件事变回一件自然的事

在很多人的电脑生活里,键盘像是一位全年无休的老员工。写邮件靠它,记笔记靠它,改文案靠它,甚至一个灵感刚冒头,也得先敲几下,才能把念头从脑海里捞出来。可语言本来不是这样出生的。人先会说话,才会学会打字。声音本该比键盘更接近思考,也更接近表达最原始的速度。

FluidVoice 正是一个试图把这份自然感重新还给 Mac 的项目。

它不是一个把语音简单转成文字的普通工具,而更像是一位住在 macOS 里的听写搭档:你一开口,它就开始认真工作;你停顿,它也不慌不忙地把意思接住;你想写、想改、想控制电脑,它都愿意替你上前一步。更重要的是,它把“本地优先”这件事放在了很靠前的位置:你的声音、音频和转写文本,默认不会离开你的设备,除非你明确选择接入云端 AI 服务。

如果要用一句话概括它,那大概是:

FluidVoice 是一个面向 macOS 的开源语音转文字听写应用,强调速度、隐私、本地处理能力,以及真正能嵌入日常工作流的语音交互体验。

它是谁

根据仓库描述,FluidVoice 给自己的定位非常直接:

Fastest macOS Offline Dictation app - Voice to Text fully Local

这句话像它的自我介绍,也像它的性格标签。

它想做的不是“也能用”的语音输入,而是尽可能快的 macOS 离线听写体验。它希望自己更像一阵风,而不是一个需要你耐心等待的流程。你说话的时候,它不应该像个慢吞吞的书记员一边翻本子一边记,而应该像一个反应极快的同伴,你话音刚落,它就已经把文字端到你眼前。

而“fully Local”又给这份速度添上了另一层底气。今天大家对 AI 的热情很高,但对隐私的敏感也同样真实。FluidVoice 显然明白这一点,所以它一边追求快,一边尽量把处理留在本机。它像是在对用户说:放心说,我尽量不往外传。

它不是一个冷冰冰的转写器,而像一位会配合工作的搭档

很多语音工具只负责“听见”,FluidVoice 想负责的是“听懂之后帮你继续做事”。

从 README 来看,它最吸引人的地方,在于它不是只有一个语音输入框,而是围绕真实使用场景,设计出了更完整的能力结构。

Command Mode

这是它颇有野心的一面。

Command Mode 下,FluidVoice 不只是把你说的话变成文字,它还想帮你“动起来”。你可以通过语音控制 Mac,启动应用、运行快捷指令、触发系统操作,甚至把一些重复动作交给语音来发起。

这让它像一位坐在系统边缘、随时待命的助手。你不需要先切到某个窗口、点开某个功能,再开始操作。你只要说,它就去做。电脑不再只是被鼠标和键盘驱动的机器,某种意义上,它开始学会“听命行事”。

Write Mode

如果说 Command Mode 更像行动派,那么 Write Mode 就更像文字工作者的知己。

它支持直接在任意应用的文本框里写入或改写文字。你可以选中已有内容,让它重写;也可以直接口述新内容,让它代你输入到当前文本区域里。这个设计非常贴近日常:写邮件、回消息、记会议纪要、补待办、写创意草稿,都能自然接上。

这意味着 FluidVoice 并不是把你拉进一个封闭的小房间里说话,而是愿意陪你进入你原本就在使用的应用环境。它不像在说“请来我这里工作”,而更像在说“你继续忙你的,我来配合你”。

Live Preview

语音工具最怕的一种体验,就是你说完了,却不知道它到底听成了什么。

FluidVoice 提供 实时转写预览,会把识别出来的文字即时展示出来,而且还考虑到了 MacBook 刘海区域,支持 notch-aware overlay。这个细节很有意思,它说明这个项目并不是只关心模型和参数,也关心一个工具究竟怎样“住进”用户的桌面生活里而不显得突兀。

它像个懂礼貌的室友,会出现,但不会挡路;会提醒你,但不抢你的视线中心。

它的野心,不止于转写,还想把表达修得更漂亮

FluidVoice 在 README 中反复提到一个关键词:Fluid Intelligence

这是一个独立的、本地运行的 AI 增强层,用来做更高级的听写后处理,比如智能格式化、上下文感知的大写处理,以及其他文本增强能力。项目明确说明,FluidVoice 本体是 GPLv3 开源的,而 Fluid Intelligence 目前是单独私有维护的本地 AI runtime。

这一点很重要,因为它传递出的信息是:

基础听写能力本身就能很好工作,而如果你想要更进一步的本地增强体验,还可以启用额外的本地 AI 层。

这个设计很像给语言配了一位润笔人。你把原始意思讲出来,FluidVoice 先帮你接住,再由 Fluid Intelligence 把它修整得更顺、更像最终可用的文本。整个过程仍然尽量留在你的设备里完成,不依赖云端,不需要 API key,也尽量不把数据送出 Mac。

对很多写作者、内容工作者、产品经理、开发者来说,这种“先说出来,再在本地自动收拾整齐”的体验是非常有吸引力的。因为它节省的不仅是输入时间,更是整理碎片表达的脑力。

它支持的模型很多,像一个不挑人的“语音引擎调度员”

一个语音应用是否好用,模型选择非常关键。不同的人有不同语言需求、不同设备性能、不同延迟容忍度。FluidVoice 没有试图用一个模型打天下,而是提供了多种模型支持,让用户按自己的需要做取舍。

README 中列出的支持模型包括:

  • Nemotron Speech 3.5
  • Parakeet Flash
  • Parakeet TDT v3
  • Parakeet TDT v2
  • Cohere Transcribe
  • Apple Speech
  • Whisper 各尺寸模型

这套阵容看得出项目相当务实。

它没有执着于某一种技术路线,而是更像一位经验丰富的总调度:如果你要低延迟,它给你更快的选择;如果你要多语言,它给你覆盖更广的方案;如果你在 Intel Mac 上,它也没有把你直接关在门外,而是通过 Whisper 提供兼容路径。

尤其值得一提的是,README 明确提到:

  • Parakeet Flash 主打超低延迟英文实时听写
  • Parakeet TDT v3 适合快速多语言听写
  • Apple Speech 零下载、系统原生
  • Whisper 拥有广泛语言兼容性,并支持 Intel Mac
  • Nemotron Speech 3.5 提供流式、多语言、低延迟能力

这使得 FluidVoice 看起来不像一个“只有官方标准答案”的产品,而像一个会因人制宜的工具。它愿意承认:不同用户需要的是不同的平衡点。有人要速度,有人要精度,有人要多语言,有人只想开箱即用。它把选择权留给了用户。

它很在乎速度,甚至把“快”写进了气质里

README 里关于 1.6.0 的更新,第一条就是:

Insanely fast Parakeet

而且还提到,几乎做到了“说话和看到文字之间接近零延迟”。

这不是一个无关紧要的卖点。对于语音输入来说,速度直接决定了它到底是工具,还是阻碍。只要延迟一高,思路就会被打断;一旦打断,人就会忍不住回到键盘。语音交互的成败,很多时候不在于最终转写有多华丽,而在于它是不是足够跟得上人脑。

FluidVoice 明显知道这一点,所以它不满足于“能转”,而是拼命往“更快”上靠。它想成为那种让你用了几次之后,开始懒得再伸手打字的工具。那种工具一旦养成习惯,就不是锦上添花,而是工作流的一部分。

它还挺懂“人人都想要自由配置”这件事

很多人对工具的理想状态,不是功能越多越好,而是“我能决定哪些功能出现”。

FluidVoice 在这方面做得很克制,也很聪明。README 中强调:

  • AI 增强是可选的
  • Fluid Intelligence 是可选的
  • 音频历史是可选的
  • 分析数据是可选的
  • Beta 构建是可选的
  • 不同应用可配置不同提示集
  • 覆盖层大小和样式可配置
  • 主题可跟随系统明暗切换

它像一个很有边界感的工具。它有很多能力,但并不强迫你全部接受。它不会拽着你说“都打开吧,这样才完整”,而是说“核心体验开箱即用,其他能力你按需要慢慢加”。

这种设计对长期使用特别重要。因为真正能留下来的工具,往往不是功能最吵闹的,而是能和用户习惯和平相处的。

它对隐私这件事说得很清楚

现在很多产品都喜欢说“我们很重视隐私”,但真正让人安心的,往往是那些把边界写清楚的项目。

FluidVoice 在 README 的 Privacy & Analytics 部分写得很明确:它是 local-first。默认情况下,你的声音、音频和转写文本不会离开你的机器,除非你明确启用云端 AI 服务商。

同时,它还列出了会收集和不会收集的内容。

会收集的是一些匿名、较高层级的信息,例如:

  • App 版本、构建号、macOS 版本
  • 低基数功能或配置标记
  • 大致使用范围
  • 高层级的成功或错误结果

不会收集的则包括:

  • 声音、原始音频、转写文本
  • 选中文本、提示词、AI 响应
  • 终端命令、窗口标题、文件路径、剪贴板、输入内容
  • 任何个人或私密信息

这个表述方式非常有说服力,因为它不是用模糊情绪安抚你,而是像一位认真负责的管家,把自己“看得见什么、拿得走什么、绝不碰什么”一项项摆在桌面上。对于一个驻留在系统层、涉及麦克风和辅助功能权限的工具来说,这种透明度非常必要。

快速上手

如果你是一个想尽快试试它的人,README 给出的上手路径非常清楚。

使用 Homebrew 安装

1
brew install --cask fluidvoice

或者你也可以直接下载最新发布版本。

安装完成后,接下来的步骤大致是:

  1. 授予麦克风权限和辅助功能权限
  2. 在设置中配置一个全局快捷键
  3. 走完首次引导流程
  4. 按语言和延迟需求选择语音模型
  5. 按需启用 Fluid Intelligence
  6. 按需接入 OpenAI、Groq 或自定义提供商
  7. 按需开启 Beta 更新通道

它的 onboarding 设计思路也很清楚:先让你以语言和实际需求为中心做选择,而不是一上来丢给你一堆晦涩设置。项目在 1.6.0 更新中还专门提到了更清爽的 onboarding 流程,这说明它并不只关注“功能是否存在”,也关注“第一次体验是否顺手”。

如果你是开发者,也可以自己从源码构建

FluidVoice 是开源项目,仓库给出了标准的源码构建方式。

从源码构建

1
2
3
git clone https://github.com/altic-dev/FluidVoice.git
cd FluidVoice
open Fluid.xcodeproj

打开 Xcode 后即可构建运行,依赖由 Swift Package Manager 管理。

如果你只想构建、不签名,也可以使用:

1
xcodebuild -project Fluid.xcodeproj -scheme Fluid -destination 'platform=macOS' build CODE_SIGNING_ALLOWED=NO

运行集成测试

1
xcodebuild test -project Fluid.xcodeproj -scheme Fluid -destination 'platform=macOS'

CI 使用无签名构建的测试命令则是:

1
xcodebuild test -project Fluid.xcodeproj -scheme Fluid -destination 'platform=macOS' CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO

从这些命令也能看出,这个项目对开发者是友好的。它不是那种把“欢迎贡献”写在嘴上、实际却让新人走三天迷宫的仓库。README 里不仅给了开发设置,也给了 PR 规范、pre-commit hook 建议和测试命令,说明维护者是在认真经营一个可以协作的开源项目。

它适合谁

如果把 FluidVoice 当作一个“会说话的工具角色”来看,它其实并不只服务一种人,而是适合很多长期与文字、效率和系统操作打交道的人。

适合写作者与内容创作者

有些句子在脑子里是活的,一上键盘就变硬了。FluidVoice 适合用来先把语言的热度保留下来。你想到一段开头、一个转折、一串灵感时,不必先和键盘商量,直接说出来即可。尤其在 Write Mode 下,它能更自然地嵌进写作过程。

适合会议记录和日常办公人群

会议纪要、邮件回复、即时沟通、任务记录,这些高频场景都很依赖快速输入。如果你每天都在重复“听—想—打字—修改”的循环,那么语音入口一旦足够稳定,效率提升会非常明显。

适合开发者和产品经理

很多开发者在思考时其实更擅长“讲出来”。产品经理也经常需要把模糊需求迅速变成一段可读文本。FluidVoice 的价值在于,它不仅能接住这种口述,还能通过本地增强或外部 AI 增强,把原始表达变得更适合落地。

适合重视隐私的人

对本地处理、权限边界、数据不出机格外敏感的用户,会很容易理解 FluidVoice 的理念。它努力把“方便”和“安心”放在同一张桌子上谈,而不是让你必须二选一。

它的气质,像是一个认真打磨体验的独立产品

从 README 的文字风格也能感受到,这不是一个只会堆技术名词的仓库。它有一点幽默,也有一点自信。例如在 1.6.0 更新里,它甚至调侃说,Fluid Intelligence 可能会让你取消别的听写软件订阅,从而省钱。

这种表达背后,其实是产品气质的一部分:它不是企业公文式地罗列能力,而像一个很有主见、很知道自己哪里厉害的独立创作者项目。它愿意把“快”“本地”“实用”“可选增强”这些价值反复讲清楚,并且在交互、主题、覆盖层、模型支持、开发协作等细节上持续补齐。

一个项目是否值得关注,很多时候不只看它现在有多少功能,还看它有没有形成稳定而清晰的方向。FluidVoice 的方向感是鲜明的:

  • 做 macOS 上更快的离线听写
  • 尽量本地处理,强调隐私
  • 把语音真正融入系统级工作流
  • 让高级 AI 增强也能尽量留在本机
  • 给用户足够多的可选项,而不是强绑定

这套路线在今天并不常见,因为它同时挑战了速度、体验、隐私和实用性几个维度。难度不低,但一旦做好,价值就非常明显。

它为什么容易让人产生兴趣

因为它击中了一个越来越清楚的趋势:

未来的人机交互,不会只靠键盘和鼠标。

但很多人并不愿意接受一个高延迟、强联网、侵入式、难配置的语音工具。大家真正想要的是:它快一点,安静一点,别抢控制权,能嵌进我的现有工作流,最好还别把我说的话上传得满天飞。

FluidVoice 恰恰在尝试回答这个需求。

它不是在喊“来体验未来”,而是在做一件更有说服力的事:让你今天就在 Mac 上舒服地开口说话,并且愿意明天继续这么做。

当一个语音工具不再像一个演示品,而开始像一个可靠搭档时,它的意义就变了。它不再只是“哇,居然能这样”,而是“好,那以后我就这样用了”。

结语

FluidVoice 是一个很有辨识度的开源项目。

它把自己放在 macOS 离线听写这个赛道上,强调极快的响应、丰富的模型支持、对真实工作场景的适配,以及尽可能本地化的隐私策略。它既能做基础的语音转写,也试图通过 Command Mode、Write Mode、实时预览、可选 AI 增强和 Fluid Intelligence,把“说话”这件事真正变成一种高效可持续的输入方式。

它像一位逐渐长出理解力的桌面伙伴:平时安静地待在菜单栏和快捷键背后,等你需要的时候,立刻现身;既能替你写字,也能替你跑腿;既懂速度,也懂分寸。

如果你一直在寻找一款更像现代 macOS 原生体验的语音输入工具,或者你对本地优先、低延迟、开源、可扩展的听写方案感兴趣,那么 FluidVoice 值得认真看看。

也许它不会取代键盘的一切,但它已经在努力证明:有些表达,本来就该直接说出来。