苹果迷苹果迷  2026-09-18 06:16 苹果家园 隐藏边栏 |   抢沙发  1 
文章评分 0 次,平均分 0.0
导语: Jot 是 google-gemini 组织下、Apache-2.0 授权的开源 macOS 听写工具,跑在 Gemini 3.5 Transcribe 模型上:按住 fn 说话、松手文字落到光标处,能跟上「改主意」,崩溃不丢字。需要你自己的 Gemini API 密钥并按量付费,注意它声明「非 Google 官方支持产品」。

macOS 上的听写一直有个尴尬:系统自带的听写要联网、标点随心、中英混说容易崩;第三方工具要么按月订阅,要么把语音传去自己的服务器。Jot 是 Google Gemini 团队放出的一个开源示范项目,走的是另一条路——按住 fn 键说话,松开,润色好的文字就落到了你光标所在的地方。没有窗口要切、没有转录稿要复制、连账号都不用注册。

它把自己定位成「Gemini 3.5 Transcribe 的演示」(README 原话是 Demo),由 Google 的 Ammaar Reshi 创建,Apache-2.0 授权。不过要注意一句写在 README 顶部的免责声明:这不是 Google 官方支持的产品。仓库放在 google-gemini 组织下,但性质是团队/个人放出的示范代码,不是消费级成品。

Jot 听写演示动图:按住 fn 说话,松手后文字落到光标处
图片来源:Jot 官方素材

三个手势,一条交互主线

Jot 的操作少到可以背下来:

  • 按住 fn:按住期间录音,松开后文字落到光标处。
  • fn + 轻点 Space:免提模式,松手后继续录音,再轻点一次 fn 结束。
  • Esc:取消。超过 10 秒的内容仍会留在历史里。

如果 fn 键被别的功能占了,可以在「设置 → 通用」里改绑。界面上只有三样东西:菜单栏一个图标、说话时屏幕底部一个胶囊(pill)、以及一个历史窗口。

真正抓人的是一个细节:它能跟上你改主意。你说「我们下午 1 点见——啊不对,改 2 点」,Jot 写出来的是「我们下午 2 点见」。README 把这点当成全部卖点("That is the whole pitch"),引导流程里还会专门让你做一次,亲手确认它真的会这么做。

Jot 引导流程里让用户亲手试一次「改主意」的场景
图片来源:Jot 官方素材

它凭什么「不丢字」

语音输入工具最怕的不是识别错,是说了半天一个字没留下。Jot 在这块做了几件具体的事:

  • 从第 1 毫秒就落盘:音频以 CAF 格式写进磁盘,所以崩溃、被 kill -9、电池突然没电,都不会丢录音——下次启动自动恢复。
  • 离线排队:没网时听写任务排队,恢复连接后自动补传。
  • 每次失败都能重试:历史窗口里逐条可重试。
  • 句子没说完不切断:松键时如果还在半个词上,它会继续听完再停。

README 还列了几个「工程细节」,看得出是踩过坑才写进去的:

  • 捕获链路预热:空闲时就先把引擎准备好,按键只付 engine.start() 的开销,20–40 毫秒,而不是 75–150 毫秒。预热不等于录音——没有音频流动,也不会亮麦克风指示灯,直到你真的按下键。
  • 麦克风多读一个缓冲区:音频 tap 只按约 100 毫秒的整块投递,一松手就拆链路会把最后一个字的尾巴丢掉,所以它要多收一块。
  • 插入是一套「阶梯」:先试辅助功能 API(完全不碰剪贴板),不行再走受保护的粘贴(会恢复你原来的剪贴板),最后兜底给一个「已复制,按 ⌘V」的提示条。它不会盲目粘贴到半路抢走焦点的应用里。
  • 一道校验闸门:挡住「模型不是在转录、而是在回答你音频」这个经典翻车场景,一旦触发就退回原始转录。

