打开 CSDN、知乎或者 GitHub,你会看到大量这样的提问:“Obsidian 有 AI 插件吗?”“Obsidian 怎么接入 ChatGPT?”“怎么把整个 Obsidian 笔记库喂给大模型,实现知识库问答?”
这类问题的热度,说明很多笔记用户已经陷入一种典型的“AI 焦虑”:笔记攒了好几年,如今大模型遍地走,总觉得不把这些资料交给 AI 处理,就是暴殄天物;又觉得 Obsidian 作为本地 Markdown 笔记的头部工具,理应成为 AI 时代的第一入口。
但现实往往很冷静。装完几个流行的 AI 插件后你会发现:有的只能对当前打开的笔记做聊天,问两句就断片;有的需要耗费大量时间给全库做向量化索引,跑完后回答质量却不如直接问网页版 ChatGPT;还有的插件配置项繁复,依赖冲突、模型参数、代理地址、API Key 轮换,折腾半天下来的时间已经够人工整理十篇笔记。
这里需要先给出一个明确判断:把 AI “塞进” Obsidian,用插件强行让笔记软件变成一个 AI 知识库,这条路大概率是死胡同。更准确地说,问题的根源不在于 Obsidian 本身,也不在于 AI 技术不成熟,而在于两者设计目标和底层机制存在根本性的错位。Obsidian 的结构化是给“人眼”看的,AI 的结构化是给“向量”和“上下文窗口”看的,强行兼容,最后往往两头不讨好。
这篇文章不会劝你卸载 Obsidian,也不会劝你放弃 AI。相反,我会从机制层面拆解“Obsidian + AI”为什么容易翻车,然后给出一个我认为更现实、更可落地的组合方式:把 Obsidian 当作人思考和沉淀知识的“前端”,把 AI 当作处理从 Obsidian 里导出的“知识包”的“下游加工厂”。真正的工作流应该是串行协作,而不是硬揉进一个壳子里。
1. 先认清一个现实:Obsidian 用户的 AI 焦虑
Obsidian 是一款基于本地 Markdown 文件的笔记软件,核心卖点是“本地优先、纯文本、双链、插件生态”。这些特性让它在程序员、科研人员、知识管理爱好者中积累了极高口碑,很多人甚至把它称为“第二大脑”。
2023 年之后,以 ChatGPT、Claude、Codex 为代表的 AI 工具开始渗透到开发者工作流。Cursor Copilot 能直接改代码、文档工具能总结网页、笔记软件也陆续推出 AI 功能。这时候,Obsidian 用户开始坐不住了:别人用 Notion AI 直接在文档里提问,我在 Obsidian 里只有一堆 Markdown 文件,是不是落伍了?
这种焦虑催生了大量“AI 插件”和“接法”教程。搜索“Obsidian AI”可以看到,有免费调用 GPT 的、有接入本地模型的、有自动做标签的、有生成卡片的,还有直接做整库问答的。老实说,Obsidian 的插件生态确实发展很快,社区里出现了不少认真做工具的作者。
但用户的真实体验,往往和教程里的演示相差甚远。
从实际反馈和社区讨论来看,最典型的失望是:装了 AI 插件后,表面上“能用”,但一旦面对真实的知识库,比如一篇长文、一个跨多篇笔记的主题、一套带代码块的项目笔记,AI 的回答就开始变得生硬、片面,甚至引用不存在的内容。它既没有发挥出 Obsidian 双链关系的优势,也没有像 ChatGPT 那种通识问答的流畅感,最终成了个“高级但不好用的翻译盒子”。
这就是我在这篇文章标题里写“死胡同”的原因。不是 Obsidian 没有未来,而是当前大量用户试图把“AI 问答”直接嵌入 Obsidian 编辑器的路径,违背了 Obsidian 赖以成功的核心设计。需要先把这个底层逻辑看清楚。
2. 死胡同到底长什么样:四种典型的翻车方式
2.1 聊天式问答插件:只能读当前文件,一问就断片
这是最常见的一类插件。安装后,侧边栏会出现一个聊天窗口,你可以和模型对话,表面上看起来很酷。但它的实现机制通常是:把当前正在编辑的 Markdown 文件内容作为上下文,连同你的问题一起发送给大模型接口。
问题就出在这里:Obsidian 的价值恰恰在于“笔记之间是连接的”。你问“这个项目和之前某个决策有什么关系?”插件只能看到当前文件,看不到相关联的几十篇笔记,回答自然是片面的。用户以为自己在问“整个知识库”,实际模型只看到了“你打开的那一个页面”。
另一种情况是插件支持“选择的文本作为上下文”,这比整篇发送更合理,但本质上它解决的是“片段摘要”和“润色”问题,离真正的“知识库问答”还有好几个层级。
2.2 全库向量化 RAG:搭建复杂,效果不稳定
进阶用户会尝试把整个 Obsidian 库做成 RAG(Retrieval-Augmented Generation,检索增强生成)知识库。流程大致是:读取所有 Markdown 文件,按固定长度切片,调用 Embedding 模型将文本向量化,存入向量数据库;提问时先检索相关片段,再拼进 Prompt 交给大模型回答。
听起来很工程化,恰恰是这种思路最容易翻车。Obsidian 笔记的特点是小而碎:一篇文章被拆成七八张卡片,每个卡片里有大量双链语法、标签、代码块、引用块。如果机械地按固定长度切分,语义就被切碎了。比如一条代码示例和它对应的解释被切到两个 chunk 里,检索时只有解释没有代码,模型很容易编造一段不存在的代码。
加上向量数据库的选型、Embedding 模型的选型、切片策略、重排序策略,每一个环节都需要调优。投入这么多精力换来一个偶尔能用、偶尔胡说八道的“本地知识问答”,对大多数个人用户来说,性价比极低。
2.3 把大模型当万能摘要工具:只能摘片段,不能重构知识
还有一类用法是把 AI 当“自动摘要器”:选中一篇笔记,让它总结要点。这个场景不是不能用,但现实是,一篇 Obsidian 笔记往往是一个完整思考的中间产物,里面可能有好几个概念、一段待验证的假设、若干条反方论据。模型做得好的时候,确实能提取出结构化的摘要;做得不好的时候,它会把反方论据当成结论,或者把笔记里引用的别人的观点当作作者自己的观点。
更深层的问题是:摘要只是把文字缩短,并没有把笔记里隐含的连接、疑问、验证过程转化为知识。如果笔记本身质量一般,AI 摘要等于把垃圾信息润色得更精致,这反而害人。
2.4 插件无限叠加:把笔记库变成插件测试场
Obsidian 的插件生态非常开放,这既是优点也是陷阱。在“AI 焦虑”推动下,不少用户不管三七二十一,把市面上排名靠前的 AI 插件都装了一遍,最终形成一套“插件全家桶”:对话用 A 插件,翻译用 B 插件,自动标签用 C 插件,知识库问答用 D 插件。
每个插件都在以自己的方式读取文件、调用模型、写入缓存。它们之间完全没有统一协议,功能互相重叠,冲突时有发生。笔记库明明是个 Markdown 文本仓库,最后却被这些插件打造成了“依赖大量非标准配置的黑盒系统”。一旦某个插件停止维护,你的工作流就可能直接断掉。
这类问题在 Obsidian 社区里非常普遍,可以看到大量“为什么我的 Obsidian 打开后插件全部加载失败”“换电脑后怎么恢复插件环境”的求助帖。为 AI 功能付出这种维护成本,真的值得吗?
3. 底层矛盾:为什么 Obsidian 天然不适合做 AI 知识库
前面说的都是“翻车现象”,现在从机制说起。Obsidian 之所以不适合直接充当 AI 知识库,不是 Obsidian 做得不够好,而是它的设计目标和 AI 检索机制之间存在三个层面的矛盾。
3.1 格式矛盾:Markdown 双链是给人读的导航系统
Obsidian 的核心语法是 Markdown,附加双链[[笔记名]]、标签#标签、别名alias等语法。这些设计目标是让人眼快速定位信息:看到[[张三]],知道这个笔记与张三相关;看到[[张三|这位同事]],知道在特定语境下张三被引用的方式;看到#重要,知道这条内容的重要性标记。
这种“人类导航系统”的优势是灵活、直观、符合大脑联想模式。但对 AI 检索来说,这些语法本身就是噪音。模型并不能天然理解[[张三]]和张三之间的语义关系,如果不做额外清洗,向量化之后反而干扰语义。
更麻烦的是 Obsidian 支持“未创建笔记的链接”:你可以在笔记里写[[未来项目]],但对应的文件还不存在。这个特性对人类来说很实用,可以提前规划知识结构;对知识库构建来说,却意味着你的“引用图谱”里有大量空洞节点。向量化时这些空洞节点要么被忽略,要么产生空白向量,进一步影响检索质量。
3.2 粒度矛盾:原子化笔记与语义块期待两回事
Obsidian 社区推崇“原子化笔记”:一个想法、一个概念、一张卡片单独成为一个文件。这种做法对人类思考和链接很有帮助,但直接喂给 AI 时,问题就暴露了。
大模型做 RAG 时,期待的是“语义相对完整、边界清晰”的知识块。理想状态是:每个 chunk 里有一个完整独立的知识点,最好带上下文线索。而 Obsidian 里的原子化卡片通常不是一个完整的知识单元:它可能是某篇长文的一部分,只在“双链网络”这个层面上才是完整的。单独的卡片脱离上下文,对模型来说只有碎片信息。
有用户试图用“向下引用”功能把父子笔记聚合后再喂给模型,但 Obsidian 的向下引用本质上是遍历子文件拼文本,它并不知道哪些子文件应该被合并、哪些应该排除。拼出来的上下文往往是生硬的,模型依然很难理解。
3.3 机制矛盾:Obsidian 是被动存储,AI 需要主动检索
Obsidian 的核心设计是“一切皆文件,用户自己管理结构”。软件本身没有数据库层,没有内容管理系统,也没有语义索引。插件能拿到的东西,只有 Markdown 源文件、配置文件和部分 API 暴露的接口。
而一个真正可用的 AI 知识库,要求系统能够主动检索、动态重组上下文、管理向量索引,并在用户提问时快速返回最相关的内容。这需要一套独立于文档编辑器的知识管理层。Obsidian 提供的插件机制虽然可以做很多事,但它的定位始终是“编辑器插件”,不是“知识库服务”。
你可以写插件读取全库、向量化、建索引,但这样做的效果是:给 Obsidian 外挂了半个知识库系统。此时 Obsidian 本身的优势,比如快速编辑、双链可视化、主题定制,反而成了沉重的负担。这不是在利用 Obsidian,而是在对抗 Obsidian。
4. 换个角度:Obsidian 在 AI 笔记工作流里的正确生态位
讲了这么多问题,是不是说 Obsidian 在 AI 时代就没有价值了?恰恰相反。越是 AI 时代,Obsidian 的核心价值越凸显,关键是要摆正它的位置。
我的判断是:Obsidian 最适合的角色是“人脑外置思考前端”,而不是“AI 问答数据库”。它负责完成知识管理中那些最需要人类判断的环节:阅读、理解、筛选、记录、连接、质疑、再加工。至于摘要、翻译、对比、生成初稿这些机械劳动,交给 AI 在下游完成。
传统知识管理流程是:
阅读 → 摘录 → 写卡片 → 建双链 → 检索 → 写作输出。
这个流程中,双链关系和人工整理是最有价值的部分,它们代表着“你没有在看,而是在思考”。但过去这个流程的效率瓶颈在“整理”和“输出”阶段:笔记记了一大堆,真到写总结或者回答某个问题时,往往记不清当时想到了什么。
引入 AI 之后,比较合理的新流程是:
阅读 → 摘录 → 写卡片 → 建双链 → 用脚本导出干净的知识包 → 交给 AI 做摘要/对比/初稿 → 人审校并回写 → Obsidian 继续沉淀。
在这个流程里,Obsidian 依然承担“思考的输入侧”,AI 承担“信息处理的下游”。两者不是竞争关系,而是流水线关系。AI 不需要理解 Obsidian 里那些漂亮的图谱和双链,它只需要拿到整理好的、格式干净的知识包即可。人不需要把笔记改造成向量化友好的格式,只需要偶尔运行脚本,把需要 AI 处理的内容导出成适合模型的文本。
这种工作流的好处是:Obsidian 的原有体验、插件生态、本地存储优势全部保留;你不需要安装一堆不稳定插件、不需要维护向量数据库、不需要纠结 embedding 模型选型,AI 接入路径也从“搅入编辑器”变成“按需处理导出内容”,简单直接。
5. 实操:把 Obsidian 内容喂给 AI,而不是把 AI 塞进 Obsidian
既然思路转到“导出知识包”,就需要一些具体操作。这一部分,我用一个最小可行的流程演示如何实现。
假设场景:你有一个 Obsidian 笔记库,里面有几十篇笔记,主题包括“项目 A 的技术方案”“项目 A 的踩坑记录”“项目 A 的相关会议纪要”。接下来想用 AI 帮你生成一份“项目 A 月度总结初稿”。
5.1 建立干净的笔记元数据
要让脚本稳定工作,前提是笔记有统一的前置元数据。Obsidian 支持 YAML frontmatter,建议为每篇笔记维护以下字段:
--- title: 项目A-10月踩坑记录 type: blog project: 项目A tags: [踩坑, 数据库] date: 2024-10-15 summary: 记录数据库连接池耗尽问题的排查过程 aliases: - 连接池踩坑 ---为什么要这么做?因为脚本在批量导出时,可以按project字段筛选笔记,按type判断是正文还是索引,按summary快速定位主题。没有这些元数据,脚本就只能对文件名和正文做粗暴截取,很容易把同一篇笔记重复导出。
从这个角度看,比双链更值得维护的是元数据。双链是给人看的网络,元数据是给脚本和 AI 用的结构化索引。
5.2 用 Git 管理整个笔记库
Obsidian 本身没有专门的历史回滚功能,但它是纯文本文件,天然适合用 Git 管理。如果笔记库还没有建立 Git 仓库,可以这样初始化:
cd /path/to/your obsidian vault git init echo ".obsidian/workspace" > .gitignore git add . git commit -m "init notes"为什么要做这步?因为后续导出知识包、调用 AI 处理时,难免会修改或生成新文件。有了 Git,你可以随时回到任意时间点的笔记版本,也可以在 AI 生成摘要后对比有没有“画蛇添足”。我把这看作是 AI 时代笔记管理的基础设施:没有版本控制,你的灵感没有历史。
5.3 写一个 Python 脚本导出干净知识包
接下来,写一个 Python 脚本,它做的事情很简单:按项目筛选出相关笔记,去掉 YAML frontmatter、双链语法、标签和代码块,合并成一个干净的知识包文本文件。
# 文件路径:export_notes_to_ai.py import os import re from pathlib import Path VAULT_PATH = "/path/to/your obsidian vault" PROJECT_TAG = "项目A" OUTPUT_PATH = "./knowledge_pack_project_a.md" FILE_EXTENSION = ".md" def clean_markdown(content: str) -> str: # 去掉 YAML frontmatter content = re.sub(r"^---\s*\n.*?\n---\s*\n", "", content, flags=re.DOTALL) # 去掉代码块 content = re.sub(r"```.*?```", "[代码块已省略]", content, flags=re.DOTALL) # 去掉行内双链,保留文字部分 content = re.sub(r"\[\[([^\]|]+)\|([^\]]+)\]\]", r"\2", content) content = re.sub(r"\[\[([^\]]+)\]\]", r"\1", content) # 去掉标签 content = re.sub(r"#[\w\u4e00-\u9fa5/]+", "", content) return content.strip() def should_include(path: Path) -> bool: if path.suffix != FILE_EXTENSION: return False content = path.read_text(encoding="utf-8") # 这里用关键字匹配,实际可按 frontmatter 的 project 字段精确匹配 return PROJECT_TAG in content def main(): notes = [] for root, _, files in os.walk(VAULT_PATH): for filename in files: path = Path(root) / filename if should_include(path): raw = path.read_text(encoding="utf-8") cleaned = clean_markdown(raw) notes.append(f"## 来源文件: {path.name}\n\n{cleaned}") if not notes: print("未找到匹配笔记") return with open(OUTPUT_PATH, "w", encoding="utf-8") as f: f.write("\n\n---\n\n".join(notes)) print(f"已导出 {len(notes)} 篇笔记到 {OUTPUT_PATH}") if __name__ == "__main__": main()这段代码的关键点有三个:
第一,clean_markdown函数把 Obsidian 专用语法清理为接近纯文本,减少 AI 的上文干扰。双链语法被替换成纯文本标题,标签被移除,代码块被占位符替代,避免模型把大段代码也当作语义主体。
第二,should_include用最原始的关键字匹配。真实项目里,更推荐读取 YAML frontmatter 的project字段精确筛选,这比全文匹配可靠得多。
第三,输出文件统一用 Markdown 格式,但不是 Obsidian 风格,而是普通文档风格。这样无论把内容交给 ChatGPT、Claude 还是本地模型,都能直接作为上下文。
运行方式:
python export_notes_to_ai.py预期结果是在当前目录生成knowledge_pack_project_a.md,文件里按“来源文件”划分,每篇笔记都有独立标题。这就是一个干净的知识包。
如果筛选结果不对,第一步应该查看should_include的判断条件,以及笔记正文里是否真的包含目标关键词。这个脚本没有任何复杂依赖,只用到标准库os、re、pathlib,在任何主流 Python 3 环境都能直接运行。
5.4 用 AI 处理知识包的提示词示例
有了知识包文本,剩下的就简单了。直接把文本粘贴给 ChatGPT、Claude,或者使用本地模型,配合下面这种任务式提示词:
以下是从我的笔记库导出的若干篇笔记,主题是“项目A”。 请完成两件事: 1. 按时间顺序梳理项目关键事件; 2. 列出遇到的三个主要技术问题及最终解决方式; 3. 输出一份 300 字左右的月度总结初稿。 请注意:所有结论必须基于我提供的文本,不要推测我没有写的细节。 【笔记内容开始】 (这里粘贴 knowledge_pack_project_a.md 的内容) 【笔记内容结束】这个提示词的妙处在于:它明确要求“所有结论必须基于我提供的文本”,这能有效减少大模型幻觉。如果 AI 生成了笔记里没有的内容,你应该意识到要么是知识包筛选不完整,要么是模型没有遵守指令。
这才是“Obsidian + AI”应该有的样子。你不用在 Obsidian 里维护一个笨重的本地聊天框,而是“需要处理时导出,处理完成后把结果作为新笔记回写”。Obsidian 依然是你的思考主场,AI 只是定期被调用的一次性加工厂。
5.5 回写与沉淀
AI 输出的总结不是终点。把它审校、修改、补充个人判断后,作为新笔记存进 Obsidian,并手动加上双链关联到相关笔记。这个过程叫“AI 初稿,人做终审”。
如果 AI 生成的总结质量不错,你还可以用 Git 记录这次生成的内容,把“人写版本”和“AI 初稿版本”放一起对比,逐步积累属于自己的提示词模板和笔记规范。
6. 观察:AI 笔记的未来在知识流水线,不在编辑器壳里
聊完实操,再从行业视角看一个趋势。Obsidian 这类本地笔记工具的 AI 方向,和 Notion AI 等云端工具完全不同。Notion 可以天然把文档库变成 AI 问答系统,因为它有统一数据库结构。Obsidian 选择了一条更难的路:本地文件、开放格式、无中心化索引。
这意味着,对 Obsidian 用户来说,最稳妥的 AI 接入方式不是“等官方做 RAG 插件”,而是把 AI 放在“流水线下游”。你可以把 Obsidian 当作“知识原料仓库”,把 AI 当作“加工车间”。这两个角色有各自的专业工具,不需要强硬集成到一个窗口里。
市面上已经出现了一批知识库平台,例如 Dify、FastGPT、RagFlow 等,它们可以导入 Markdown 文件、自动向量化、支持多用户问答,更适合团队知识库、客服知识库这种需要持续维护的场景。个人笔记库如果只想偶尔让 AI 辅助总结,完全没必要给自己上这么重的架构。
甚至像 Codex 这类 Agent 工具,也可以直接读取 Obsidian 的 Markdown 文件,按照指令批量修改或整理内容。但它的工作对象依然是“文件”,不是“Obsidian 这个软件”。把 Obsidian 的文件当作纯文本资产,随时可以被各种 AI 工具处理,这就是开放格式最大的红利。
对 Obsidian 用户来说,真正的核心竞争力不是“会用某个 AI 插件”,而是“你的笔记库本身是否干净、是否有稳定元数据、是否有版本控制”。只要这三点做到位,未来任何新的 AI 工具出现,你都可以第一时间把整个库导成干净语料喂过去,而不是被某个插件的闭门格式绑架。
7. 常见问题与排查:Obsidian 接 AI 踩坑清单
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
| 插件聊天框只回答当前笔记,问整个库就懵 | 插件实现方式是基于当前文件上下文 | 查看插件文档或源码,确认上下文来源 | 放弃“全库问答”思路,改用“导出知识包再喂给 AI”方式 |
| 全库向量化后回答质量很差,经常答非所问 | 切片粒度不合理,术语和上下文被切碎;双链语法混入向量 | 检查向量库中是否存在[[符号;抽样看切片内容是否完整 | 先用脚本清掉 Obsidian 语法再做向量化;或换用专业知识库平台 |
| 中文笔记 Embedding 效果明显差于英文 | 所选 Embedding 模型对中文支持弱 | 换用中文优化模型,或对比不同模型在中文语料上的检索召回率 | 选择对中文友好的 Embedding 模型,并做小规模评测 |
| 导出脚本运行后输出为空 | 路径或关键词匹配失败 | 检查VAULT_PATH是否指向笔记目录,检查笔记中是否真的包含筛选词 | 用绝对路径,并把PROJECT_TAG改成更通用的关键词 |
| AI 生成的总结包含笔记里没有的内容 | Prompt 没有限制“只能基于文本”,或模型幻觉 | 检查提示词是否明确写了“不要推测”;对照知识包原文 | 在提示词中强制加入“所有结论必须基于我提供的文本” |
| 笔记库太大,脚本导出速度慢 | 每次全量扫描所有文件 | 查看耗时主要发生在哪一步 | 按目录或按最近修改日期增量导出;或用 Git 记录变更 |
| Obsidian 与第三方 AI 工具集成时插件频繁崩溃 | 插件之间版本冲突或 API Key 失效 | 查看插件日志,确认重复依赖 | 尽量少装功能重叠的插件,优先采用外部脚本处理 |
8. 最佳实践:从笔记库到知识包的四条铁律
结合前面的分析,给想在 Obsidian 里用好 AI 的读者四条实践建议。
第一条,原子化笔记,但导出时按主题聚合。笔记写作时可以继续使用“一张卡片一个概念”的方法,这符合人类思考习惯。但导出给 AI 时,不要逐卡片扔给模型,要先按项目、主题、时间等维度聚合,让每一份知识包都是一个有完整上下文的会话主体。
第二条,元数据规范比双链更重要。Obsidian 用户很容易沉迷双链图谱,却在 YAML frontmatter 上偷懒。双链解决了“人怎么联想”的问题,元数据解决了“脚本怎么筛选、AI 怎么理解”的问题。建议从今天开始,为每篇笔记维护至少五个字段:title、type、project、date、tags。这比多连线十篇笔记的长期价值更高。
第三条,用 Git 做一切变更的底层保险。AI 处理笔记必然产生新内容,如果没有版本控制,AI 生成的错误信息可能会污染原始笔记。建议把整个 Vault 纳入 Git 仓库,定期提交。这样既能回滚 AI 的错误,也能对比不同版本摘要的质量。
第四条,AI 只做清洗与初稿,人做判断与终审。任何由 AI 生成的总结、标签、关系预测,都不应该自动写回笔记库。正确做法是:AI 输出 → 人审校 → 人修改 → 手动写回。一旦让 AI 自动写回,笔记库很快就会充满“看起来很有道理但实际没人确认过”的内容,知识库的可靠性就无从谈起。
9. 总结:死胡同的入口与出口
回到标题的问题:用 Obsidian 做 AI 笔记为何是死胡同?
真正死胡同的是“把 AI 直接塞进 Obsidian,让笔记软件充当 AI 问答数据库”这条路径。它不是死于功能不足,而是死于设计目标冲突:Obsidian 是给人类思维设计的“联想导航”,AI 知识库是给模型设计的“语义检索仓库”,两者无法在同一个壳子里同时达到最佳状态。
出路也不是放弃 Obsidian 或放弃 AI,而是把两者重新分工。Obsidian 继续承担阅读、记录、连接、沉淀这些只有人才能做好的工作;AI 则在下游负责摘要、对比、生成初稿这些机械劳动。通过规范的 YAML 元数据、Git 版本控制、简单的导出脚本,你可以随时把笔记库的一部分变成干净的知识包,再交给 AI 处理,最后把结果审校后回写。
如果你正准备给 Obsidian 安装第三个 AI 插件,建议先停下来问自己一个问题:我到底是想让 AI 理解我的笔记库,还是想让我更好地理解我的笔记库?如果答案是前者,你需要的是一套知识库系统,而不是 Obsidian;如果答案是后者,那 Obsidian 依然是值得长期投入的工具,只是 AI 应该在流水线的尽头等你,而不是挤在编辑器里抢走你的注意力。