打开网易新闻 查看精彩图片

编注:本期内容为少数派 Matrix 社区应用自荐文章合集。文章代表作者个人观点,作者与文中产品有直接的利益相关(开发者、自家产品等),少数派仅对标题和排版略作修改。

本期目录

Glanceway:用菜单栏看少数派、V2EX 和新闻

TaskTick:macOS 上简单的定时任务管理工具

️ ambient-voice:一个全 Apple 原生的语音输入工具

打开网易新闻 查看精彩图片

Glanceway

‍ CT | macOS | 应用下载

用菜单栏看少数派、V2EX 和新闻,我写了个 macOS 小工具

▍为什么做这个?

我每天会看少数派、V2EX、几个 RSS 源、GitHub 通知和 Trending、新闻。这些东西分散在不同地方,想看一眼得切好几个窗口。

我就想要一个菜单栏面板,点开扫一眼,关掉继续干活。找了一圈没有特别合适的,就自己写了一个。

打开网易新闻 查看精彩图片

▍怎么用?

Glanceway 装好之后会在菜单栏多一个图标,点开是一个信息面板。你往里面添加信息源,它会定时去拉数据,有更新就显示出来。

添加信息源有三种方式:

RSS。直接填 URL。少数派、各种博客和 newsletter 都能通过 RSS 订阅,配合 RSSHub 能覆盖更多站点。

JS 脚本。有些东西没有 RSS,比如股票行情,可以写一段 JS 去请求接口拿数据。官网有一些现成的插件可以直接导入,比如 V2EX、新闻这些。不想自己写的话,可以给 Claude 加一个 skill,告诉它你想看什么,它会帮你生成脚本。

打开网易新闻 查看精彩图片

公开 API。Glanceway 提供了公开的 API,其他应用可以读取你聚合的信息。比如你可以给 Claude 安装读取 Glanceway 信息的 MCP 来做摘要。

打开网易新闻 查看精彩图片

信息源:支持添加颜色标签,有未读内容时菜单栏图标上会显示对应颜色的小圆点,比较重要的信息源不容易错过。

打开网易新闻 查看精彩图片

Glanceway 底层就是个定时任务加展示窗口,所以不限于看新闻。监控服务状态、轮询任务队列之类的也能做。

基础功能免费,但对信息源数量有限制,Pro 解锁无限数量信息源。

打开网易新闻 查看精彩图片

TaskTick

‍ Devid | macOS | 应用下载

无需 crontab,无需 launchd,创建定时任务像设闹钟一样简单。

▍为什么做这个工具

作为电脑用户,你一定遇到过这些场景:

  • 每天凌晨自动备份数据库

  • 定时检查服务器是否在线

  • 每周清理一次 Docker 垃圾镜像

  • 定期同步 Git 仓库

传统方案要么写 crontab(记不住语法),要么配 launchd(XML 写到崩溃),要么用第三方工具(大多年久失修)。

我想要的很简单:一个原生 macOS 应用,像设闹钟一样创建定时任务,写好脚本点保存就完事。

于是就有了 TaskTick,让定时任务回归简单。

打开网易新闻 查看精彩图片

▍它能做什么? 直觉式调度

不用背 cron 表达式。选一个日期、一个时间、一个重复周期,就这么简单。支持从每分钟到每年共 16 种重复方式,也可以自定义间隔。

打开网易新闻 查看精彩图片

脚本模板,开箱即用

v1.1.0 新增的重磅功能。内置 13 个常用脚本模板,覆盖日常运维的大部分场景:

  • 数据库备份:MySQL、PostgreSQL、MongoDB、Redis

  • 健康检查:HTTP 状态检测、SSL 证书到期检查、进程监控、端口检查

  • 系统监控:磁盘用量、内存用量

  • 运维工具:Docker 清理、Git 同步、目录备份、Rsync 同步

  • 通知:Webhook(Slack/Discord)

选一个模板,改改参数,设个时间,一个自动化任务就完成了。

当然,你也可以把自己写好的脚本保存为模板,支持分类、备注、脚本校验,方便以后复用。

打开网易新闻 查看精彩图片

菜单栏常驻

关闭窗口不会退出应用,TaskTick 会安静地待在菜单栏。点开就能看到即将执行的任务,不打扰你的工作流。

Cmd+Q 也只是隐藏窗口,只有菜单栏的「退出」才会真正关闭。

执行日志

每次任务执行都会记录:标准输出、错误输出、退出码、耗时。成功还是失败一目了然,排查问题不用猜。

