跳到正文
Hacker News· HSO·· 9 天前AI 评分60

SpeakoFlow 发布免费开源语音听写与 AI 助手,支持 Windows、macOS 和 Linux

Speakoflow – Free Voice Dictation and AI Assistant for Windows, macOS, and Linux

AI 导读

SpeakoFlow 是一款免费开源的语音听写与 AI 助手,支持 Windows、macOS 和 Linux,通过快捷键在任意应用中听写、提问和进行语音对话。

正文 · AI 翻译

English · 简体中文 · 繁體中文

SpeakoFlow

在任何应用中说话即可输入,提问即可获得回答。开启对话,畅所欲言。
它还能帮你整理会议记录。免费、开源,默认本地运行。

Latest release License: MIT Platforms Built with Tauri

SpeakoFlow in action: dictating an email that types itself out, asking the assistant to translate selected text and replacing it with the answer, then a spoken conversation with the assistant

Download for Windows Download for macOS Download for Linux

网站  ·  文档  ·  所有版本

它能做什么

你的思维比打字更快。SpeakoFlow 让你改用语音工作, 在任何应用中,只需一个键盘快捷键:

听写

左 Ctrl + 左 Win

按住按键,说话,松开。你说的话会输入到光标处,适用于任何 可接受文本的应用。

提问

左 Ctrl + 左 Alt

如有需要可先选中一些文本,然后大声提问。翻译它、回复它、 解释它。复制答案、插入答案,或替换所选内容。

对话

左 Ctrl + 左 Alt + C

与助手进行免手操作的对话。把问题说出来,它会大声回答。 再次按下按键即可结束。

Windows 默认快捷键。macOS 和 Linux 的按键见 键盘快捷键,每一个都可以更改。

除非你选择云服务,否则语音会在你自己的电脑上转写。 助手使用你选择的任意模型:可离线工作的内置模型、你自己的 Ollama 或 LM Studio 服务器, 或使用你自己 API 密钥的云服务提供商。

我在独自备考时开发了 SpeakoFlow。当时我在为一款听写应用付费, 它能听见我却帮不了我,所以我做了一个两者兼备的。

功能

听写

按住按键,说话,然后松开。你的话会出现在光标所在处, 录音胶囊可在你说话时显示文字。转写使用本地模型在你的 显卡或处理器上运行:英语默认使用 Parakeet, Nemotron 支持 28 种语言并自动检测,Whisper 支持 99 种, 目录中共有 65 个语音模型。如果你更想用云端, ElevenLabs 和 Deepgram 可在你说话时流式输出文本,OpenAI、Groq、Mistral、 Azure AI Speech 和 OpenRouter 也同样支持。

  • 撤销。不小心取消了录音?胶囊会提供几秒钟的撤销选项, 历史记录也会保留录音,方便你之后恢复。转写失败时 会提供重试。
  • 你的词,按你的方式拼写。把名字和术语加入词典,或 编写文本替换规则。在 Windows 上,它还能学习你更正过的词。
  • 翻译成英语。Whisper、Canary、Granite Speech 和 Voxtral 模型,以及云端的 OpenAI 或 Groq,都能将其他语言的语音 转换为英语文本。
  • 按住或点按。说话时按住按键,或切换到点按模式,按一次 开始,再按一次停止。

提问

The quick ask in three examples: translating a selected message into Spanish and replacing it, writing a reply that is inserted at the cursor, and explaining a selected sentence

选中一些文本,或者不选。按住左 Ctrl + 左 Alt, 说出你的需求:“把这个翻译成西班牙语”、“写一封礼貌的回复,说我 周四来不了”、“解释一下这个”。答案会以卡片形式流式显示在你所在应用的上方, 你可以复制它、插入到光标处,或用它替换你选中的文本。

如果你允许,它还能做更多:

  • 屏幕视觉。询问终端里的错误或电子表格里的图表。 它默认关闭,直到你开启;即便开启,模型也会针对每个问题 自行决定是否需要查看。未被使用的截图 绝不会离开你的电脑。
  • 网络搜索,通过 Serper、Brave、Tavily、Exa、SerpAPI 或 TinyFish。
  • 提醒。“二十分钟后提醒我发送发票。”提醒在重启后依然保留,弹出时不会占用你的键盘。
  • 配置文件和记忆。为它设置不同的人格,每个人格都有自己的回复长度,并让它记住你喜欢的工作方式。记忆默认关闭,保存在你的电脑上,你可以编辑或删除它。

