用途:Apple Notes 不提供 webhook、发布订阅或事件流 API,本技能用于自建变更检测与事件系统,监控笔记的新增、修改和删除。
主要能力:提供三种检测方式。一是 JXA 轮询,通过 osascript 调用 Notes 应用比较笔记快照,作为权威信号,示例间隔 60 秒;二是对 NoteStore.sqlite 所在目录使用 FSEvents(如 fswatch)做近实时检测,但需防抖,且不得直接读写 Apple Notes 私有 SQLite 文件;三是 Apple Shortcuts 自动化,可按时间、应用打开关闭或专注模式变化触发脚本,也可用 shortcuts run 从脚本触发快捷指令。
使用方式:以轮询为主,FSEvents 与快捷指令仅作为触发新一轮限定范围轮询的提示。仅在完整成功轮询后持久化游标或快照,失败时保留旧游标。按笔记标识、变更版本和处理程序去重后再执行导出、通知等副作用。事件记录默认使用不透明标识或加盐哈希,不含标题与正文。
适用场景:需要将 Apple Notes 变更接入导出、同步或通知流程的自动化场景。
限制:轮询间隔过慢会漏掉密集编辑,过快增加 CPU 占用;FSEvents 在同步期间触发频繁;笔记在文件夹间移动可能被误判为删除;超过约 10000 条笔记时 osascript 可能超时;macOS 快捷指令自动化可能延迟或跳过。需具备只读访问权限、持久化事件存储与去重机制。