苹果笔记语义搜索与关联发现
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,把 @user_fccf428b/apple-notes-search 安装到你的 AI 助手中,并完成 Apple Notes 的本地索引授权。
技能介绍
Apple Notes 自带搜索以子串匹配为主:你记得半年前记过某个观点,但不确定原话,就很难靠关键词把它捞回来。更麻烦的是笔记间的隐性关联:两条看似无关的记录,可能因为共享一个第三方主题、同一实体或相同 [[wikilink]] 而互相支撑,原生搜索看不到这些路径。这个技能把 Apple Notes 的本地数据接进 MCP server,在设备上做索引、语义检索、关联发现,并在你明确要求时把散落笔记综合成一个有出处的立场。
核心能力
检索层由 search-notes 承担:embeddings 与 BM25 混合召回后再排序,得分按 RRF(vector, BM25) × title_boost × recency_factor 计算;时间语义查询(如 latest、today)会加强近因权重。需要精确字面匹配时改用 find-notes,语义召回时再回到 search-notes。get-note 负责取回单条完整内容,list-notes、list-folders、list-tags 与 search-by-tag 覆盖最近笔记、目录、标签库存和按标签取笔记。
关联发现层是这套方案最有意思的部分。related-notes 基于共享标签、[[wikilinks]] 和向量相似度找“明显相关”;bridge-notes 用 Swanson-ABC 思路找“不明显但有中介”的连接:A 与 C 彼此不相似,却都强关联到中间节点 B。feed 把 bridges、abstraction pairs、entity threads 汇成按证据强度排序的连接流;entity-notes 和 list-entities 则回答“我在哪些笔记里还提过 Mercedes 这类实体”,前提是存在可选的实体图数据库。
综合层只在你要求“总结我对 X 的看法”时触发。综合接口运行在本地 web 端点(默认 http://localhost:3741/,调用 GET /api/synthesize?q=),回答会附带指向源笔记的行内 [n] 引用,便于回查原文。
关键步骤
服务启动前要做一次性准备:MCP server 直接读取 Apple Notes 的 SQLite 存储,因此运行它的二进制(通常是 bun)需要被授予 Full Disk Access;没有这个权限,任何调用都会失败。注册 server 后重启客户端,先跑一次 index-notes 建立本地索引,再开始搜索。若检索结果偏旧,用 index-health 查看同步状态与上次索引时间,check-changes 判断笔记是否有变化。
适用边界
只支持 macOS 与 Apple Notes;它不会搜索 Obsidian、Notion、Google Docs 或其他笔记库。索引、embeddings、BM25、聚类、bridges 和实体计算都在设备上完成,只有综合生成这一步需要 LLM——你可以选择本地模型,也可以使用云端模型。搜索质量依赖较新的本地索引;最近编辑过的笔记可能出现后台增量索引尚未追上的滞后,重跑一次搜索即可。实体相关工具需要可选的 layered_graph.db,缺失时建议改用混合搜索、精确搜索、related-notes 或 bridge-notes。
使用场景
- 记录过技术决策理由但忘记关键词,需要通过语义找回原始笔记。
- 跨多篇笔记寻找非显性关联,发现通过共同中介主题相连的内容。
- 整理思路时需要将零散笔记综合成带原文引用的总结报告。
- 怀疑搜索结果滞后,需要检查索引同步状态与最近变更。
适合人员
- 习惯用 Apple Notes 记录技术决策、读书笔记与项目经验的工程师。
- 需要从历史笔记中快速召回证据支撑当前论证的研究人员。
- 构建个人知识库并希望发现跨领域隐性关联的知识工作者。
- 对本地化处理敏感、希望笔记内容不离开设备的 macOS 用户。