对话

按左 Ctrl + 左 Alt + C 然后说话。助手会大声回答,你可以在它说话时插话。Esc 可以停止回复而不结束对话,再次按这些键则结束对话。需要在中间输入内容?像平常一样听写。对话会等你输入完,然后继续。

回复由你电脑上的语音(Kokoro、Kitten、Pocket TTS 或 Supertonic)或来自 OpenAI、ElevenLabs、Deepgram、Cartesia、Google、Azure 等的云端语音朗读。

会议 beta

通话前按开始录制。SpeakoFlow 将你的麦克风和电脑音频录制为两个流,并在人们说话时进行转录,因此它始终知道哪些话是你说的。没有机器人加入会议,它适用于任何会议应用。在 Windows 上,当它检测到通话时可以提示录制。

通话结束后,它会使用你选择的模板(通用、站会、一对一、面试或行动项)撰写笔记,包括摘要、决策和带负责人的后续步骤。其他声音标记为说话人 1、说话人 2,依此类推。之后你可以就会议提问,或选择讨论此会议在对话中讨论。

在 macOS 上,录制通话的另一方需要虚拟音频设备,例如 BlackHole。请参阅故障排除。

AI 清理

SpeakoFlow Mini 是我们为一项任务训练的小型模型:将你说的话变成干净的文本。它去除填充词,修正语法和标点,并遵循口头编辑,因此“删掉那个”或“其实是十一”会按你的意思执行,而不是被直接打出来。它是一个 795 MB 的下载,在你的电脑上运行,目前处理英语。任何其他本地或云端模型都可以完成这项工作,包括 Apple 芯片 Mac 上的 Apple Intelligence。

清理功能在你开启之前是关闭的。开启后它会获得自己的快捷键(听写键加 Shift),或在每次听写时运行。在此基础上,你还可以添加写作风格:专业、友好、简洁、正式、随意,或你自己写的风格。

应用中的其他功能

  • 洞察。听写的字数、你的说话速度、与每分钟 40 字的打字速度相比节省的时间,以及六个月的连续活动记录。
  • 历史记录。你的听写、问题和对话。回放录音、重新转录、恢复已忽略的记录,或将聊天作为对话继续。旧录音可以在设定的数量、天数或月数后自动删除。
  • 你已有的模型。添加一个 .gguf 或 Whisper .bin 文件,或链接一个文件夹,其中的每个模型都会显示出来。不会复制或移动任何内容。实际下载时会一次获取八个分块,并从停止处继续。
  • 用 Flow 生成。以“Hey Flow”开始听写并描述你想要写的内容,完成的文本会被粘贴,而不是你的原话。它默认关闭,位于设置 → 听写。
  • 20 种界面语言。

每个功能在文档中都有自己的页面。

快速浏览

键盘快捷键

操作 Windows macOS Linux
听写 Left Ctrl + Left Win Fn (🌐) Ctrl + Space
询问助手 Left Ctrl + Left Alt Fn + Ctrl Ctrl + Alt + Space
开始或结束对话 Left Ctrl + Left Alt + C Fn + Ctrl + C Ctrl + Alt + C
听写并清理 1 Left Ctrl + Left Win + Shift Fn + Shift Ctrl + Shift + Space
取消 Esc Esc 尚不可用

1 仅在 AI 清理开启且拥有独立快捷键时可用。

每个平台上的模式都一样。在听写按键上加 Shift 即可听写并清理,在提问按键上加 C 即可开始对话。录音快捷键在按住时生效;将主页从 按住说话 切换为 点按切换,按一次开始,再按一次停止。

Esc 仅在某个操作正在运行时才会取消,比如正在录音或正在朗读回复,因此其他应用在其余时间仍保留自己的 Esc。要更改快捷键,点击其按键即可。取消和对话快捷键也可以在那里关闭。

在 Mac 上,将 系统设置 → 键盘 → 按下 🌐 键时 设为 不执行任何操作,否则地球键还会打开表情符号选择器。之前使用旧版 Option + Space 默认设置的 Mac 在更新后会保留该设置。

脚本和窗口管理器可以通过 命令行标志 控制 SpeakoFlow,例如 --toggle-transcription。

