AI 辅助声明:文章中提交到插件由 Codex 和 Kimi-K3 辅助开发。文章创作过程中使用了 AI 技术辅助启发思路,检验错别字,改动结构。但文章正文都是作者人写的。
我在 Obsidian 里有接近 20000 篇笔记。
读书摘录、笔记、项目记录、日记、发布的文章,
全部都在 Obsidian 里,Obsidian 就是我的第二大脑。
为了管理这些笔记,
笔者用过很多款知识管理软件,
- 在印象笔记里折腾过目录分类法
- 在 Notion 折腾过 DataBase
- 在 Obsidian 和 Roam Research 里折腾过双向链接。
最后发现:维护笔记系统的时间,比写笔记的时间还长。
依靠人运行的系统中,任何有阻力的设计,都会慢慢腐朽。
知识管理过去是一个维护成本非常高的事
但是,进入 AI 时代以后,这一切都变了!
现在你只管记录就好了!其他的交给 AI。
知识管理的终极目标,就是能够被看见,能够被运用起来。
这也就是我为什么开发 Analogy 的原因。
我做了一个 Obsidian 插件,让你和你的 Agent 都可以调用知识库。
Analogy for Obsidian
Analogy 最早做的是 Notion 版本。
当时的想法很简单:我在 Notion 里阅读或写笔记时,希望右侧能自动出现知识库里的相似内容。新增一篇笔记,也能顺手看到以前写过的观点。 这个版本已经跑了一段时间。现在,我们把基本一致的能力带到了 Obsidian。
输入一个想法,就能找到之前关联过的笔记:

通过文章的内容,也可以匹配到几年前记录的笔记和文章:

在自由画布中,任何片段或者文本,开启语义漫游,在知识库里随机漫游

这次的 Analogy for Obsidian 有几个特点
- 完全本地化,无隐私风险;
- 自适应语义分块;
- 在知识库里随机漫步;
- 让 Agent 接入第二大脑;
Agent 也可以使用这样的能力来检索知识库。
结尾还附上我写的在 Obsidian 中使用知识库的教程。
01 完全本地化,无隐私风险
Obsidian 一直都以本地化,隐私安全性闻名。
所以在 Analogy 的 Obsidian 插件里,我们很在意用户数据的:完全本地化
两年前,我们做 Analogy for Notion 的时候,Embedding 模型的参数规模还非常大。
这就造成了一个很尴尬的局面
想要效果好的,就在本地跑不起来,只能把模型部署在云端。
参数规模小的呢,效果又非常差。
所以 Obsidian 版本拖了很久。
当然,得益于模型能力的快速发展。
今天我们在 MTEB leaderboard 上(一个评估 embedding 模型能力的 BenchMark)上,已经可以看到很多参数量在 300M 以下的模型,效果又好的模型,可以在本地跑起来,它们的效果又甚至比两年前的 SOTA 模型还要好。

同时在强大的 Codex 和 Kimi K3 模型的帮助下,
我们这次带来了 Analogy 的 Obsidian 插件版本。
Analogy for Obsidian 可以读取本地的笔记,完成文本清理、分割和向量化,再把索引写进本机的 Chroma 向量数据库。搜索时,查询内容也在电脑上转换成向量,进行相似性匹配。
一切的向量数据存储,搜索行为,都发生在本地,不会上传到云端。
这很符合我对 Obsidian 的理解。文件是自己的,索引也应该留在自己的电脑里。
02 自适应语义分块
Obsidian 存储的笔记,很多都是一篇几千字的文章。 长文章,一方面,因为模型字数的限制,没有办法直接塞进一个向量。另一方面,内容太长,多个话题挤在一起,生成的向量会变得含糊。切得太碎也有问题,一句话离开上下文以后,可能连它在讨论什么都看不出来。
所以要将长的文章,分割成多个片段。 最简单的做法,是每 500 字切一刀。它很省事,也很容易把一个完整观点从中间劈开。 Analogy 选择了更细致的文本分割方法。 它先清理 Markdown 里的格式噪声,保留文章的标题结构。 接着按照 H1、H2、H3 分段,为每段带上完整的标题链。这样,某个片段即使单独被搜出来,也知道自己原来属于哪一章。 标题之下的正文还会继续做语义分块:先拆成句子,给句子生成 Embedding,再计算相邻句子的余弦距离。当话题发生明显变化时,就在那里断开。 同时,我们给每个 chunk 设置了长度上限,避免一块内容膨胀得太大。 大致是这个过程:

