我是怎么一步步搭出这套自建知识系统的

说实话,一开始我也只是想找个“好用的笔记工具”。

用过 Notion,用过各种稍后读,也折腾过一堆剪藏插件。刚开始都挺爽,但用久了就会遇到同一个问题:

东西越来越多,但真正能用的越来越少。

后来我才意识到,我缺的不是工具,而是一个流程

这套流程现在大概是这样:

  • 用服务器部署 Hoarder/Karakeep,作为剪藏、稍后读、网页保存和临时标注的中转站。
  • 在浏览器端使用 Karakeep 浏览器插件,在 Android 端通过系统分享菜单快速剪藏。
  • Hoarder Sync 把筛选后的内容定时同步到 Obsidian
  • Obsidian 作为长期知识库,承担日常笔记、结构化整理、写作素材沉淀和输出。
  • Self-hosted LiveSync + CouchDB 实现 WindowsAndroidObsidian Vault 的实时同步。
  • 用本地设备、个人服务器、坚果云 形成三端备份,尽量避免数据只存在某一个地方。

换句话说,这不是一个单一应用方案,而是一套个人知识基础设施

说明:Hoarder 项目现在已经逐步更名为 Karakeep。为了兼容旧教程、旧插件和现有使用习惯,本文统一写作 Hoarder/Karakeep

总体架构图

一、最开始踩的坑:把 Obsidian 当收集工具

我最早是直接用 Obsidian + Web Clipper

看到好文章,一键剪进去,当下确实很爽。

但问题很快就来了:

  • Vault 里堆满了几十、上百篇文章。
  • 大部分内容基本没看过。
  • 真正整理过、引用过、写进文章里的内容很少。
  • Obsidian 的目录越来越乱,搜索结果也越来越嘈杂。

那一刻我意识到一件事:

Obsidian 不适合做所有信息的入口,它更像长期知识的终点。

Obsidian 的优势不是“什么都收”,而是适合做:

  • 日常笔记。
  • 项目笔记。
  • 主题整理。
  • 长期知识沉淀。
  • 写作素材管理。
  • 知识之间的链接和复用。

如果把所有网页、碎片、待读材料都直接塞进 Obsidian它很容易从知识库变成第二个收藏夹

二、为什么我后来引入 Hoarder/Karakeep

后来我开始用 Hoarder/Karakeep,初衷其实很简单:

我需要一个中转站,而不是让所有东西直接进入笔记库。

用了之后才发现,这一步非常关键。

1. 把看到的东西先兜住

以前的流程是:

  • 看到了。
  • 想一下要不要记。
  • 犹豫要不要打开 Obsidian
  • 最后经常放弃。

现在的流程是:

  • 看到了。
  • 浏览器插件或 Android 分享到 Hoarder/Karakeep
  • 先放进去,后面再处理。

这个差别很大,因为它降低了收集的心理成本

收集阶段最重要的不是整理得多好,而是不要让有价值的信息在当下流失。

2. 自动完成第一轮粗整理

Hoarder/Karakeep 会帮我做几件基础工作:

  • 保存网页。
  • 提取正文。
  • 保留原链接。
  • 生成摘要。
  • 添加标签。
  • 记录临时标注和备注。

这一步不一定特别智能,但已经够用了。

至少它把“完全没有整理”的状态,变成了“有正文、有摘要、有标签、有上下文”的状态。

3. 给我一个缓冲区

这是我认为最关键的一点。

现在我的习惯是:

  • 所有外部内容先进 Hoarder/Karakeep
  • Hoarder/Karakeep 里完成第一轮筛选。
  • 只有真正有价值的内容,才进入 Obsidian

也就是说:

Hoarder/Karakeep 是缓冲区和筛选器,不是最终知识库。

这个定位一旦清楚,整个系统就不容易乱。

三、同步到 Obsidian:只让值得留下的内容进入知识库

后来我接上了 Hoarder Sync,把剪藏内容同步到 Obsidian

一开始我也犯过一个很典型的错误:全量同步。

结果就是:

  • Hoarder/Karakeep 里有什么,Obsidian 里就有什么。
  • Obsidian 又变成第二个垃圾场。
  • 原本想解决的问题,只是换了一个地方继续发生。

后来我改成一个简单规则:

只有经过我筛选的内容,才进入 Obsidian