这些「会丢字的路径」都被自动化测试覆盖:引擎逻辑收在一个无界面的 Swift 包 JotCore 里,包含状态机、快捷键语法、音频、转录、格式化、插入和历史——所以上面这些失败模式不用启动 App 就能跑测试。

隐私:一条网线,看得见的每行代码

这是 Jot 最值得单独说的一块,因为它把话讲得很细。PRIVACY.md 明确列出「离开你机器的完整清单」只有四项:

  1. 每次听写的音频(FLAC 压缩),发往 generativelanguage.googleapis.com——这是整个应用唯一通信的网络主机。
  2. 你的词典术语,随音频一起发。转录模型用它来偏置识别,所以名字和行话是「在你说话时就被拼对」,而不是事后打补丁。只发送正确拼写,不发送你录进去的错拼。
  3. 格式化提示词,仅当「匹配当前 App 的语气」开关打开时(默认关闭)。关闭状态下,你的转录文本根本不离开这台 Mac。
  4. 你的 API 密钥,只放在发给 Google 的请求头里,存在 macOS 钥匙串,不落文件。

「永不离开」的清单同样直白:历史数据库与录音文件、词典文件的整体、你在用哪些 App、你什么时候听写、你打了什么字、屏幕截图(应用里根本没有截屏代码)、以及任何遥测(没有分析 SDK、没有崩溃上传、不打电话回家)。按键监听只在听写进行时观察 EscSpace 和「有另一个键被按下」这个事实(用于防误触组合键,具体是哪个键不看、不记、不传)。

本地数据放在 ~/Library/Application Support/Jot/recordings/,每次听写一个文件夹,崩溃安全的音频、转录、元数据都在里面——这正是「重试」和「恢复」能工作的原因。设置里有音频保留期(24 小时 / 7 天 / 30 天 / 永久 / 从不,「从不」会禁用重试),以及一键「删除全部历史」。有一点写得很诚实:本地文件靠 FileVault 保护,本身没有单独加密

焦点落在密码框(安全输入)时,Jot 会拒绝开始听写,已经拿到的转录只留在历史里——不插入、不放剪贴板。

Jot 屏幕底部的胶囊:正在听你说话
图片来源:Jot 官方素材

和站内这几款的区别在哪

站里已经写过几款 Mac 上的语音/转写工具,定位各有不同,放在一起看更清楚:

  • Input 0:按住 Option+Space 说话,松开本地转写 + AI 润色 + 粘贴——走的是本地模型路线,和 Jot 的「云端 Gemini」正好相反。
  • Typefree:同样按住说话松手出整理好的文字,偏输入法/润色的定位,中文场景打磨得更多。
  • 声迹 LocalScribe:本机完成转写、字幕编辑、离线翻译与 AI 整理,是整段音频的生产力工具,不是逐句听写。

Jot 的差异点是「零窗口的即时听写」加「模型端纠错」。它不追求把一段录音做成字幕,也不做本地模型,而是把「对着 Mac 随口说一句,文字落到该去的地方」这件事做到最顺手——代价是你的音频要发给 Gemini,并且用你自己的密钥付费。

装之前必须知道的三件事

第一,要你自己的 Gemini API 密钥,而且要付费。 Jot 本身免费、无账号,但它不自带密钥、也不代付。你需要去 Google AI Studio(aistudio.google.com/apikey)申请一个 Gemini API key,费用按你的听写量付给 Google。有一个免费档,而一次典型听写只有几秒音频。密钥存在 macOS 钥匙串,只发给 Google。另外,你的密钥需要能访问 gemini-3.5-transcribe 这个专用转录模型;如果不通,设置流程会提前告诉你,而不是等你第一次听写才失败。

第二,模型会调,钱就跟着动。 用不用、用多少,全在你的密钥额度里。这点和 Input 0、LocalScribe 那种「装完就不花钱」的本地方案是两种账:Jot 把计算放在云端,换来的是模型端纠错和「改主意也跟得上」的能力,代价是持续的音视频调用开销。