所以我们可以看到,一篇文章可以被切分成多个语义的片段。 更适合用来做语义匹配。
例如我搜索「文本分割」,就可以在我的知识库里面找到很多相关的笔记中的片段。

03 语义漫游
除了基础的语义搜索以外。 我们还参考了 flomo 的随机漫游功能,做了属于 Obsidian 的语义漫游。

他可以让你在一个自由画布中,沿着一个语义,在知识库中随机漫步。

你可以沿着相关的知识,一直往下探索,找到更多关联的知识。 正如 Analogy 这个单词的意思 —— 类比 通过这样不断在知识之间类比,就可以:
- 启发思考:通过将陌生概念与已知事物比较,激发新的思路和洞见
- 促进知识分形增长:帮助发现不同领域间的联系,找到知识边缘的缝隙和增长机会
- 促进记忆和理解:在知识卡片间建立关联,加深理解并强化记忆
- 简化认知过程:把复杂、不熟悉的事物与熟悉事物类比,降低理解难度
- 帮助范畴化:让人脑通过小样本学习,快速建立对世界的理解框架
- 建立知识网络:把分散的知识点连接起来,形成更有机的第二大脑
- 激发创新:通过跨领域联想,催生新的知识分支和创意
04 把知识库交给 Agent 调用
做完本地搜索以后,我们还给 Analogy 加了 MCP Server。 让本地的 Agent 也可以使用 Analogy 的语义搜索能力,真正接入你的第二大脑。 比如我发送了

他就能找到这句

在依靠人运行的系统中,任何有阻力的设计,都会慢慢腐朽。 "间隔重复(主动复习)虽有效,却难以坚持,因此 Analogy 放弃让用户"复习知识",转而设计一条新的反馈回路——在阅读、思考、创作、工作的过程中,相关知识自动浮现。这既是回忆,又是创作素材,还可能在阅读中催生新视角,形成"知识复利"的正反馈循环。 它借用游戏化设计:明确目标、规则、正反馈、自愿参与,让"使用知识库"本身成为奖励。技术上用混合搜索(全文+稀疏+稠密向量+重排序)在合适时机呈现相关内容,在做笔记时自动发现潜在链接——链接即 Zettelkasten 最迷人的部分。 其理念凝练为一句:"知识要在流动中产生价值"**,而"能够快速调用的笔记,才是好笔记"。
类似的想法还有

