用 Hermes + Obsidian 搭一个自动整理的 AI 笔记系统

笔记越记越乱?AI 来帮你理。


引言:你的笔记库是不是也变成了垃圾场?

说一个我自己的真实经历。

去年我开始认真做知识管理,Obsidian 里囤了 200 多篇笔记。论文摘要、会议纪要、灵感碎片、代码片段……什么都往里扔。结果三个月后,我自己都找不到当时记的东西了。

每次想回顾某个主题,我得在搜索框里输入关键词,然后对着一堆文件名猜哪个是我要的。更尴尬的是,有些笔记我根本不知道该叫它什么——内容我记得很清楚,但标题和标签?完全没印象。

这不就是典型的「记了等于没记」吗?

手动整理?试过。每周花两小时给笔记分类、打标签、写摘要。坚持了三周,放弃了。不是不想做,是这活儿太枯燥了,而且做得越久越发现,你永远整理不完。

直到我发现了 Hermes + Obsidian 这个组合。

简单说:让 AI 帮你自动分类笔记、生成摘要、打标签,你只管记,它帮你理。而且整个过程跑在你本地,笔记数据不离开你的电脑。

这篇文章,我把完整的搭建流程分享出来,从零开始,一步步带你搭好这个系统。


这套方案到底是什么?

先说清楚,这套系统由三个部分组成:

❶****Obsidian — 你的笔记库,本地优先的 Markdown 编辑器

❷****Hermes Agent — 一个开源的 AI Agent 框架,能读写文件、执行命令

❸****LLM Wiki — 基于 Karpathy 提出的 Wiki 模式,用 AI 自动组织知识的三层架构

把它们串起来之后,工作流大概是这样的:

你随手记笔记(Markdown)        ↓Hermes 定时扫描新的/修改过的笔记        ↓LLM 分析内容,自动分类、打标签、生成摘要        ↓笔记被归档到对应的目录        ↓Obsidian 的知识图谱自动更新,形成关联

整个过程不需要你做任何操作,笔记写完就放那儿,AI 会在后台帮你搞定。


为什么选 Obsidian?

市面上笔记工具那么多,Notion、Logseq、思源笔记……为什么我最后选了 Obsidian?

三个核心原因:

1. 数据完全在本地

Notion 虽然好用,但你的数据存在它的服务器上。哪天 Notion 服务挂了、涨价了、甚至倒闭了,你的笔记怎么办?

Obsidian 的数据就是你电脑上的 Markdown 文件。没有云服务依赖,没有数据锁定。你想迁移到任何工具都行,因为 Markdown 是通用格式。

2. Markdown 原生支持

Hermes Agent 处理 Markdown 文件非常方便——因为它本身就是基于文本的。你可以用 read_file 读取笔记内容,用 write_file 创建新笔记,用 search_files 搜索内容,用 patch 精确修改。

这意味着 AI 和你的笔记之间没有格式转换的障碍。

3. 插件生态 + 知识图谱

Obsidian 的插件生态是目前所有笔记工具里最强的。但更关键的是它的 Graph View——知识图谱视图。当你用 [[wikilinks]] 把笔记互相链接起来,Graph View 会自动可视化这些关联。

AI 帮你打标签、建立链接之后,打开 Graph View 就能看到知识网络的全貌。这种「看到知识在生长」的感觉,很上瘾。


Step 1:安装配置 Hermes

安装 Hermes

Hermes Agent 的安装很简单:

# macOS / Linuxcurl -fsSL https://hermes.nousresearch.com/install.sh | bash# 或者用 npmnpm install -g hermes-agent

安装完成后,运行初始化:

hermes init

这会在你的 home 目录下创建 ~/.hermes/ 配置目录。

配置 Obsidian 技能

Hermes 通过技能(skills)来扩展能力。Obsidian 技能是内置的,但你需要配置你的笔记库路径。

编辑 ~/.hermes/.env 文件:

# 指向你的 Obsidian vault 路径OBSIDIAN_VAULT_PATH=/Users/yourname/Documents/MyVault# 如果你不配置,默认是 ~/Documents/Obsidian Vault

如果你还没装 Obsidian,现在去装一个。下载地址:https://obsidian.md

装好之后创建一个 vault(笔记库),记下路径,填进配置里。

验证连接

配置好之后,我们可以测试一下能不能读到笔记:

hermes run '列出我的 Obsidian vault 里所有的 Markdown 笔记'

Hermes 会调用 search_files 工具,参数是 target:'files' 和 pattern:'*.md',然后返回所有笔记文件的路径列表。

如果你看到你的笔记文件列表被列出来了,说明连接成功。


Step 2:打通笔记库

接下来,我们要建立一个更高级的知识管理架构——LLM Wiki

