从 2020 年开始使用 Obsidian 算起,到今天也已经快 5 年了,这个过程中我将过去将近 10 年的笔记,包括 Evernote,WizNote 中的笔记,豆瓣上的笔记全部转成了 Markdown 保存到了本地,后来陆陆续续使用的比如 [[Voicenotes]] 也都转成 Markdown 存如 Obsidian。虽然过去纪念陆陆续续在整理,但是实际上每天添加到笔记库中的内容要远多于要整理阅读的内容,笔记仓库也是越来越大,所以我越来越想使用一个工具可以帮助我真正地理解我写下的东西,并且在我想使用的时候能快速的找回。
现状是当我想要回溯笔记中的内容时,我使用 Obsidian 本地的搜索,非常快,能满足我 80% 的需求,但是往往有一些关键字,搜索出来的笔记条目非常多,这个时候我就会迷失在历史的笔记中。
而我突然想到,我几乎每天都在使用 Claude Code / Gemini CLI 这样基于命令行的工具来理解代码和生成代码,Obsidian 中的笔记何尝不是另外一种意义上的「Code」。Gemini CLI 拥有超大的上下文,他们本地检索的能力很强,文本生成的能力也很强,天然的适合作为 Obsidian 的辅助工具。

想要解决的问题
我在 Obsidian 中积累了大量的笔记,但需要借助外部的工具来:
- 信息过载与理解不足:笔记库日益庞大,新内容增长速度远超整理和理解的速度,导致很多宝贵的信息沉睡其中。我渴望一个工具能帮助我真正消化和理解这些内容。
- 传统搜索的局限性:Obsidian 的本地搜索虽然快速,但在面对特定关键词产生大量结果时,我常常会迷失在信息的海洋中,难以高效地找到真正需要的信息。传统的关键词匹配难以捕捉笔记间的深层语义关联。
- 知识检索效率低下:我希望能更智能、更迅速地从庞大的笔记库中找回所需的知识,而不仅仅是依靠简单的搜索匹配。
风险提醒
让 AI 介入重要的本地数据需要谨慎,建议实时备份 Obsidian 仓库,或在测试的仓库中运行无误之后再在主笔记库中配置。
什么是 Zettelkasten?
Zettelkasten(卡片盒笔记法)是由德国社会学家 Niklas Luhmann 发展出的一种知识管理方法。它的核心理念非常简单:一个笔记只记录一个想法(Atomic Note),并通过链接将这些笔记编织成一个巨大的知识网络。
根据 Obsidian 与 Gemini CLI 的实践分享,Zettelkasten 不仅仅是存储信息,更是为了产生新想法。其核心原则包括:
- 1 Note 1 Idea:保持笔记的原子性,便于复用和链接。
- 链接优于分类:通过双向链接(Links)而非文件夹层级来构建知识结构,模拟大脑的联想记忆。
- 永久笔记:用自己的语言重写,确保即使脱离原始语境也能被理解,逐步构建属于自己的长期资产。
它的好处是显而易见的:它强制你进行“思考”而非简单的“复制粘贴”,帮助你理清思路;随着时间的推移,这个笔记库会成为你的“第二大脑”,在你需要写作或输出时提供源源不断的灵感组合。
我的个人实践工作流
结合 Zettelkasten 的理念,我构建了一套适合自己的 Obsidian 工作流。对于我来说,整理的过程就是从笔记转换成知识的过程。
- 输入 (Input):我所有看过、读过的内容——无论是网页文章、电子书摘录还是播客笔记——都会第一时间进入 Obsidian。
- 加工 (Process):
- 默认情况下,所有的笔记都会进入
Zettelkasten目录。 - 我会在这里对笔记进行编辑、拆分和链接,尽量遵循原子化原则。
- 默认情况下,所有的笔记都会进入
- 输出 (Output):
在这个过程中,Gemini CLI 成为了我最得力的助手。它可以帮助我快速处理从“输入”到“加工”的繁琐环节,让我更专注于“思考”和“输出”。
为什么要使用 Gemini CLI ?
Obsidian 的核心优势之一是本地化和纯文本 (Markdown)。这意味着你的笔记本质上和一个软件项目的代码库(Codebase)没有区别。
作为一名开发者,我们习惯使用命令行工具(CLI)来管理代码、重构代码、搜索代码。既然笔记也是代码,为什么不能用同样的逻辑来处理它们呢?
使用 Gemini CLI (或者类似的 LLM CLI 工具) 有以下几个独特的优势:
- 超大上下文 (Context Window):Gemini Pro 等模型拥有百万级的 Token 上下文窗口。这意味着你可以一次性将几十甚至上百篇笔记“喂”给它,让它从中寻找联系、总结规律,而不仅仅是基于关键词的匹配。
- 语义理解与重构:传统的搜索只能告诉你“哪里出现了这个词”,而 LLM 可以告诉你“这段话是什么意思”。更进一步,你可以像重构代码一样重构笔记——“把这篇长文拆分成三个原子笔记,并自动生成双向链接”。
- 终端工作流:如果你习惯生活在 Terminal 中,不需要切换窗口就能查询笔记、写入灵感,这种流畅感是图形界面无法比拟的。
如何安装 Gemini CLI
详细的安装和配置教程可以参考我之前的文章 Google Gemini CLI 使用初体验。
简而言之,Gemini CLI 是一个基于 TypeScript 的开源项目,确保你的环境中安装了 Node.js 后,你可以通过以下方式快速开始。
推荐使用 npx 直接运行,这样可以让你永远体验最新的功能:
npx https://github.com/google-gemini/gemini-cli
或者,你也可以选择全局安装:
npm install -g @google/gemini-cli
实战场景
智能问答与回顾 (Chat with your Vault)
不再依赖僵硬的关键词搜索,而是直接向你的笔记提问,Gemini 会自动根据上下文推测来检索笔记内容。
示例:
gemini -p "读取 /Journal 目录下最近一周的日记,总结我这周的主要情绪变化和完成的关键任务"
或者:
gemini -p "基于我关于 '系统设计' 的所有笔记,帮我列出一个学习提纲,并指出我还缺失哪些知识点"
这种全局视角的总结,是传统笔记软件很难做到的。
笔记重构 (Refactoring)
当你的 Inbox 堆积了大量杂乱的随笔时,可以使用 CLI 快速整理。
示例:
gemini -p "读取 inbox/draft.md,整理它的格式,修复拼写错误,提取出 3 个核心观点,并生成 Tags"
你甚至可以要求它输出符合 Obsidian 语法的 Markdown,包括 [[WikiLinks]]。
寻找隐形连接
Obsidian 的图谱功能很酷,但有时太乱了。Gemini 可以帮你找到逻辑上的联系。
示例
gemini -p "对比 '哲学/斯多葛学派.md' 和 '心理学/CBT.md',找出它们在核心理念上的异同点"
使用小技巧
- 利用
.geminiignore:就像.gitignore一样,你肯定不希望 AI 去读取你的.git目录,或者巨大的附件文件夹assets/。配置好忽略文件可以加快速度并节省 Token。 - Prompt Engineering:
- 告诉它“你是一个 Obsidian 专家”。
- 明确要求输出格式:“请使用 Markdown 格式输出,关键词使用
[[链接]]包裹”。
- 结合 Shell 脚本:你可以写一个简单的 alias,例如
alias ask-notes='gemini --context ./KnowledgeBase',这样每次只需要输入ask-notes "问题"即可。 - 从小范围开始:不要一开始就尝试让它分析几千个文件。先从一个特定的主题文件夹开始尝试,建立信任感和 prompt 库。
最后
将 AI 引入个人知识库 (PKM) 是必然的趋势。虽然现在市面上有很多“AI 笔记软件”,但对于已经拥有成熟 Obsidian 工作流的用户来说,使用 CLI 工具是一种最轻量、最可控、也最 Geek 的升级方式。它不需要你迁移数据,不需要你改变存储格式,只是多了一个强大的“外脑”助手,随时待命。