一个活在 Obsidian 侧边栏,一个活在终端命令行。共享同一个知识库,但各干各的活。


几个月前我给自己定了个规矩:每次读完书,必须记笔记、更新日志、同步进度、勾选日课。

坚持了三天。

断了。

不是懒。是流程太碎了——读一章,切出去建文件、写 frontmatter、打 wikilink、跟日志对齐、再回去翻刚才读到哪了。等你做完这些,阅读的沉浸感早就碎了一地。

后来我试了装 AI。一开始只装了一个插件,在 Obsidian 侧边栏里跟 AI 聊,让它帮我记。

体验很好:读完一段,直接跟它说"这段帮我记下来,关联上周那篇笔记",它真能读、能写、能关联。阅读的连续感保住了。

但新问题来了——这个 AI 能做深度对话,做不了批量操作。遇到"把 50 篇笔记统一改个标签"、“移动 30 个文件到新目录"这种事,我得一个一个来。

于是我又开了一个终端窗口,启动了另一个 AI。

现在我的知识库是这么管的——


两个 AI,一个知识库

说穿了很简单:我有一个 Obsidian 笔记库,一千多篇 markdown 笔记。两个 AI 都挂载这个 vault 作为工作目录,都指向同一个 API。

它们共享同一套文件系统。AI-A 写进文件的,AI-B 下一分钟就能读到。

AI-A 活在 Obsidian 的右侧面板里——我用的插件叫 Claudian,直接在 Obsidian 里开了个 AI 聊天面板。我看笔记的时候它在旁边,读完一段直接跟它讨论。

它最擅长的事:精读——一段话翻来覆去拆开追问,直到我真正理解;建笔记——把讨论结果写成结构化的原子笔记,标题、标签、关联链接一步到位;日常维护——更新日志、同步看板、勾选日课。每次学习结束,它会自动记下"你读到第三章第二节了,讨论了供需曲线的偏移原因”,下次打开直接续上。

它本质是一个深度对话引擎——不追求快,追求理解得透彻。

AI-B(Claude Code) 活在终端命令行里。我看不到它的界面,只能看到它的输出——文件被创建了、代码跑起来了、任务完成了。

它最擅长的事:批量操作——给 vault 里所有笔记批量改 frontmatter、全局替换标签、移动文件;写代码——Python 脚本、调试 bug、重构;定时任务——每天早上自动抓 RSS、AI 摘要、入库;RAG 管线——跑一次深度研究,搜索引擎 → 全文提取 → AI 摘要 → 向量入库,一条龙。

它本质是一个批量执行引擎——不追求对话体验,追求把事情做完。


它们到底怎么配合的

大多数人问的第一个问题:不会打架吗?

不会。它们写同一套文件,但各写各的部分。

拿今天下午的事来说。

我在 Obsidian 里读一篇文章,Claudian 在旁边跟着。读到一个观点,我觉得跟之前某篇笔记有冲突。

我说:“这个跟上周那个 X 观点好像对不上。”

Claudian 调出那篇旧笔记,左右给我对比。我们聊了几轮,发现不是冲突,是同一个东西的两个面。达成共识后,它生成了一篇新的对比笔记,更新了今日日志,同步了进度看板,勾选了日课。

整个过程我没离开过 Obsidian,没碰过目录结构,没写过一行 frontmatter。

但有一件事 Claudian 做不到。

今天它生成了 6 篇新笔记。这些笔记写了,但还没进向量库——也就是说,下次搜索搜不到它们。

我切到终端,对 AI-B 说:“帮我把今天的新笔记跑一遍向量化索引。”

几秒钟时间,它扫完 vault,找到那 6 篇新文件,解析 frontmatter,写入 ChromaDB,然后告诉我"6 条成功,0 条跳过"。

反过来也有。AI-B 批量改完标签后,结构变了。下次我打开 Obsidian,Claudian 会自动读到更新后的文件——因为它看到的是同一套文件。

这就形成了一个闭环:

阅读时,Claudian 负责深度理解和记录 → 记录完,AI-B 负责批量处理和索引 → 处理好之后,Claudian 下一次会话自动读到最新状态。

两个 AI 各转各的齿轮,但咬合在一起。


为什么这么分——疼出来的

不是一开始想好的,是试出来的。

一开始我让 Claudian 什么都干——对话、建笔记、批量操作、写代码。但 Obsidian 插件的本质是个聊天窗口。

批量替换 200 个文件?在聊天窗口里一条一条确认,人疯了。 git push?插件不支持,得开终端。 跑个 Python 脚本?插件环境有限制,跑不了。

反过来,Claude Code 在终端里什么都能干,但它不知道我此刻在读哪一页、不理解我为什么划这条线、没办法在我读文章的时候实时对话。

后来我捋清楚了它们的区别——

侧边栏那个 AI,它的世界是一篇一篇的笔记。你跟它说"帮我看看这篇跟之前那篇有什么联系",它真的会去读、去对比、去追问。它的输出是对话,是理解,是新的笔记。

终端那个 AI,它的世界是整个文件系统。你跟它说"把标签 A 全部换成 B",它不会问为什么,直接动手。它的输出是批量操作,是代码,是自动化的任务。

一个管质量,一个管数量。互补但不重叠。


说几个实际效果

阅读不断了。 以前读半小时书,切出去做笔记要 10 分钟,回来找不到刚才的思路在哪。现在读完直接跟 Claudian 聊,笔记在对话中就生成了。

不用想"放哪"了。 任何我看到的东西——文章、视频、对话片段——直接丢给 Claudian。它判断归哪条线、起什么名、关联什么已有知识。以前我经常纠结"这篇该放经济还是综合阅读",现在不用想了。

烦人的批量活有人干了。 每周的向量重建、标签清洗、备份归档,全交给终端 AI-B。以前这些事我都是拖到不得不做才动手。

记忆不丢了。 上个月跟 Claudian 讨论过一个概念,今天在终端让 AI-B 搜,它能从向量库里找到——因为 Claudian 当时写进笔记的东西,已经进了向量库。两个 AI 的记忆各自独立,但共享的 vault 把它们串在了一起。


当然也有代价

两个 AI 意味着两倍的费用。 虽然我用的是 DeepSeek Flash,单价不高,但架不住聊得多。不过相比省下来的时间,可以接受。

偶尔出过幻觉冲突。 有一次 Claudian 说"这篇笔记创建于 5 月 16 号",AI-B 读出来 5 月 19 号。查了半天,是 frontmatter 格式不统一,一个读的是 created 字段,一个读的是 date 字段。后来我补了一个规范文档,让两个 AI 都读,再没出过这种问题。

不是每个人都需要两个 AI。 如果你的知识库只有几十篇笔记,一个 AI 绰绰有余。我走到这一步,是因为笔记数量上来之后,“深度阅读"和"批量维护"这两个方向,单一工具已经覆盖不全面了。


写到这里的时候,我正在 Obsidian 里跟 Claudian 讨论这篇文章的措辞。

终端里,AI-B 正在后台跑今天的 RSS 抓取。

它们不知道彼此在做什么。但明天早上一打开每日日志,两个 AI 今天干的活都会在那里。

说实话,这种感觉挺爽的。