Obsidian + Hermes + LLM Wiki 实践指南

折腾知识管理也有好几年了。从 Evernote 到 Notion,从 Roam Research 到 Obsidian,工具换了一圈,但核心问题一直没解决。

什么核心问题呢?就是你记下来的东西,过两个月你自己都忘了。

笔记越积越多,但你跟这些笔记之间的关系,就像图书馆管理员跟藏书一样——东西都在那儿,但你不进去翻就想不起来。

直到我搞了 Hermes + LLM Wiki 这套东西,才算真正找到了解法。

一句话概括这套东西

Obsidian 是 IDE,LLM 是程序员,Wiki 是代码库。

你扔进去原始资料,LLM 帮你消化、提炼、建立关联,输出结构化的 wiki 页面。知识不是堆在那儿等你翻,而是被 LLM 持续维护、不断生长的。

跟传统的 RAG 不一样。RAG 是每次查询从头检索,从头拼答案。LLM Wiki 是增量构建、持久维护。知识不断积累,而不是每次都重新发现。

三层架构

层级 用途 访问规则
Raw Sources 原始资料存储 LLM 只读,不可变
Wiki Pages 知识摘要和关联 LLM 自动维护
Schema 工作规则和规范 LLM 遵循的指令

Raw 层是原料仓库。你扔进去的文章、论文、视频转录,全在这儿。LLM 只能读不能改,保证原始资料不变质。

Wiki 层是 LLM 的产出。摘要、关联、概念页、分析页,都是 LLM 自动创建和维护的。你不用手动整理,LLM 会自己把知识网络织起来。

Schema 层是规则。告诉 LLM 该怎么干活,链接格式是什么、frontmatter 怎么填、什么时候该创建新页面。详见 [[LLM Wiki 三层架构]]。

为什么是 Hermes

你可能问,用 ChatGPT 或者 Claude 网页版不行吗?为啥非得搞个本地的 Hermes?

答案是能力边界不一样。

能力 云端 LLM Hermes(本地)
直接文件访问 ❌ 得复制粘贴 ✅ 直接读写 Obsidian Vault
浏览器自动化 ✅ 抓取网页、验证链接
终端执行 ✅ 跑脚本、搜索文件、定时任务
持久记忆 ❌ 每次从头来 ✅ 记住用户偏好和项目约定
多代理协作 ✅ spawn 子代理并行处理

最关键的是直接文件访问。你想想看,你要整理 50 篇文章的知识到 wiki 里,用云端 LLM,你得一篇一篇复制进去,再把输出复制回来。Hermes 直接读写 Vault 里的文件,效率高了一个量级。

三个核心操作

Ingest(摄入资料)

你往 raw/ 里扔了一篇新文章,告诉 Hermes 处理它。Hermes 会做五件事

  1. 获取内容(YouTube、B 站、网页链接)
  2. 提取文本(转录、抓取、OCR)
  3. 结构化(分章节、提取关键观点)
  4. 存入 raw/(保存原始内容 + 元数据)
  5. Ingest(创建/更新 wiki 页面)

这里有个关键原则。每次 ingest 不只是创建一个摘要页面就完了,Hermes 会同时更新 index.md、更新相关的概念页和实体页、发现孤立页面、识别需要新建的页面。一次 ingest 可能更新 10-15 个 wiki 页面。

这个设计思路我是真的觉得很好。知识不是孤立的,一篇文章可能涉及到好几个已有的概念,LLM 会自动建立关联。

Query(查询)

向 Wiki 提问。Hermes 先读 wiki/index.md 找到相关页面,综合已有知识给你回答。好的回答会存成新的 wiki 页面,记录到 wiki/log.md

这就像你有个私人研究助手,它读过你所有的笔记,你问什么它都能基于你的知识库来回答。

Lint(健康检查)

定期给 Wiki 做体检

  • 查找页面间的矛盾
  • 标记被新资料推翻的旧主张
  • 发现孤立页面(没有入链的)
  • 识别被提及但还没有独立页面的概念

这个功能很多人会忽略,但我建议定期跑一下。知识库用久了,总会积累一些不一致的地方。

支持的内容平台

平台 状态 工具
YouTube youtube-content
博客/RSS blogwatcher
学术论文 arxiv
通用网页 浏览器工具
B 站 🚧 需创建技能
微信公众号 🚧 需创建技能
小红书 🚧 需创建技能

国内平台的技能还缺一些,B 站和微信公众号是最常用的两个来源,目前需要自己创建技能来处理。这块我也在摸索,等有成果了再分享。

多 LLM 协作

这套系统支持多个 LLM 一起维护 Wiki

LLM 特点
Claude 原始 Schema 定义者
Hermes 本地运行,功能全面
Codex 代码专用

所有 LLM 都遵循同一套 Schema 规则,保证输出格式一致。这意味着你可以用不同的 LLM 来处理不同类型的任务,wiki 的质量不会因为是不同 LLM 写的就参差不齐。

详见 [[多 LLM 协作]]。

最佳实践

应该做的

  • raw/ 是不可变的,LLM 只读不写
  • 每次 ingest 要更新多个相关页面,不要只创建一个摘要
  • 保持 index.md 最新,它是导航核心
  • log.md 永远追加,从不修改
  • 矛盾要标注,保留双方观点

避免做的

  • 不要手动修改 wiki/ 下的页面,让 LLM 统一管理
  • 不要删除 log.md 的记录,那是操作审计
  • 不要跳过 index.md 更新
  • 不要用 title 猜测文件名,写链接前先用 ls 确认