如果同步插件和配置支持筛选,我更倾向于只同步标星、指定标签或指定列表中的内容。如果配置条件有限,也要至少让同步内容先进入统一 Inbox,而不是直接进入最终知识目录。

剪藏到知识沉淀流程图

我现在的实际流程是:

  1. 浏览器或手机看到内容。
  2. 通过 Karakeep 插件或 Android 分享扔进 Hoarder/Karakeep
  3. 有时间再回看。
  4. 判断它是否真的值得保留。
  5. 有价值的内容标星或打上指定标签。
  6. 通过 Hoarder Sync 定时同步到 Obsidian
  7. Obsidian Inbox 中进行二次整理。

这个流程的核心不是“同步”,而是“筛选”。

同步只是技术动作,筛选才是知识系统的质量控制。

四、进入 Obsidian 之后,才是真正的知识工作

很多人觉得剪藏完成就结束了。

其实不是。

剪藏只是收集,不是学习。

对我来说,Obsidian 承担的是后半段工作:理解、改写、链接和输出。

1. 简单标注

一篇文章同步进来之后,我通常不会马上大改,而是先补几句判断:

  • 这篇文章主要讲了什么。
  • 哪一段对我有用。
  • 它和我正在研究的问题有什么关系。
  • 以后可能用在哪类文章或项目里。

这一步看起来简单,但很重要。

因为它把 **“别人的内容”变成了“我能重新理解的材料”**。

2. 拆分内容

有些文章很长,我不会原封不动留着。

更常见的做法是:

  • 把一篇长文拆成几个独立观点。
  • 把每个观点放到对应主题笔记里。
  • 对无关部分直接删掉或归档。
  • 保留原文链接,方便回溯来源。

这样做之后,Obsidian 里留下的不是一堆完整网页,而是可以继续组合、引用和输出的知识单元。

3. 建立连接

这是 Obsidian 最有价值的地方。

我会把新内容连接到旧笔记,比如:

  • 某个主题。
  • 某个项目。
  • 某篇正在写的文章。
  • 某个长期关注的问题。
  • 某个已经存在的观点或反例。

知识不是靠收藏变多的,而是靠连接变得可用。

五、多端同步:为什么我坚持自建

我现在用的是:

  • Self-hosted LiveSync
  • Apache CouchDB

这部分折腾成本不低,但我还是坚持自建,原因很现实。

多端实时同步架构图

1. 我不想被某一个同步服务绑定

很多同步服务的问题是:一旦你用深了,迁移成本会越来越高。

我希望知识库的核心数据仍然是普通 Markdown 文件、附件和本地 Vault同步服务可以替换,但数据本身不能被锁死。

2. 我希望离线也能用

自建同步之后,本地就是完整数据。

网络只是同步工具,不是访问知识库的前提。

这点对我很重要。因为笔记系统如果必须联网才能正常使用,它就不再是稳定的个人基础设施。

3. 我想控制同步链路

Self-hosted LiveSync + CouchDB 的好处是同步中枢在自己的服务器上。

我可以控制:

  • 数据库部署位置。
  • 访问方式。
  • 备份方式。
  • 同步策略。
  • 故障恢复路径。

但这里有一个重要原则:

同一个 Obsidian Vault 最好只保留一个实时同步主通道。

也就是说,Self-hosted LiveSync 用来做 WindowsAndroid 之间的实时同步。坚果云 更适合做备份或归档,不建议和 LiveSync 一起对同一个 Vault 做实时双向编辑同步。

否则可能出现:

  • 重复文件。
  • 冲突文件。
  • 旧版本覆盖新版本。
  • 插件状态和文件状态不一致。
  • 同步链路出错后很难判断责任来源。

六、备份这件事,我是被教育过的

以前我是不认真做备份的。

后来有一次数据出问题,我才意识到:

知识库是资产,不是工具。

工具坏了可以换,知识库丢了很难恢复。

所以现在我的做法很简单,但相对稳:

  • 本地一份。
  • 服务器一份。
  • 坚果云 一份。

数据备份与容灾架构图

这里要注意一件事:

仅仅备份 Obsidian Vault,不等于备份了整套系统。

真正需要纳入备份的至少有三类数据:

数据 内容 作用
Obsidian Vault Markdown、附件、图片、模板、配置 长期知识库主数据
Hoarder/Karakeep 数据 剪藏文章、网页快照、标签、备注、上传文件 信息入口和稍后读数据
CouchDB 数据 LiveSync 同步数据库、文档版本、同步状态 多端同步中枢