这个概念来自 Andrej Karpathy 提出的「LLM as librarian」思路:让大语言模型充当你的图书管理员,自动把零散的笔记组织成结构化的知识库。

创建 Wiki 目录结构

在你的 Obsidian vault 里(或者单独一个目录),创建以下结构:

# 如果用独立的 wiki 目录mkdir -p ~/wiki/{raw/{articles,papers,transcripts,assets},entities,concepts,comparisons,queries}

目录说明:

|
目录
|
用途
|
| — | — |
| raw/articles |
原始文章,不做修改
|
| raw/papers |
论文原文
|
| raw/transcripts |
会议/播客转录
|
| raw/assets |
图片等附件
|
| entities |
实体笔记(人名、工具、公司等)
|
| concepts |
概念笔记(技术原理、方法论等)
|
| comparisons |
对比笔记(工具A vs 工具B)
|
| queries |
查询结果缓存
|

这就是经典的三层架构:原始素材 → 知识页面 → 元数据层

创建 SCHEMA.md

在 wiki 根目录创建 SCHEMA.md,这是整个知识库的「规矩」:

---domain: 个人知识管理tag_taxonomy:  - type: [entity, concept, comparison, query]  - topic: [AI, programming, productivity, tools]  - status: [draft, reviewed, archived]frontmatter_format:  - title  - tags  - created  - source  - summary---# Wiki Schema## 实体(Entities)独立存在的对象:人、工具、公司、项目等。## 概念(Concepts)抽象的知识单元:技术原理、方法论、模式等。## 对比(Comparisons)两个或多个实体/概念的对比分析。## 查询(Queries)特定问题的搜索和综合结果。

这个 SCHEMA.md 文件告诉 AI:你的知识库有哪些类型的内容,每个类型该用什么标签,frontmatter 该包含哪些字段。

Hermes 在处理笔记时会读取这个文件,确保输出符合你的规范。

把 Wiki 当成 Obsidian Vault

如果你把 ~/wiki 作为 Obsidian 的 vault 路径,那么 wiki 目录里的所有 Markdown 文件都会直接出现在 Obsidian 里。

配置 Obsidian 的附件文件夹指向 raw/assets/,这样图片等附件也会自动归到正确的位置。


Step 3:自动整理实战

终于到了核心部分——让 AI 自动帮你整理笔记。

场景一:自动分类和打标签

假设你刚写了一篇关于 RAG 技术的笔记,随手丢进了 vault。现在让 Hermes 帮你处理。

hermes run '  读取 ~/wiki/raw/articles/rag-notes.md 的内容,  分析这篇文章属于什么类型(entity/concept/comparison),  根据 SCHEMA.md 的规范,为它生成合适的标签,  在 frontmatter 中添加 tags、summary 字段,  然后把文件移动到对应的目录(entities/ 或 concepts/)'

Hermes 执行的步骤:

 用 read_file 读取笔记内容

 用 read_file 读取 SCHEMA.md,了解分类规范

 调用 LLM 分析内容,决定分类

 用 patch 修改 frontmatter,添加标签和摘要

 用 move_file 移动到正确目录

整个过程大概 10-20 秒,比你自己手动整理快多了。

场景二:自动生成摘要

对于长文章或论文,你可能希望 AI 生成一个简短的摘要放在开头:

hermes run '  读取 ~/wiki/raw/papers/transformer-attention.md,  生成一段 200 字以内的中文摘要,  用 patch 工具把摘要插入到文件开头的 frontmatter 中'

Hermes 会生成类似这样的 frontmatter:

---title:AttentionIsAllYouNeed笔记tags: [AI, transformer, attention, paper]created:2024-03-15source:https://arxiv.org/abs/1706.03762summary:Google2017年提出的Transformer架构,用自注意力机制替代RNN/LSTM,实现并行计算和长距离依赖建模,成为后续BERT、GPT等模型的基础架构。---

场景三:建立笔记间的链接

这是最有价值的功能——AI 自动发现笔记之间的关联,建立 [[wikilinks]]

hermes run '  扫描 ~/wiki/concepts/ 目录下所有笔记,  分析每篇笔记的内容,  找到笔记之间存在语义关联的地方,  在合适的位置插入 [[wikilinks]] 链接到相关笔记'

举个例子,一篇关于 RAG 的笔记可能被自动链接到:

  • [[向量数据库]](技术依赖)

  • [[LLM Prompt Engineering]](相关技术)

  • [[知识图谱 vs RAG]](对比笔记)

  • [[LangChain]](实现工具)

打开 Obsidian 的 Graph View,你会看到一张知识网络在慢慢生长。

场景四:批量处理存量笔记

如果你已经有大量笔记需要整理,可以写一个批处理 prompt:

