用 Hermes + Obsidian 搭一个自动整理的 AI 笔记系统
用 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 成为你的第二大脑。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)