模型和提供商

每项任务都可以在你的电脑上运行,或使用你选择的提供商。云提供商使用你自己的 API 密钥,存储在系统钥匙串中。

任务 在你的电脑上 在云端,使用你的密钥
语音转文字 Parakeet、Nemotron、Canary、Cohere Transcribe、Whisper、Moonshine、Voxtral、Qwen3-ASR、GigaAM、Granite Speech、SenseVoice 等(目录中共 65 个) ElevenLabs、Deepgram、OpenAI、Groq、Mistral (Voxtral)、Azure AI Speech、OpenRouter,或任何兼容 OpenAI 的服务器
助手和清理 内置引擎(llama.cpp,完全离线)、Ollama、LM Studio、用于清理的 SpeakoFlow Mini、在 Apple 芯片上用于清理的 Apple Intelligence OpenAI、Anthropic、Google Gemini、Azure OpenAI、AWS Bedrock、OpenRouter、Groq、Cerebras、xAI、DeepSeek、Mistral、Moonshot、Together AI、Fireworks AI、Perplexity、Z.AI,或任何兼容 OpenAI 的端点
语音回复 Kokoro、Kitten、Pocket TTS、Supertonic OpenAI、ElevenLabs、OpenRouter、Deepgram、Cartesia、Google Cloud、Azure AI Speech、Groq、xAI、Mistral、Inworld,或你自己的服务器
网络搜索(可选) Serper、Brave、Tavily、Exa、SerpAPI、TinyFish

隐私

默认情况下,你的语音在你的电脑上转写,绝不会上传。没有遥测、没有分析、没有账户。

数据仅在你自行设置的情况下才会离开你的电脑:

  • 云语音服务,如果你选择它而非本地模型。它会接收你的录音。
  • 助手的提供商,如果它不是本地的。它会接收你的问题、你选中的任何文本、屏幕视觉开启且模型要求时的一张截图,以及你生成笔记或询问会议内容时的会议转录。
  • 网络搜索,如果你开启它。搜索提供商会接收查询内容。
  • 反馈,如果你从应用中发送。它发送的内容与对话框显示的完全一致,发送到只有开发者能读取的私有问题跟踪器。

API 密钥存放在你的系统钥匙串中。记忆功能在你开启前处于关闭状态,开启后也保留在你的电脑上,你可以查看、编辑或删除。更多详情见 隐私页面。

安装

从 Releases 页面下载最新版本。首次启动时,你会选择一个语音模型,下载期间会有一个简短导览展示快捷键。

已经在使用 1.4 或更早版本?这些版本无法自行更新到 2.0,所以请从 Releases 下载一次 2.0,然后覆盖安装到旧版本上。你的设置和历史记录会保留。从 2.0 开始,更新可在应用内安装。

Windows

运行 .exe 安装程序。Windows 可能会显示 SmartScreen 提示,因为该安装程序尚未由已知发布者签名;请选择 更多信息 → 仍要运行。

macOS

下载适用于你的 Mac 的 .dmg(Apple 芯片用 aarch64,Intel 用 x64),然后将 SpeakoFlow 拖入 Applications。该应用尚未由 Apple 签名,因此 macOS 会提示它“已损坏,无法打开”。它并没有损坏。在终端中用以下命令清除一次阻止,然后正常打开应用:

xattr -dr com.apple.quarantine /Applications/SpeakoFlow.app

随后 SpeakoFlow 会请求 麦克风 和 辅助功能 权限,以便听到你的声音并输入到其他应用中。

关于 macOS 安装的更多信息

“已损坏”消息是 macOS 对任何无法追溯到付费 Apple 开发者账户的应用所显示的提示。签名每年需要 99 美元,本项目目前还没有。macOS 15 及更高版本移除了旧的右键 → 打开 绕过方法,而这条消息正是系统设置不提供 仍要打开 按钮的情况,因此终端是唯一的解决途径。该命令会移除该应用副本上的“从互联网下载”标记。

每次下载后运行一次。从应用内安装的更新没有该标记,因此不需要运行。如果你手动下载了新的 .dmg,请为该副本再次运行。

更新后,macOS 有时会在辅助功能、麦克风或屏幕录制下仍显示 SpeakoFlow 已允许,但不再实际生效。如果某个权限界面一直等待,请使用其 重置权限 按钮,然后在系统设置中重新打开 SpeakoFlow。