系统通知

支持在任务成功或失败时推送 macOS 原生通知,可以按任务单独配置。配合健康检查类模板,相当于一个轻量的监控告警系统。

一键导入 Crontab

如果你已经在用 crontab,可以一键导入现有任务到 TaskTick,还会贴心地问你要不要注释掉原来的 crontab 条目,避免重复执行。

一些细节

原生 SwiftUI 构建,支持浅色/深色模式,macOS 26 上有液态玻璃效果

中英双语,应用内一键切换

数据安全,所有数据存储在本地 SwiftData 数据库,不上传任何信息

▍应用安装

TaskTick 采用 GPL-3.0 协议开源,完全免费。支持 Apple Silicon 和 Intel,要求 macOS 15 (Sequoia) 或更高版本。如果你觉得有用,欢迎在 GitHub 点个 Star,或者赞助支持持续开发。

应用下载:

  • 手动下载:前往 GitHub Releases 下载 DMG
  • Homebrew(推荐):

brew install --cask task-tick

打开网易新闻 查看精彩图片

ambient-voice

‍ 王永威 | macOS | 应用下载

一个全 Apple 原生的语音输入工具,以及我用它写了一个月代码的体验。

▍为什么又造了一个语音输入工具

我每天的工作有大量文字输出——写代码注释、回邮件、写文档。手指敲键盘的速度早就成了瓶颈,于是开始认真研究 Mac 上的语音输入方案。

试了一圈下来,发现一个让我不太舒服的事实:市面上最流行的几个方案,没有一个真正在用 macOS 的能力。

Whisper需要下载几个 GB 的模型,加载时吃掉大量内存,而且它对我屏幕上正在做什么一无所知。我在写 Swift 代码时说「optional」,它给我识别成了普通英文单词。

讯飞语记和类似的云端方案,需要把音频传到服务器。作为一个每天处理客户邮件和内部文档的人,我没办法接受语音数据离开自己的电脑。

macOS 自带的听写功能还行,但不支持自定义、没有会议模式、不能根据上下文优化识别。

这些工具有一个共同问题:它们跑在 Mac 上,但完全没有利用 macOS 的能力。把它们放到 Windows 上也一样能工作,Apple Silicon 的神经引擎、Vision 框架、Core ML——这些苹果花了数年打造的端侧能力,一个都没用上。

直到 macOS 26 发布了 SpeechAnalyzer 框架——一个系统级的端侧语音识别引擎,跑在 Neural Engine 上,毫秒级延迟,不联网,不收费。我意识到,现在是时候做一个「真正属于 Mac」的语音输入工具了。

打开网易新闻 查看精彩图片

▍设计原则:每一层都用 Apple 原生框架

ambient-voice 不是在 Mac 上套了一个通用引擎,而是从底层开始,每个功能模块都选择 Apple 原生框架来实现:

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

全原生意味着三件事:

第一,数据不出设备。所有处理都在你的 Mac 上完成。没有网络请求,没有数据上传,没有遥测。你的语音、你的屏幕内容、你的文档——全部留在本地。对于重视隐私的 Mac 用户来说,这不是加分项,是底线。

第二,零额外成本。不需要订阅,不需要按量付费,不需要 API Key。Neural Engine 已经在你的 Mac 里了,你买硬件的时候就已经为它付过费了。

第三,随系统升级自动变好。macOS 27 的 SpeechAnalyzer 如果比 26 更准确,ambient-voice 会自动受益,不需要更新任何代码。这就像潮水涨了,船自然就高了。这种架构上的便利是第三方引擎给不了的。

▍核心机制:上下文偏置——不是纠错,是预防

这是我认为 ambient-voice 最有价值的设计,也是它和其他语音输入工具本质不同的地方。

传统的语音识别思路是:先转写,再纠错。你说了一段话,引擎给你一个结果,然后用后处理模型去修正错误。

ambient-voice 的思路正好相反:在转写的时候就介入,让引擎在识别阶段就做出正确选择。

具体流程是这样的:你按下右 Option 键开始说话。这个瞬间,ambient-voice 同时做两件事——

  1. 用 AVCaptureSession 采集音频,交给 SpeechAnalyzer 开始实时转写

  2. 用 ScreenCaptureKit 截取你当前焦点窗口的内容,用 Vision OCR 提取可见文本中的关键词,注入 SpeechAnalyzer 的AnalysisContext

