系列上一篇文章聊了知识库里的插件红黑榜。这篇换个方向,说说知识库的日常维护。
笔记超过几千篇以后,问题就来了。废弃的草稿、断掉的链接、没整理的收集箱、重复的内容。时间一长,知识库就从「第二大脑」慢慢变成「垃圾堆」。
我自己这个知识库跑了一年多,44000 多篇文件,600 多篇工作笔记。如果不定期清理,光是收集箱里就有几十篇临时文件,越堆越多。
问题不只是占空间。断链越来越多,点开一个「反链」发现指向不存在的文件。空文件占了搜索页面。收集箱里几十篇未分类的笔记,慢慢变成死内容。
做过一次全面清理后,搜索准确率提升了不少——不是技术上的提升,是干扰项少了。
下面是我的五步体检法。
孤岛笔记
孤岛笔记就是没有任何其他笔记链接指向它的文件。没人引用,没有回头路,基本可以判断是临时内容或者废弃稿。
用 Dataview 可以快速查:
LIST FROM "" WHERE file.inlinks = [] AND file.name != "README" SORT file.size ASC LIMIT 30
运行这个查询,列出来的就是全库的「孤岛」。一篇篇过,该删的删,该补链接的补链接。大部分孤岛是收集箱的临时文件、废弃的草稿、实验性笔记。
实际操作下来,800 篇孤岛笔记里,大概 60% 可以删,30% 需要补链接,10% 需要重整理。

断掉的链接
Obsidian 的 wikilink 只认文件名。文件改了名字或者被删了,链接就断了。
检查方法:在关系图谱点开配置,打开「显示附件」和「显示未创建笔记」。红色节点就是断链。
批量修断链可以用 Find and replace 插件或者用 grep 搜。有个实用技巧:文件改名后,用别名(alias)让旧链接自动匹配。

清空收集箱
收集箱的设计理念是「临时存放,定期清理」。但很多人会忘记清理。
我给自己定了一个规则:收集箱里的文件超过一周还没归类,自动标记为「过期草稿」,超过两周直接归档到「已废弃」目录。不删——怕以后需要,只是移出主视野。
用 QuickAdd 可以做一个「每周清收集箱」的触发器,固定在周五下午处理。
清理一次收集箱,把 30 多篇笔记归入对应目录,删掉 10 多篇废弃草稿。知识库的整洁感提升是肉眼可见的。

空文件
很多插件创建笔记时会生成空白模板,或者误操作导致空文件。空文件虽然不占多少空间,但会在搜索和反链面板里制造噪音。
用 Dataview 查:
LIST length(file) as 字节数 FROM "" WHERE length(file) < 100 SORT length(file) ASC LIMIT 20
字节数小于 100 的基本是空文件或纯 frontmatter。确认没内容就删掉。
标签一致性
知识库用久了,标签越来越混乱。同一个概念可能用了多个近义词——「AI」「人工智能」「artificial-intelligence」混着用。
标签审计用 Dataview:
TABLE rows.file.link AS "文件" FLATTEN file.tags AS tag GROUP BY tag SORT rows.file.link DESC
把结果导出后能看到每个标签的使用频率。低频标签(只用过 1-2 次的)要么打错了,要么是临时标签,可以合并到大标签下。

维护节奏
体检不是一次性的,是持续的习惯。
每日:收集箱 overflow 检查,1 分钟。每周:清收集箱加新建笔记归类,10 分钟。每月:孤岛笔记加空文件检查,15 分钟。每季:断链加标签审计加全库整合,30 分钟。半年:大扫除,废弃目录清理加归档,1 小时。
关键是把维护嵌入日常流程,不是等知识库变乱了再大动干戈。
前几篇讲了怎么搭知识库、怎么管理文章、怎么用模板和插件。系列还剩一个比较有意思的话题:怎么把 Obsidian 知识库和微信公众号的发布流程打通,实现从读到写到发的闭环。下一篇来说说。