macOS 12+ / Tauri / 本地优先

把系统通知变成可控的自动化流程。

NoticeFlow 读取本机 macOS 通知数据库,用规则匹配通知内容,并执行你配置的动作:打开链接、启动应用、发送本地通知、HTTP 请求或本地脚本。

开源 MIT 本地存储 手动检查更新 未签名 DMG
NoticeFlow 应用图标
1

读取通知

2

匹配规则与变量

3

执行动作并展示结果

NoticeFlow 界面结构预览

使用场景

适合把通知接入自己的工作流

NoticeFlow 不试图替代通知中心,而是把系统通知变成可匹配、可测试、可执行、可追踪的本地自动化入口。

链接处理

自动打开通知中的链接,或把所有 URL 传给脚本继续处理。

告警转发

匹配特定应用和关键词,把重要通知发送到自建 webhook。

脚本联动

用 Python、JavaScript、Shell 或 AppleScript 衔接本地工具。

通知整理

归档、隐藏或显式删除不需要长期保留的通知记录。

核心能力

围绕可靠执行设计

匹配条件 应用、文本、正则、URL、时间窗口
变量系统 标题、正文、应用、URL 集合、时间、正则捕获
动作类型 打开链接、启动应用、本地通知、HTTP 请求、本地脚本
执行反馈 动作状态、输出、错误、历史记录
本地数据 规则、设置、通知归档都保存在本机
安全边界 规则校验、数据目录保护、显式删除系统通知

变量

把通知内容传给真正需要的地方

动作中可以使用 {{title}}{{body}}{{app}}{{url}}{{urls}}{{time}} 和正则捕获变量。多个 URL 默认用空格拼接,也可以用 {{urls_,}} 这类形式指定分隔符。

open "{{url}}"
/Users/me/scripts/handle-links.py {{urls}}
echo "{{urls_,}}"

安装

从下载到第一条规则

  1. 下载 DMG 从 GitHub Releases 下载对应芯片的安装包:Apple Silicon 选 aarch64,Intel 选 x64。
  2. 允许打开 当前构建未签名,首次启动需要在系统设置中手动允许。
  3. 授予权限 读取系统通知数据库需要完全磁盘访问权限。
  4. 测试规则 先用通知样本测试匹配结果和变量替换,再启用自动化。

隐私与安全

默认只在本机工作

NoticeFlow 默认不会把通知内容发送到远程服务。规则、设置、通知归档和动作历史都保存在配置的数据目录中。HTTP 动作和脚本是否发送数据,取决于你的规则配置。

FAQ

常见问题

为什么需要完全磁盘访问权限?

macOS 通知历史保存在本机受保护的 usernoted 数据库中。NoticeFlow 需要读取该数据库才能展示和匹配通知。

为什么首次打开会被 macOS 拦截?

当前 DMG 没有做 Apple Developer ID 签名和公证。GitHub 分发可以使用,但首次打开需要手动允许。

规则中的脚本是否会自动联网?

NoticeFlow 本身不会默认同步通知内容。脚本和 HTTP 动作由用户配置,如果脚本调用网络工具,数据可能离开本机。

正则规则和浏览器 JavaScript 正则一致吗?

不完全一致。NoticeFlow 规则校验和后端匹配使用 Rust regex 引擎,不支持 look-around 和 backreference。

开始使用

把下一条通知交给规则处理。