也就是说,在你说出第一个字之前,识别引擎就已经知道你屏幕上有什么了。

举个实际使用中遇到的例子:我在回一封讨论 OKR 的邮件,说「把留存目标改一下」。如果没有上下文偏置,「留存」很可能被识别成「留村」——这是中文语音识别中极其常见的同音词错误。但因为 ambient-voice 在我开始说话的时候已经看到了屏幕上的「留存率」「OKR」「季度目标」,识别引擎在做同音词选择时直接命中了正确的词。

再比如写 Swift 代码的场景:我说「声明一个 optional 变量」,普通识别引擎不知道我在写代码,会把「optional」当作日常英语处理。但 ambient-voice 看到了屏幕上的 Xcode 和 Swift 代码,把 Swift 关键词注入了识别上下文,「Optional」被正确识别为 Swift 的类型。

这种体验的差别是:你不再需要说完以后回头改字了。用了一个月下来,我几乎忘了语音输入还有「纠错」这个步骤。

打开网易新闻 查看精彩图片

▍越用越准:自动蒸馏的数据闭环

ambient-voice 有一个让我觉得特别巧妙的设计:它会自己变好,而且你什么都不用做。

每次你用语音输入,转写结果会自动保存在本地。注入文字之后,系统会开一个 30 秒的观测窗口——通过 AX API 监测你在焦点应用里有没有做修改。如果你把「人工智能」改成了「人工职能」,这条修改就会被记录为一条纠错训练数据。

后台有一条蒸馏管线在工作:一路用 Whisper 重新转写你的原始音频(作为高质量参考),另一路用 SpeechAnalyzer 的原始输出配合本地小模型做纠正。两路结果合并加权后,通过 QLoRA 微调本地 Qwen3 模型,导出为 GGUF 格式跑在 ollama 上,用于文本润色。

重点是:这个过程完全自动,强模型蒸馏为主,用户纠错只是可选的辅助信号。你不需要手动标注任何东西,不需要训练任何模型,甚至不需要知道这个过程在发生。你只会感觉到,用了两周之后,识别结果比第一天更准了。

▍会议模式:端侧说话人分离

除了日常的语音输入,ambient-voice 还支持会议转录场景。

按 ⌘M 开始录音,屏幕上会出现一个悬浮面板实时显示转录结果。录音结束后,FluidAudio 在本地通过 CoreML 进行说话人分离——它能识别出会议中有几个人在说话,以及每段话分别是谁说的。

最终输出是一个 Markdown 文件,带有时间戳、说话人标签和完整文本。你可以直接放进 Obsidian、Notion 或者任何 Markdown 编辑器。

整个过程不联网,不上传,会议里所有人的声音和内容都留在你的 Mac 上。对于涉及敏感信息的商务会议,这个特性不是「有了更好」,而是「没有就不能用」。

打开网易新闻 查看精彩图片

▍对比:ambient-voice vs 现有方案

打开网易新闻 查看精彩图片

如果你只是偶尔用语音输入发微信,macOS 自带的听写够用了。但如果你每天大量用语音输入写文档、写代码、开会,ambient-voice 的上下文偏置和自我进化机制会让你体验到明显不同的准确率。

▍使用门槛和安装

需要说明的是,ambient-voice 目前处于早期阶段,有一定使用门槛:

  • 系统要求:macOS 26(Tahoe)及以上 + Apple Silicon(M1 及以上)
  • 安装方式:目前是 git clone + make install,还没有 Homebrew Cask 或 DMG 安装包
  • 开源协议:MIT,完整源码在 GitHub

坦白说,如果你不熟悉命令行,现阶段上手会有些门槛。但如果你是 Mac 开发者或者习惯用 Homebrew 的用户,安装过程很顺畅。后续计划推出 Homebrew Cask 和 DMG 包。

▍写在最后

我做 ambient-voice 的初衷很简单:Mac 上的语音输入应该用 Mac 的能力。

苹果在 macOS 26 里放了一整套端侧 AI 框架——语音识别、OCR、端侧推理、音频分析——这些能力就摆在那里,只是还没有人把它们串起来做成一个完整的产品。

ambient-voice 是一个尝试。它不完美,有些地方还在打磨,但核心机制——屏幕上下文偏置、自动蒸馏进化、全端侧处理——这些设计我认为是正确的方向。

如果你也觉得语音输入应该更懂你在做什么,欢迎来GitHub试用和反馈。

打开网易新闻 查看精彩图片