在面向开发者的AI编码协作场景中,本地笔记应用Obsidian正迅速走红。其常见用法是,先将准备交给AI的需求、约束条件和设计意图在Obsidian中结构化整理,再作为可复用的知识库供后续调用。
接入模型上下文协议(MCP)后,Obsidian的这一能力被进一步放大。AI不仅可以直接调用文档生成代码,还能沿着笔记之间的关联关系补充上下文。作者也围绕这一流程进行了实际测试。
Obsidian是一款将Markdown文件保存在本地的笔记应用。与常见笔记工具相比,它的核心能力在于笔记之间的连接。用户只需用双中括号“[[ ]]”框住特定词条或文档标题,就能创建链接,相关关系还可以通过图谱方式可视化呈现。比如,在“采访A”这篇笔记中链接“受访者B”,就可以迅速查看“受访者B”还关联了哪些稿件或备忘录。相比单纯把文件堆进文件夹,Obsidian更像是在持续沉淀一张笔记关系网络。
这也是Obsidian在AI编码场景中受到关注的主要原因。要让AI输出更高质量的结果,关键不在于把所有信息一次性塞进上下文,而在于筛选出真正必要的信息。原因在于,上下文窗口本身存在输入上限,信息过载也会影响输出质量。若将需求、设计意图和数据流拆分成不同笔记,AI就能按需读取相关文档,生成更细粒度的代码;接入MCP后,这一过程还可以进一步自动化。
以Claude Code为例,连接Obsidian MCP服务器后,AI可直接打开Vault中的文档,并沿着反向链接继续追踪相关笔记,逐步建立所需上下文,再据此生成代码。这样一来,人工复制文档、反复拼接提示词的步骤就可以大幅减少。
在测试中,作者以开发一款AI Companion应用为场景,重点验证对话回复生成模块能否按预期运行,并为此设计了一套测试harness。测试harness可理解为,在不直接改动线上服务代码的前提下,对特定功能进行自动化验证的测试框架。这次测试中,Obsidian主要用于组织这套框架的设计信息和执行信息。
实际落地的第一步,是先设计好文件夹结构。也就是说,需要提前明确要实现什么目标、用什么结构组织资料,以及按什么流程推进;而在项目初期,快速搭出一套清晰框架并不容易。
在Claude的辅助下,作者最终将内容拆分为4个文件夹、13篇笔记。其中,需求(01_requirements)用于记录功能需求和约束条件;架构(02_architecture)用于整理组件结构、数据流和文件布局;提示词(03_prompts)用于保存交给AI的指令草案;结果(04_results)则用于记录实验结果。每篇笔记还进一步标注了测试执行、数据注入、外部API替换等模块分工,并通过反向链接串联起来,预先设计引用路径,让AI在阅读单篇笔记后也能自然跳转到相关内容。
当设计文档准备完成后,作者启动Claude Code,安装Obsidian MCP服务器包并配置Vault路径。此后,只需按Markdown文件名引用相应笔记,再提出“生成harness代码”的请求,AI就会打开对应文档,并沿反向链接检索相关笔记后生成代码,整个过程中无需再手动复制粘贴文档或拼接提示词。生成的代码随后通过pytest运行,6个测试用例全部通过。作者表示,如果从零开始手写同等规模的验证环境,可能需要半天时间。
仍需理解代码结构,MCP稳定性也有待提升
不过,从非开发者视角来看,Obsidian的使用仍有一定门槛。无论是文件夹如何划分,还是哪些信息应写入笔记,都要求使用者对代码结构具备基本理解。即便平时已经积累了大量笔记,后续若要调整文件夹名称或重新分类,也会产生额外整理成本。
MCP的连接体验同样谈不上顺畅。实测显示,Obsidian MCP服务器在扫描Vault时曾多次出现响应缓慢的情况,最久持续数小时。GitHub开发者社区中也可以看到不少类似报错反馈。整体来看,MCP生态仍处于早期阶段,稳定性问题仍待改进。
对于一次性任务或相对简单的工作流而言,这套方法反而未必更高效。就速度来看,直接在Claude Code中处理,或在Claude Projects中注入上下文并生成Artifact,很多时候会更快。
因此,业内更倾向于认为,Obsidian的价值主要体现在模块耦合度高、需求频繁变动的复杂长期项目中。设计文档越多,AI可调用的上下文就越丰富;后续新增功能时,也无需从头重新解释,只要在Vault中补充相关笔记即可。