Intel 版本需要 macOS 14 Sonoma 或更高版本。它仅使用处理器运行,因此转录速度比 Apple 芯片慢,但一切功能正常。CI 会在每个 Intel 版本发布前,在真实的 Intel Mac 上启动它。

Linux

  • Arch Linux。 从 AUR 安装 speakoflow-bin,例如使用 yay -S speakoflow-bin。
  • Debian 13+, Ubuntu 24.04+, Mint 22+, Pop!_OS. Install the .deb, which also adds the app icon and menu entry:
    sudo apt install ./SpeakoFlow_*_amd64.deb
  • 其他发行版,包括 Fedora 和 openSUSE。 使用 AppImage:用 chmod +x 使其可执行并运行。Gear Lever 或 AppImageLauncher 等工具会将其添加到应用菜单。

这两个软件包都是为 Ubuntu 24.04 上的 x86_64 和 ARM64 构建的,因此需要 glibc 2.39 或更新版本。这排除了 Ubuntu 22.04、Debian 12、Mint 21 以及 RHEL 9 及其衍生版。目前还没有 .rpm,因为打包没有正确捆绑语音引擎,而一个能安装但无法转录的软件包比没有更糟。

更新

SpeakoFlow 会在后台检查新版本,并在 Settings → About 中安装它们,安装前会使用项目的签名密钥验证每个版本。AUR 软件包则通过你的包管理器更新。要在 GitHub 上接收发布通知,请点击本页顶部的 Watch → Custom → Releases。

从源码构建

你需要 Rust 和 Bun。

git clone https://github.com/AbhishekBarali/SpeakoFlow.git
cd SpeakoFlow
bun install
mkdir -p src-tauri/resources/models
curl -o src-tauri/resources/models/silero_vad_v4.onnx https://blob.handy.computer/silero_vad_v4.onnx
bun run tauri dev

在基于 Arch 的发行版上,bun run install:arch 会构建当前检出内容,并将其安装到 ~/.local 下,同时带有桌面条目和 speak 命令。BUILD.md 中有各平台的设置说明。

该应用是 Tauri 2,后端使用 Rust,前端使用 React 和 TypeScript。语音运行在 transcribe.cpp、whisper.cpp 和 ONNX Runtime 上,并配有 Silero VAD;助手和清理功能运行在捆绑的 llama.cpp 引擎或任何 OpenAI 兼容 API 上;本地语音在应用窗口中使用 Kokoro, 在处理器上使用 sherpa-onnx;会议说话人标签则基于 WeSpeaker 声纹嵌入。

对比

SpeakoFlow Wispr Flow Superwhisper Handy
价格 免费 桌面端每周免费最多 2,000 词,之后 $15/月 免费版,Pro 为 $8.49/月或 $249.99 一次性买断 免费
源代码 开放(MIT) 闭源 闭源 开放(MIT)
Linux 支持 不支持 不支持 支持
离线转录 支持 不支持 支持 支持
AI 助手 支持 支持 不支持 不支持

价格和平台信息来自各产品官网,查询于 2026 年 10 月。

SpeakoFlow 的听写核心来自 Handy, 如果你只需要听写功能,这是个不错的选择。更多详情: SpeakoFlow 与 Wispr Flow 对比 以及 免费开源的 Wispr Flow 替代方案。

故障排除

常见问题如下。其他问题请参阅 故障排除文档 或 提交 issue。

macOS:会议只录到我这一方的通话

macOS 没有为应用提供直接录制电脑播放声音的方法。Windows 有 WASAPI 环回,Linux 有 PulseAudio 或 PipeWire 监听源, 但 Mac 需要中间加一个虚拟音频设备。

安装一个环回驱动,例如 BlackHole, 在“音频 MIDI 设置”中创建一个多输出设备,将声音同时发送到你的 扬声器和 BlackHole,并将其设为输出。然后 SpeakoFlow 就能录制通话 的另一方。无论哪种方式,你的麦克风都会被录制。

Linux:录制悬浮窗无法保持在其他应用之上