第三,隐私的边界在 Google 那一侧。 PRIVACY.md 写得很坦白:你的音频受你自己的 Gemini API 条款约束——就目前而言,付费档的 API 用量不用于模型训练,免费档可能会。这个关系是你和 Google 之间的,Jot 不代管。介意这点的,要么走付费档,要么回到纯本地方案。

另外两点不算门槛但要知道:只有 macOS 版,要求 macOS 14 及以上DMG 已签名、已公证、已装订(v0.2.0 起),装的时候不会有 Gatekeeper 拦截,也不需要像有些开源 Mac 应用那样跑 xattr 去隔离属性。

Jot 安装界面:把图标拖进「应用程序」
图片来源:Jot 官方素材

怎么装、怎么上手

直接从 Releases 下载最新的 Jot-x.y.z.dmg,当前最新是 v0.4.0(2026 年 8 月 27 日)。拖进「应用程序」后从应用程序里启动——README 特意提醒:从挂载的磁盘映像直接运行的应用会被 macOS 沙箱化,你授予的权限不会留下。

设置大约两分钟,App 会一步步带你走:粘贴 Gemini API 密钥 → 允许麦克风(说声「你好」它会自己前进)→ 允许辅助功能(macOS 要求任何往别的 App 里打字的程序都得有这个)→ 按住 fn 说话。

开发/自定义方面:编译需要 macOS 14+、Xcode 16+ 和 xcodegen,.xcodeproj 是生成的、不入库。因为调试构建用 ad-hoc 签名,干净克隆不需要 Apple 账号、证书或团队,./scripts/build.sh 直接能跑;只有发布构建才需要真正的 Developer ID。

v0.4.0 的更新重点是一个实验性的实时转录(设置 → 听写 → 实验性 → 实时转录,默认关闭):音频在你说话时通过 WebSocket 流式发往 gemini-3.5-transcribe-live,词句边说你边能在胶囊里看到,松键时转录已经就绪,不用再等一次上传。开启它不会让你丢字——录音照旧写盘,实时转录只在「会话干净结束」且「socket 收下的字节数与磁盘音频对得上」时才被采用,否则一律回退成上传录音。设置里还会报告实时路径实际成功的频率,连续失败三次就停用(因为坏掉的实时路径比关掉更慢),成功一次即恢复。同一版还修了长句子画出胶囊边界的问题。

项目在 github.com/google-gemini/jot-gemini-transcribe-macOS,Apache-2.0 授权(v0.2.0 起从 MIT 换过来),没有独立官网。

值不值得试

看你的诉求落在哪一边。

如果你想要的是「对 Mac 随口说一句,干净的文字就落在该去的地方」,而且不介意音频发给 Google、愿意自己开一个 API key 按量付费,那 Jot 是同类里交互打磨得最细的一个:改主意跟得上、崩溃不丢字、插入有阶梯、隐私清单列到条。它出自 Gemini 团队,代码可读,工程取舍都写在 README 和 docs 里,这种透明度在同类工具里不多见。

如果你要的是「装完不花钱、语音不出本机」,那 Jot 就不是为你准备的——站内的 Input 0声迹 LocalScribe 才是。这是两套账,别混:本地模型省下的是调用费,代价是模型能力和「改主意跟得上」这类端到端打磨。

最后说不讨喜的两点。一是那句免责声明要当回事——这不是 Google 官方支持的产品,它放在 google-gemini 组织下、由个人创建,团队随时可能不再维护(仓库 8 月 27 日之后暂无新提交)。二是免费档的 API 用量可能被用于训练,介意隐私的务必核对自己在用的档位。把这两条认下来,它值得一试;认不下来,等它有更明确的官方支持再说也不迟。

本文引用的界面截图来自项目官方仓库 docs/images/ 目录与 README 演示动图,仅作功能介绍用途。

声明:本文来自投稿,不代表苹果家园立场,版权归原作者所有,欢迎分享本文,转载请保留出处!

发表评论

表情 格式 链接 私密 签到

友情链接

    扫一扫二维码分享