我的理解是:

  • 本地备份解决误删、误改、插件异常。
  • 服务器备份解决服务迁移、数据库恢复、容器故障。
  • 坚果云 备份解决异地容灾和最后一道恢复保障。

备份不是为了看起来安心,而是为了在出问题时真的能恢复。

所以后续还要定期做恢复演练,至少确认几件事:

  • Vault 能否从备份中打开。
  • 附件是否完整。
  • Hoarder/Karakeep 数据能否重新挂载。
  • CouchDB 数据是否能重新用于 LiveSync
  • 服务器配置是否有文档或脚本可复现。

七、我现在的目录和工作区设计

我不建议让 Hoarder/Karakeep 同步过来的内容直接进入最终知识目录。

更稳妥的方式是先进入 Inbox

我现在更倾向于这样的结构:

Vault/
  00_Inbox/
    WebClips/
    MobileCaptures/
  10_Daily/
  20_Projects/
  30_Areas/
  40_Resources/
  50_PermanentNotes/
  90_Archive/
  assets/

对应规则是:

  • Hoarder Sync 同步内容先进 00_Inbox/WebClips/
  • 手机临时记录进入 00_Inbox/MobileCaptures/ 或日记目录。
  • 每天只做轻筛选,不强求深度整理。
  • 每周集中清理 Inbox,把真正有价值的内容移到项目、领域、资源或永久笔记。
  • 附件尽量集中管理,避免后续同步和备份时散落到不可控位置。

这里有一个判断标准:

只有经过改写、拆分、链接和上下文补充的内容,才算真正进入知识库。

否则它只是剪藏材料。

八、这套系统带来的改变

最明显的变化其实不是效率提升,而是信息关系变清楚了。

1. 不再焦虑信息

以前看到好东西会怕丢。

现在看到内容,先丢进 Hoarder/Karakeep

它不一定马上有用,但至少不会打断我当前的工作流。

2. 知识开始积累

过去我以为收藏数量变多,就是知识积累。

后来发现不是。

真正的积累发生在:

  • 我筛掉了不重要的内容。
  • 我理解了重要内容。
  • 我把它改写成自己的话。
  • 我把它连接到已有知识。
  • 我在写作或项目中重新使用它。

3. 写东西更轻松

现在写文章时,我不再从零开始。

需要的素材通常已经在 Obsidian 里,而且是经过筛选和整理的。

这会让写作从 **“临时找资料”,变成“调用已有知识”**。

九、如果你也想搭这套系统,我的建议

我不建议一上来就照搬全部。

更稳的顺序是从流程开始,而不是从部署开始。

第一步:先用 Hoarder/Karakeep 做收集

先不要急着动 Obsidian

先让自己养成一个习惯:看到值得保留的内容,统一进入 Hoarder/Karakeep

目标是降低收集成本,而不是马上搭完整系统。

第二步:养成筛选习惯

可以先用最简单的规则:

  • 标星表示值得留下。
  • 标签表示主题方向。
  • 备注表示为什么有用。

这一步比插件配置更重要。

因为没有筛选习惯,任何同步都会把垃圾同步到下一个地方。

第三步:再接 Hoarder SyncObsidian

等你已经能稳定筛选内容之后,再把 Hoarder/Karakeep 接到 Obsidian

同步策略建议尽量克制:

  • 能只同步标星,就不要全量同步。
  • 能同步指定标签,就不要同步所有标签。
  • 能先进入 Inbox,就不要直接进入最终目录。

第四步:最后再折腾 LiveSync 和备份

实时同步和自建服务器属于后半段。

如果你还没有稳定的知识流程,先不要急着上 CouchDBLiveSync

更合理的顺序是:

  1. 先把收集流程跑通。
  2. 再把筛选流程跑通。
  3. 再把 Obsidian 整理流程跑通。
  4. 最后再做多端实时同步和三端备份。

技术架构应该服务于流程,而不是反过来让流程迁就技术。

十、最后说一句

这套系统最重要的,不是 Hoarder/Karakeep,也不是 Obsidian

真正重要的是你愿不愿意持续做三件事:

  • 筛选。
  • 理解。
  • 重写。

如果没有这三步,再好的系统也只是一个更高级的收藏夹。

但如果能坚持下来,这套系统会慢慢变成一件很有意思的东西。

它不只是帮你存东西,而是开始帮你形成自己的知识判断。

参考来源