> 📘 本案例有深度详解(含真实提示词与全程调试):案例06 · Obsidian 智能标签与双链推荐器
【关键工具】 Claude Code + Node.js
【70% Vibe】
对所有用 Obsidian 记笔记的人来说,这是个梦想工具:它扫描你本地的整个笔记库,理解每篇笔记的语义,自动为那些"孤岛笔记"推荐合适的双向链接(bi-links)和标签,让你散落的知识自动连成网。这是一个典型的"高阶 CLI"案例——用 Claude Code 直接在终端里操作你的本地文件系统,配合 Node.js 处理 Markdown。
【30% Engineering】
这个案例的 30%,是一道地道的工程性能题。
核心难点是本地文件系统的大批量读写性能。一个用了几年的笔记库可能有上千个文件。如果程序设计得粗糙,一次全量读取、逐个比对,会非常慢,甚至卡死。你需要认真考虑读写的效率——批量处理、控制内存占用、避免重复 IO。
与之配套的是增量扫描算法。你不可能每次运行都把整个库重新分析一遍——那既慢又浪费。正确的做法是记录上次扫描的状态,每次只处理"新增或修改过"的笔记。如何准确地判断"哪些变了"、如何维护这份状态,是让工具从"能用一次"变成"能天天用"的关键。
破局心法
凡是涉及"处理大量本地文件"的工具,增量化几乎总是那个决定成败的 30%。第一版"全量扫描"很容易写,但只有"只处理变化部分"的增量版本,才真正可用。这个思路在本书后面的工程类案例里还会反复出现。