![]()
编注:本期内容为少数派 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 同时做两件事——
用 AVCaptureSession 采集音频,交给 SpeechAnalyzer 开始实时转写
用 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试用和反馈。
![]()
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.