- 能够快速调用的笔记,就是好笔记
- 当检索一个关键词瞬间浮现十几个相关笔记时,会产生"wow"的 Aha 时刻
- 滑箱的价值就在于创建知识与知识之间的链接;而"当我们思考的东西就在眼前时,我们才能更好地思考"
- 把这种"背景式唤醒"做成系统。设计上遵循发散-收拢的双钻模型,功能拆分为搜索/类比/向量搜索/问答等模块 一句话:知识要被看见,才产生价值。
这样的设计,很符合我的想法。
添加方式也很简单。 只需要在设置页里启动 MCP 服务,然后给 Agent 添加 MCP,就可以使用。
{
"mcpServers": {
"analogy-vault": {
"command": "node",
"args": ["<mcp-server 所在目录>/dist/index.js"],
"env": { "ANALOGY_VAULT_PATH": "<你的 Obsidian vault 绝对路径>" }
}
}
}它会拿到相关的笔记片段、标题、文件路径和相似度,再把这些材料放进当前任务的上下文里。
Analogy 是我一直以来都想要做的产品。
即便他没什么人使用,我也是那最后一个用户。
Analogy 的想法萌发于我多年的知识管理经验。
把时间拉回到 2020 年,Zettelkasten 知识管理方法爆火。
Zettelkasten(卡片盒笔记法)是一种将知识拆分为原子化「永久笔记」的个人知识管理系统:阅读时先写临时笔记与文献笔记,再提炼成独立、可复用的卡片,并通过双向链接把卡片连接成网络,让思想在关联中自然生长,最终服务于写作与思考。
甚至有很多读者,
第一次认识潦草学者,
也是在少数派看到了我那篇被首页推荐的文章。
在过去的几年里,我写了很多篇文章,都是关于知识管理的。
回想起来 无论是 Zettelkasten 方法,还是 Obsidian 和 Roam Research 带火的双向笔记。
这些方法都是希望我们在记录笔记的同时,引发自己的思考,让新加入的笔记,和过去记录的笔记关联起来。
通过记忆增强笔记之间的链接。 新加入的知识,在和已经有的知识关联以后,变得更加容易理解,更加容易记忆。
美妙的语义搜索
而 AI 时代带来了语义搜索,也就是Embedding 技术带来了的语义搜索的功能。
在《The Semantic Hub Hypothesis: Language Models Share Semantic Representations Across Languages and Modalities》这篇论文中,作者提出并验证了一个假设:
大语言模型中心的内部,有一个语义中心,来自不同模态的信息,经过大语言模型处理后,都会到达这个语义中心,并在这个语义中心内进行运算」
也就是说,不同模态的内容,文字,图片,音频,视频,代码等等,在输入到大语言模型之后,都会共享一个语义中心。
- 输入中文的「你好」和英文的「hello」,在语义中心中的位置都是相似的。
- 输入代码
print(’hello world’)和文字 「打印‘你好,世界’」,在语义中心中的位置也是相似的。 - 输入数学公式 3x5 和 「三的五倍」,在语义中心中的位置也是相似的。
某种程度上说,我们可以把「语义搜索」看作为一种不需要维护的「双向链接」,通过笔记之间语义的相似性,就可以关联彼此。
此前传统双链,保存的是自己阅读过程中思考,并确认过的关系,他的印象会更深刻,但维护成本也会变得更高。而语义搜索实时生成一组可能相关的关系,则是摩擦力更低的选择。
前者很确定,维护成本也高。
后者带一点模糊,偶尔会搜出奇怪的东西,但这种奇怪有时反倒是灵感的来源。
而知识库就像冰山,大量隐藏的知识沉在表面之下。
那些"奇怪的东西",可能就是冰山下的隐藏知识。
写在最后
Analogy 就是我自己的需求开发的产品。
它不能替你思考,但会在你需要的时候,把你过去写下的东西推到你面前,启发你的思考。
双向链接帮我们建立了一些连接,但我没那么多时间给每条笔记想它该连向哪里。
而 Embedding 技术的出现,仿佛是技术对知识管理者的眷顾。
基于语义的搜索,仿佛就是这个链接最好的载体。
知识管理的终极目标,从来不是建立一个完美的分类系统,而是让写下来的东西,在需要时被看见,被调用。
而且 Agent 时代来临以后,
我又写了 Obsidian+ClaudeCode 的教程 和 用Kimi-K2+ClaudeCode做了条Agent流水线,节省90%的时间 | Subagent+Skills的最佳实践
如果你也想试试这种"记录即关联"的方式,可以安装 Analogy for Obsidian: 产品地址:https://community.obsidian.md/plugins/analogy-rag-in-your-vault
让你的知识库成为 Agent 最好的上下文。Analogy 也提供了让 Agent 调研的能力。
你和你的 Agent 都可以调用你的知识库。
如果你也在使用 Obsidian ,可以试试 Analogy:
产品地址:https://community.obsidian.md/plugins/analogy-rag-in-your-vault
或者在 Obsidian 中搜索 Analogy,就可以安装。
首次使用需要下载本地模型并建立索引。笔记多的话,初次索引会花一点时间。
目前产品的商业化模式是,2500 篇笔记以内免费,超过了可单次 $9.9 买断许可证。
评论区随机抽几个读者,赠送许可证,体验看看~
你现在的笔记系统维护成本高吗?
Analogy 搭配之前分享过的已经可以把知识管理的成本降得很低。
还有什么样的痛点,欢迎在评论区聊聊。
