Hex 语音输入:opencode 团队出的免费本地听写,用嘴给 AI 写提示词
Hex 是 Anomaly(opencode 团队)开源的免费语音听写工具,语音识别在本机完成。本文介绍它能做什么、Mac/Windows/Linux 怎么装、中文该选哪个模型、和 Wispr Flow、Superwhisper、MacWhisper、Handy 的区别,以及我们在 Linux 上跑它识别引擎的结果。
Hex 是 opencode 背后的 Anomaly 团队做的语音听写工具。按住一个键说话,松手后文字直接粘贴到当前光标所在的应用里。语音识别在本地电脑上跑,不走云端。项目基于 MIT 协议开源且免费,主力平台是 Mac,Windows 和 Linux 版目前标注为 beta。
如果你每天都要给 Claude Code、opencode 或 Cursor 写大段提示词,手里又是 Apple 芯片的 Mac,可以装个 Hex 试试。它不花钱,也不会把录音传出去。Windows 和 Linux 用户可以尝鲜,但要有面对 beta 版的心理准备。我们没有在 Mac 上实际用过 Hex,只在 Linux 下用命令行跑了它的识别引擎,结果见下文我们的实测部分。其余信息来自项目文档或作者的帖子,标为项目说法并附上了链接。
Hex 是什么
根据 README,Hex 是面向 Apple 芯片、macOS 15 及以上的本地优先语音听写工具,同时提供 Windows beta(x64 和 ARM64)与 Linux beta(x86_64,支持 X11 和 wlroots 系 Wayland)。应用本身用 Rust 编写,识别引擎是团队自己基于 ggml 开发的 transcribe.cpp,README 里写着支持 “16+ model families”。
Mac 上的操作方式很直接:
- 按住 Option 说话,松开后文字粘贴到光标处。
- 连按两下 Option 进入免手持连续录音。
- Option-Shift-V 再次粘贴上一次的听写内容。
- 按键少于 300 毫秒不会触发录音,不怕误触。
README 明确提到,普通听写不需要依赖 OpenCode,也不需要云端转写服务(原文 “does not require OpenCode or a cloud transcription service”)。首次选择模型时,软件会从 huggingface.co 下载模型文件。国内网络能否顺利连接 huggingface.co 我们没有验证,遇到下载失败可以先排查网络问题。
目前的代码库还很新,创建于 2026 年 7 月 17 日。不过作者之一 Kit Langton 提到,他两年前就用 Swift 做了第一版 Hex,团队内部已经用了大约 10 个月。10 月 31 日发布的 v3.0.0 相当于推倒重来,不导入 2.x 的任何数据,2.3.1 也不会自动升级上去。最新一版是 11 月 1 日发布的 v3.1.1。截稿时仓库大约有 2.6k star。
opencode 为什么在推它
北京时间 10 月 31 日 23:39,opencode 官方账号发帖宣布 Hex 正式版发布,我们查看时这条帖子已有约 7.2k 点赞和 70.5 万浏览。官方的口径是,不管你用哪个 agent,语音都是最好的交流方式,而 Hex 速度快、本地运行、覆盖 Mac/Windows/Linux,是用声音交流的最佳选择。
两分钟后,另一位作者 Dax 补充说,这是他用得最多的应用,使用频率甚至超过了 opencode,配合 agent 用起来会上瘾,再退回打字会很难受,所以干脆把 Hex 做成全系统通用的独立应用。他在另一条回复中也提到,自从在 opencode 里用顺手之后,就想在所有地方都用上。
看得出 Hex 并不打算绑定某一个特定的 agent。它的机制是往当前聚焦的输入框粘贴文字,按理说在终端的 Claude Code 或 Cursor 的聊天框里都能正常跑。不过团队的帖子只讲了配合 opencode 的用法,拿去配 Claude Code 或 Cursor 是我们的想法,我们和作者都没有留下实测记录。
开发过程还有个细节。Dax 说 Hex 是 “fully vibe coded”,应用本体、落地页、动画全是 AI 写的,音效由 AI 生成,用户提的 issue 也交给 opencode 去修。这是他本人的说法,人工审查实际介入了多少,我们无法核实。另外 README 里写了一条规定,项目不接受外部 PR,但如果你提交了问题分析,修复该问题的 PR 里会加上你的署名。
对 AI 编程有用的功能
Transforms(文本变换)。 Dax 在北京时间 10 月 30 日发帖介绍,Hex 加入了 transforms 功能,可以把语音输入的提示词全部转成小写,看起来就像手打的一样,用户还能自己写函数处理任意逻辑。相关配置保存在仓库的 hex.config.ts 里,也可以直接让 agent 帮忙配置:
npx skills add anomalyco/hex --skill hex-personal-commands
Vocabulary(词表)。 v3.0.0 新增了词表功能,专门用来纠正模型老是认错的人名和技术术语。看看后文的实测结果,就能明白程序员为什么需要它。
OpenCode 改写。 Hex 支持把转写结果交给 OpenCode 背后的模型做润色。从 v3.1.0 开始,Hex 只连接已经在后台运行的 OpenCode,不再自己拉起进程。这是整个软件里唯一走出本地的功能。README 写得很清楚,它会把转写文本、前台应用名以及 Brave 浏览器当前站点的域名发送给你所配置的模型服务商。
Annotate(标注)。 一边录屏、在屏幕上涂画,一边口述问题,最后打包发给一个 OpenCode 会话。根据 v3.0.0 的更新说明,这个功能目前还在 Dev 渠道。
命令行和 MCP。 v3.0.0 带来了 hex 命令行工具。Mac 用户可以用它检索听写历史,比如跑一条 hex history --since 3d --app 'OpenCode Beta' --grep problems --json。从 app-v2.2.0 起,hex mcp 支持通过 MCP 协议把会议录音的转写内容喂给 agent(我们下载的 Linux 版帮助信息里标注为只读)。会议记录功能目前是 macOS 上的 beta 特性,需要去 Labs 设置里手动开启。
安装
macOS 版要求 Apple 芯片且系统在 macOS 15 及以上。Homebrew cask 上的当前版本是 3.1.1,指明需要 arm64 和 Sequoia:
brew install --cask anomalyco/tap/hex
装好后需要给麦克风和辅助功能权限。根据 README 的说法,Hex 不需要“输入监控”权限。
Windows 10/11(beta)可以直接下载 x64 或 ARM64 安装包。由于安装包目前还没做代码签名,SmartScreen 可能会弹出警告。默认快捷键是 Ctrl+Space。
Linux 版(beta,x86_64 Arch,要求 glibc 2.44 及以上)提供了一键安装脚本:
curl -fsSL https://anoma.ly/hex/files/install-linux.sh | sh
README 提醒,这个脚本目前拉取的是最新 dev 构建。如果用其他发行版,Linux 指南里给出了 .deb 和 .rpm 包,glibc 要求放宽到 2.39 及以上。不论 Windows 还是 Linux,x86_64 版本都要求 CPU 支持 AVX2 指令集(Intel Haswell、AMD Excavator 或更新的架构)。
Linux 发行版 Omarchy 已经把 Hex 加进了系统的听写选项,跟 Superwhisper、Voxtype 放在一起,DHH 在北京时间 11 月 1 日 05:29 发帖提了这事。这个 PR 里记录了一个坑:在 Wayland 下,Hex 用 wtype 模拟出来的 Ctrl+V 粘贴动作会被终端忽略,所以 Omarchy 改成了调用 hex dictation stop --print 拿到文本,再由 Omarchy 自己把文字敲进去。如果你打算在 Wayland 环境下对着终端里的 agent 说话,最好先试试粘贴灵不灵。
中文用户选哪个模型
Hex 内置了多个模型,源码的模型列表按语言给出了推荐:
| 语言 | 推荐 | 其他选择 |
|---|---|---|
| 中文 | Qwen3-ASR 0.6B | SenseVoice Small(标注 Fastest),Whisper large-v3-turbo(支持词表) |
| 英文 | Parakeet Unified English | Cohere Transcribe(标注 Most accurate) |
软件界面从 app-v2.3.0 开始支持中文。
版本发布说明里提到了两组性能和资源数据,均为项目说法。一是 app-v2.3.0 引入流式识别后,一段 2 分钟的语音松开按键 0.1 秒就能出字,而旧版在 RTX 5070 Ti 上要等 0.9 秒,在 MacBook Air M4 上要 2.8 秒。二是 v3.0.0 把本地模型的内存占用从约 900 MB 压到了约 160 MB。另外在 Windows 和 Linux 上跑流式识别需要安装 Vulkan 显卡驱动。
我们在 Linux 上看到的
我们没有在 Mac 上用过 Hex。11 月 1 日,我们下载了 Linux x64 二进制文件(--version 输出 hex 3.1.1),绕过图形界面,直接用 hex model transcribe 命令把 WAV 音频喂给下载好的模型。测试跑在一台 Debian 13 虚拟机上,分配了 8 个 vCPU、15 GB 内存,没有挂 GPU。因此下面的数据纯粹反映 CPU 离线转写表现,不涉及流式识别、快捷键响应和剪贴板粘贴。
测试用了三段音频:一段是 whisper.cpp 仓库自带的 11 秒公开样本 jfk.wav,另外两段是我们用 TTS 合成的编程提示词,各 9 秒左右。TTS 合成音比真人在工位上说话干净得多,这些测试结果只能算最理想状态下的表现。
中文测试音频的原文是:“帮我把 UserList 组件里的 useEffect 改一下,组件卸载的时候取消请求,然后跑一下 pnpm test,把失败的快照修好。” 英文音频意思一样,另外提到了 Vitest。
下面是我们的实测结果(耗时包含进程启动和加载模型的时间;每组跑 3 次,3 次输出的文字完全一致):
| 模型 | 音频 | 每次耗时 | 识别错误 |
|---|---|---|---|
| Qwen3-ASR 0.6B | 中文提示词 | 3.0 至 4.1 秒 | “UserList” 成了 “user list”,“useEffect” 成了 “use effect”,其余全对 |
| Whisper large-v3-turbo | 中文提示词 | 11.4 至 13.7 秒 | “Usefact”、“PMPM Test”,没有标点 |
| Parakeet Unified English | jfk.wav | 1.3 至 2.4 秒 | 无 |
| Parakeet Unified English | 英文提示词 | 0.9 至 1.1 秒 | “userlist.tsx”、“PNPM”,Vitest 成了 “VDIST” |
| Qwen3-ASR 0.6B | 英文提示词 | 2.2 至 2.8 秒 | “use effect”、“onUnmount”、“vetest” |
| Whisper large-v3-turbo | 英文提示词 | 11.5 至 12.3 秒 | “useEffectHookingUserList.tsx”、“VDIST” |
在这台纯 CPU 虚拟机上,官方推荐模型比 Whisper 快了好几倍,错字也少。跑中英混杂的句子时,Qwen3-ASR 准确认出了 pnpm test,只把两个驼峰命名的单词拆开了。不过所有模型都没能认出 “Vitest”,遇到 UserList、useEffect 这类驼峰标识符时,也经常被拆开或变成小写。前面提到的词表和 transforms 功能正好用来对付这种毛病,但我们这次没测这两项。另外,命令行单次运行的内存峰值(含模型加载)在 1.0 到 1.3 GB 之间,由于测量口径跟上面 160 MB 的项目说法不同,两边不能直接横比。三个模型的下载体积分别是 Parakeet 731 MB、Qwen3-ASR 850 MB、Whisper 886 MB。完整的测试命令和终端输出都留在了我们的证据记录中。
和其他听写工具对比
| Hex | macOS 自带听写 | Wispr Flow | Superwhisper | MacWhisper | Handy | |
|---|---|---|---|---|---|---|
| 价格 | 免费,MIT | 系统自带 | 有免费版;Pro 月付 $15/人/月,年付折合 $12(价格页) | 免费版加 Pro(官网) | 一次性买断(商店页) | 免费,MIT(仓库) |
| 识别在哪里做 | 本机 | 键盘设置里显示为设备端处理时在本机(Apple 说明) | 官方写明转写始终在云端(数据说明) | 官网称可离线 | 官网称全部在设备上转写 | 离线 |
| 平台 | macOS;Windows、Linux 为 beta | macOS | Mac、Windows、iOS、Android | macOS、Windows、iOS、Android | macOS 14+ | Windows、macOS、Linux |
| 开源 | 是 | 否 | 否 | 否 | 否 | 是 |
| 和 agent 相关的功能 | opencode 改写、Annotate、命令行、会议 MCP | 无 | 未查到 | 官网宣传配合 Claude Code 和 Cursor | Pro 版有给 AI agent 用的命令行 | 未查到 |
Superwhisper 和 MacWhisper 的具体售价我们在官网上没翻到确切数字,所以表里没写具体金额。跟 Hex 定位最像的开源竞品是 Handy。Hex 作者 Kit Langton 自己也评价过,说 Handy 做得挺好,他只是出于一些细枝末节的原因更偏爱 Hex,两个都免费。
隐私
按照 README 的说明,所有语音转写都在本地完成,默认不留存录音。历史记录默认只保留 7 天内的文本,绝不记录音频文件、完整 URL 或窗口标题。本地日志里可能会写入转写出来的文字,但不会往外传。唯一例外是开启 OpenCode 改写时,相关内容会发给你自己配置的模型服务商。另外从 app-v2.2.0 开始,听写生成的文字在写入剪贴板时会打上临时内容标记,方便剪贴板管理工具自动跳过。
常见问题
Hex 收费吗? 不收费。项目按 MIT 协议开源,Kit Langton 明确说过免费,我们在官网 anoma.ly/hex 上也没看到任何付费套餐。
必须装 opencode 吗? 不用。日常听写跟 opencode 没关系,只有打开改写和 Annotate 功能时才用得上,而且 Hex 只会去连已经在后台跑着的 opencode。
能离线用吗? 语音识别完全在本地跑,只是第一次选模型时得联网去 huggingface.co 把模型文件拉下来。
能配合 Claude Code 或 Cursor 用吗? Hex 的原理是往当前聚焦的窗口粘贴文字,按理说没问题。不过我们没实际测过,作者平时发帖也只拿 opencode 举例。如果你在 Linux 的 Wayland 终端里用,记得留心前文提到的 Omarchy 粘贴失效问题。
中文识别怎么样? 官方推荐中文用 Qwen3-ASR 0.6B。从我们的 TTS 合成音测试来看,中文整句基本正确,夹杂在里面的英文术语则经常丢掉大小写或拼错,得靠自定义词表去修正。至于面对真人口音和嘈杂环境时的表现,我们这次没有测试。
Intel 芯片的 Mac 能用吗? 用不了。Mac 版硬性要求 Apple 芯片,系统版本至少得是 macOS 15。
相关文章
更多AI 工具 →Ollama 简介与入门指南:在本地轻松运行开源 AI 模型
介绍开源平台 Ollama,带你了解如何在保障隐私的前提下在本地或云端运行开源 AI 模型,并掌握其开发者 API 与丰富的第三方生态集成。
whisper.cpp:高性能 C/C++ 语音识别引擎入门指南
whisper.cpp 是 OpenAI Whisper 模型的轻量级 C/C++ 移植版,支持在各类设备上本地高效运行语音转写。本文介绍其核心特性、硬件加速与上手指南。
长桥 nsh(Native Shell)解读:用 TSX 写原生界面的 Rust 跨平台 UI 框架,前端该关注什么
长桥开源的 nsh(Native Shell)对前端意味着什么:TSX + signal、各平台原生控件、热更新、面向 AI Agent 的工具链,以及与 React Native、Flutter、Tauri 的对比。