hermes run '  扫描 ~/wiki/ 目录下所有 .md 文件,  筛选出没有 tags 字段的笔记,  逐个读取内容,分析类型,  为每篇笔记补充 frontmatter(tags、summary、type),  将它们移动到正确的子目录'

这个过程会花一些时间,取决于你的笔记数量。但你只需要跑一次,之后新笔记都会被自动处理。


进阶玩法

基础功能跑通之后,你还可以玩得更花。

定时任务:每天自动整理

Hermes 支持 cron 定时任务。你可以设置每天早上 9 点自动扫描和整理新笔记:

hermes cron create \  --prompt '扫描 ~/wiki/raw/ 目录,找到今天新增或修改的笔记,进行分类、打标签、生成摘要,移动到正确目录' \  --schedule '0 9 * * *'

这样你每天只管往 raw 目录里扔笔记,AI 会在你上班前帮你整理好。

自动归档:超过 30 天的笔记

hermes cron create \  --prompt '检查 ~/wiki/entities/ 和 ~/wiki/concepts/ 中超过 30 天未修改的笔记,在 frontmatter 中添加 status: archived 标签' \  --schedule '0 2 * * 0'  # 每周日凌晨 2 点执行

跨设备同步:obsidian-headless

如果你有多台设备(比如服务器 + 笔记本),可以用 obsidian-headless 实现同步:

# 在服务器上npm install -g obsidian-headlessob login --email your@email.com --password 'your-password'ob sync-create-remote --name "LLM Wiki"cd ~/wikiob sync-setup --vault "<vault-id>"ob sync --continuous

这样 Hermes 在服务器上处理笔记,你的笔记本和手机上的 Obsidian 会自动同步更新。

可以用 systemd 把 sync 进程跑在后台:

# /etc/systemd/system/obsidian-sync.service[Unit]Description=Obsidian Wiki Sync[Service]Type=simpleExecStart=/usr/local/bin/ob sync --continuousWorkingDirectory=/home/user/wiki[Install]WantedBy=multi-user.target

增强搜索:语义检索

普通的 Obsidian 搜索是关键词匹配。配合 Hermes 的 LLM 能力,你可以做语义搜索:

hermes run '  在 ~/wiki/ 目录下搜索与「如何让大模型处理长文本」相关的笔记,  不要只匹配关键词,要理解语义后返回最相关的结果'

Hermes 会用 search_files 的 target:'content' 模式搜索,然后用 LLM 对结果进行语义排序。


一些踩坑经验

在搭建这套系统的过程中,我踩了几个坑,提前告诉你:

1. LLM 的分类有时不准

AI 对笔记的分类不总是完美的,尤其是边界模糊的内容。建议定期人工抽查一下分类结果,根据实际情况调整 SCHEMA.md 的规范。

2. Wikilinks 会断链

如果你删除或重命名了一个笔记,其他笔记里的 [[wikilinks]] 会变成死链。Obsidian 有一个「断链检查」功能,定期用一下。Hermes 也可以帮你批量修复:

hermes run '  扫描 ~/wiki/ 下所有笔记,  找出所有 [[xxx]] 格式的链接,  检查 xxx 对应的文件是否存在,  列出所有断链'

3. 大文件处理要分段

如果单篇笔记特别长(比如完整的会议转录),直接丢给 LLM 可能会超出 token 限制。Hermes 内部会处理分段,但如果你发现摘要质量下降,可能是分段导致上下文丢失。解决方案是用 max_tokens 参数控制输出长度。

4. 成本考量

每次 AI 处理笔记都会调用 LLM API,是有成本的。粗略估算,处理一篇 2000 字的笔记大概消耗 (取决于你用的模型)。如果你每天处理篇,一个月大概3-9,完全可以接受。

但如果你用的是本地模型(比如 Ollama 跑的 Llama),那就是零成本。


写在最后

搭这套系统花了一个下午,但用了三个月之后,我可以很负责任地说:这是我今年做过最值的技术投入之一。

现在的体验是这样的:我随手记一些东西,不用管分类、不用管标签、不用管它放在哪个目录。Hermes 在后台默默帮我整理。第二天打开 Obsidian,所有笔记都在该在的位置,摘要写好了,标签打好了,和相关笔记的链接也建好了。

我不需要「整理笔记」这件事了。我只需要「记笔记」。

知识管理的本质不是整理,而是用的时候能找得到。AI 帮你解决了整理的问题,你就可以把精力完全放在「记」和「用」上。

这套方案不完美,AI 的分类偶尔会出错,链接偶尔会断,成本也不是零。但比起手动整理的痛苦,这些都不算什么。

如果你也被笔记管理折磨过,试试这个组合。不需要一次性搭好所有功能,先从最简单的「自动分类」开始,慢慢加。你会爱上这种笔记自己生长的感觉。


智元记 —— 让 AI 成为你的第二大脑。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