在 Linux 上,窗口只能通过 wlr-layer-shell 协议(wlroots 合成器,如 Sway 和 Hyprland,以及 KDE Plasma)或 X11 “保持置顶”堆叠来浮于其他窗口之上。Wayland 上的原生 GNOME 两者都不支持,因此当 SpeakoFlow 检测到这种情况时,会在 XWayland 下运行,悬浮窗在那里可以正常浮动。这无需任何设置,X11 和 KDE 或 wlroots Wayland 均可直接使用。

  • 如果仍要强制使用原生 Wayland,请使用 SPEAKOFLOW_ALLOW_WAYLAND=1 启动。悬浮窗 可能无法保持置顶。
  • 如果悬浮窗在 layer-shell 合成器下行为异常,请使用 SPEAKOFLOW_NO_GTK_LAYER_SHELL=1 启动。

Linux:快捷键无效,日志反复出现“Permission denied”

日志中满是 rdev grab error: ... PermissionDenied 意味着应用无法读取 your 输入设备。这仅影响 SpeakoFlow Keys 键盘引擎, 它读取 /dev/input/event*(需要你的用户属于 input 组)并通过 /dev/uinput 重新发送按键(在许多发行版上默认仅限 root,包括 Ubuntu,因此仅靠用户组还不够)。Tauri 是 Linux 上的默认引擎,所以你只会在切换后 看到这种情况。主页上的 Shortcuts 卡片会说明 何时出现这种情况,并给出确切的命令。

  • Grant both, then log out and back in:
    sudo usermod -aG input "$USER"
    echo 'KERNEL=="uinput", GROUP="input", MODE="0660"' | sudo tee /etc/udev/rules.d/70-speakoflow-uinput.rules
    sudo udevadm control --reload && sudo udevadm trigger /dev/uinput
  • 或者在“设置 → 高级”中将键盘引擎切换回 Tauri。它 不需要任何权限,但通过 X11 注册快捷键,因此在原生 Wayland 上,只有当 X11 窗口获得焦点时才能接收到快捷键。

在 Wayland 上,可靠的方案是使用桌面自带的快捷键。在 Wayland 会话中,Shortcuts 卡片会显示一个 Set up 按钮,列出每个操作的命令,方便复制。在 GNOME 或 KDE 设置中添加自定义快捷键,或在 Sway 或 Hyprland 中添加一行 bind,运行 speakoflow --toggle-transcription(对于 AppImage,则是其路径后跟相同的标志)。--toggle-post-process、--toggle-assistant、--toggle-call(开始或结束对话)以及 --cancel 的工作方式相同。它们按一次开始,再按一次停止,就像 Tap to toggle 一样。

Linux:应用在触摸板捏合缩放时崩溃

日志中出现 Received invalid message: 'DrawingArea_CommitTransientZoom' 的崩溃是 WebKitGTK 的一个 bug,影响许多基于它构建的应用,已在 tauri#13115 和 wry#544 中跟踪。在上游修复之前,请避免在窗口内捏合。将 webkit2gtk-4.1 更新到最新版本可能会有所帮助。

路线图

  • Windows 和 macOS 的代码签名
  • 更多一键本地模型
  • 更多社区翻译
  • 针对智能体编程调优的听写
  • 帮助编写提示词:描述你想构建的内容,获得一个可靠的提示词
  • 为你执行操作的语音命令

贡献

欢迎贡献。CONTRIBUTING.md 说明了如何开始,CONTRIBUTING_TRANSLATIONS.md 涵盖了翻译该应用的内容。

发现了 bug 或有想法?使用应用中的 Send feedback(设置旁边的 ?),或 open an issue。

许可证与致谢

SpeakoFlow 在 MIT License 下发布。

听写核心来自 CJ Pais 的 Handy,在 MIT 许可下使用。感谢 CJ 将其开源。助手、对话、会议、屏幕视觉、Generate with Flow、翻译、语音回复和记忆均为 SpeakoFlow 自有。

还要感谢 Tauri、whisper.cpp、llama.cpp、ONNX Runtime、sherpa-onnx、Silero VAD、WeSpeaker、Kokoro 以及 Kyutai 的 Pocket TTS。

云端转录上传使用 LAME MP3 编码器压缩,通过 mp3lame-encoder 实现。两者均为 LGPL-3.0 并静态链接;其源代码和本应用的源代码都是公开的,因此始终可以针对修改过的 LAME 进行构建。

来源:Hacker News · github.com