Hermes Agent + LLM Wiki + Obsidian:让你的知识真正复利积累
你有没有过这样的经历:跟 AI 聊了一下午,它记住了你所有的项目细节、研究进展、踩过的坑……然后你关掉会话,第二天打开,它全忘了。RAG 能救吗?能,但每次提问它都从原始文档里重新翻一遍,知识从来没有真正 "长" 出来。
这篇文章介绍一套三者结合的方案:Hermes Agent(AI 管家)+ LLM Wiki(知识库模式)+ Obsidian(浏览界面),让知识真正复利积累——你只管喂来源,AI 负责整理维护,Obsidian 负责让你看得舒服。
一、一句话定位:谁是 IDE,谁是程序员,谁是代码库?
Karpathy 在他的 LLM Wiki gist 里用一句话概括了三者的关系:
"Obsidian is the IDE; the LLM is the programmer; the wiki is the codebase."
(Obsidian 是 IDE,LLM 是程序员,wiki 是代码库。)
| 组件 | 角色 | 一句话 |
|---|---|---|
| Hermes Agent | 知识库的"管家/程序员" | Nous Research 的自托管 AI 代理,自动抓取、整理、互链、维护 wiki |
| LLM Wiki | 知识库的"代码库" | Karpathy 提出的模式:由 LLM 增量维护的、用 [[wikilinks]] 互链的纯 markdown 知识库 |
| Obsidian | 知识库的"IDE" | 人类浏览、可视化、编辑 wiki 的前端界面(vault 直接打开 wiki 目录) |
你(人类)的职责:策展来源、引导分析、提出好问题、思考这一切意味着什么。
LLM 的职责:其余一切——抓取、摘要、交叉引用、建档、索引、维护一致性。
二、Hermes Agent:自托管的 AI 管家
Hermes Agent 是 Nous Research 开源的自托管 AI agent 框架,和 Claude Code、Codex 同类,但可以部署在你自己的服务器上——模型供应商支持 DeepSeek、Kimi、阿里 DashScope、GLM 等国内服务,在中国大陆部署完全可行。
它凭什么适合当 "知识库管家"?
2.1 持久记忆(Persistent Memory)
官方文档:"Hermes Agent has bounded, curated memory that persists across sessions."
- 记忆存在
~/.hermes/memories/的两个文件里: MEMORY.md— 代理的个人笔记(环境事实、约定、经验),上限 2200 字符USER.md— 用户画像(你的偏好、风格、期望),上限 1375 字符- 会话开始时作为快照注入系统提示,代理可以用
memory工具自行增删改
这意味着什么? 你告诉它 "我是这个 wiki 的维护者,约定见 SCHEMA.md",它会一直记得——不用每次重新自我介绍。
2.2 技能系统(Skills)
技能是按需加载的知识文档(progressive disclosure,渐进式披露),兼容 agentskills.io 开放标准:
hermes skills list # 列出已安装技能
hermes skills search QUERY # 搜索技能中心
hermes skills install ID # 安装技能
hermes skills publish PATH # 发布自己的技能
llm-wiki 和 obsidian 都是 Hermes 官方 bundled skills——开箱即用。
2.3 Cron 定时任务
# 每天定时摄入新论文进 wiki(llm-wiki + arxiv 两个技能协作)
hermes cron create "every 1d at 08:00" \
"Check arXiv for new papers on <主题>, ingest the interesting ones into the wiki" \
--skill llm-wiki --skill arxiv
# 每周一 lint 健康检查
hermes cron create "every monday 9am" "Lint the wiki and report issues" --skill llm-wiki
知识库在无人值守时自动生长。
2.4 多平台消息接入(Gateway)
Hermes 的 gateway 是单个后台进程,支持 20+ 平台:Telegram、Discord、Slack、WhatsApp、Signal、微信(Weixin)、企业微信(WeCom)、QQ、钉钉、飞书、Teams、LINE……
关键点:消息平台上的机器人拥有完整工具权限(含终端)——你可以直接在微信里对 Hermes 说 "把这篇论文收进 wiki",它在服务器上完成全部 ingest 工作。
2.5 自改进能力
- 技能累积:每次解决复杂问题,Hermes 可以把过程固化为技能文档,未来自动加载
- Curator:后台维护技能生命周期,自动归档闲置技能
- 记忆沉淀:经验写进 MEMORY.md,跨会话保留
三、LLM Wiki 模式:为什么它比 RAG 强?
3.1 核心思想:编译一次,持续更新
Karpathy 在 gist 里一针见血地指出 RAG 的问题:
"Most people's experience with LLMs and documents looks like RAG: you upload a collection of files, the LLM retrieves relevant chunks at query time... the LLM is rediscovering knowledge from scratch on every question. There's no accumulation."
(LLM 在每个问题上都从零重新发现知识,没有积累。)
LLM Wiki 的做法相反:加入新来源时,LLM 不只是建索引,而是真正阅读它、提取关键信息、整合进现有 wiki——更新实体页、修订主题摘要、标注新旧数据的矛盾、加强或挑战已有的综合结论。
"The wiki is a persistent, compounding artifact. The cross-references are already there. The contradictions have already been flagged. The synthesis already reflects everything you've read."
(wiki 是持久、复利积累的产物:交叉引用已就位,矛盾已标注,综合已反映你读过的一切。)
3.2 三层架构
wiki/
├── SCHEMA.md # 第3层:结构约定、标签体系、维护工作流
├── index.md # 内容目录:每页一行(wikilink + 摘要)
├── log.md # 时间线日志:append-only
├── raw/ # 第1层:不可变原始资料(articles/papers/transcripts/assets)
├── entities/ # 第2层:实体页(人/组织/产品/模型)
├── concepts/ # 第2层:概念/主题页
├── comparisons/ # 第2层:对比分析页
└── queries/ # 第2层:值得保留的查询结果
| 层 | 内容 | 谁拥有 |
|---|---|---|
| Raw sources | 原始资料合集(文章/论文/图片),不可变,LLM 只读不改 | 你 |
| The wiki | LLM 生成的 markdown 文件(摘要/实体页/概念页/综合结论) | LLM 写作,你阅读 |
| The schema | SCHEMA.md,告诉 LLM wiki 的结构和约定 | 你与 LLM 共同演化 |
Schema 是关键——"它让 LLM 成为守纪律的 wiki 维护者,而不是通用聊天机器人"。
3.3 两大导航文件
- index.md(内容导向):所有页面的目录,每页一行链接+摘要。LLM 回答查询时先读 index 找相关页。中等规模(约 100 来源、数百页)下无需 embedding 向量检索也能高效工作。
- log.md(时间线导向):append-only 的 ingest/query/lint 记录。可用
grep "^## \[" log.md | tail -5查看最近活动。
3.4 三大操作
- Ingest(摄入):丢新来源 → LLM 读 → 写摘要页 → 更新 index → 更新相关页面 → 记 log。单个来源可能触及 10-15 个页面(复利效应!)
- Query(查询):向 wiki 提问 → LLM 搜索、阅读、带引用综合回答 → 好答案归档回 wiki(comparisons/)
- Lint(体检):检查矛盾、过时主张、孤儿页、断链、缺页概念、缺失交叉引用
四、Obsidian:知识库的 IDE
4.1 Vault 直接打开 wiki 目录
wiki 就是一个 markdown 文件目录——"open it in Obsidian, VS Code, or any editor. No database, no special tooling required."(Karpathy 原话)在 Obsidian 里 "Open folder as vault" 选择 wiki 目录即可,零迁移成本。
4.2 Wikilinks 渲染
Obsidian 原生支持 [[wikilinks]] 格式,而且有个杀手级特性:链接到不存在的笔记时,Obsidian 会自动创建它——非常适合 LLM 生成 wiki 页面的工作流。文件重命名时 Obsidian 自动更新所有内部链接。
4.3 Graph View:看你的知识网络
Karpathy:"Obsidian's graph view is the best way to see the shape of your wiki — what's connected to what, which pages are hubs, which are orphans."
- 圆点 = 笔记,连线 = 内部链接,被引用越多节点越大(hubs 一目了然)
- "Orphans" 开关显示无链接的孤儿页——这正是 wiki lint 要找的!
4.4 Dataview:用 frontmatter 做动态查询
如果 LLM 给 wiki 页面加上 YAML frontmatter(tags、dates、sources),Dataview 插件就能实时生成动态表格:
TABLE tags, updated FROM "entities" WHERE contains(tags, "company")
TABLE created, sources FROM "concepts" SORT updated DESC
4.5 配套工具
- Obsidian Web Clipper(浏览器扩展):网页一键转 markdown,快速进入 raw 集合
- 附件目录:Settings → Files and links → 设为
raw/assets/ - wiki 本身是 git 仓库:免费获得版本历史、分支、协作
五、三者结合:知识复利的完整闭环
5.1 分工明确
| 职责 | 承担者 |
|---|---|
| 选择/整理来源、提问、引导方向 | 你(人类) |
| 抓取、摘要、交叉引用、建档、索引、维护 | Hermes Agent(LLM 程序员) |
| 浏览、可视化、手动编辑、评审 | Obsidian(IDE) |
| 存储编译后的知识 | LLM Wiki(代码库/持久知识层) |
5.2 RAG vs LLM Wiki
| 维度 | RAG | LLM Wiki |
|---|---|---|
| 每次查询 | 从原始文档重新检索分块 | 直接读已编译好的页面 |
| 积累 | 无——知识不沉淀 | 有——持续复利 |
| 交叉引用 | 每次现场找 | 已内嵌在 wikilinks 中 |
| 矛盾处理 | 每次重新发现 | 摄入时已标注 |
| 维护成本 | 低(但质量不增长) | 低(LLM 做书呆子式维护) |
"Humans abandon wikis because the maintenance burden grows faster than the value. LLMs don't get bored, don't forget to update a cross-reference, and can touch 15 files in one pass."
(人类放弃 wiki 是因为维护负担增长快于价值;LLM 不会无聊、不会忘记更新交叉引用、一次能改 15 个文件。)
5.3 Hermes 让闭环自动运转
- cron 定时 ingest:每天自动检查 RSS/arXiv,把新内容收进 wiki
- 多平台入口:微信/Telegram 里随手丢链接"收进 wiki"
- 持久记忆:每次会话自动带"你是 wiki 维护者"的上下文
- 查询即沉淀:好答案 filed 回 wiki,探索也复利
- lint 自动化:定时健康检查、矛盾标记、孤儿页清理
六、动手配置:10 分钟跑起来
6.1 确认两个官方技能
# 安装 Hermes(如直连受限,先配代理或国内镜像)
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
# 确认 obsidian 和 llm-wiki 技能已装
hermes skills list | grep -E "llm-wiki|obsidian"
# 缺失则安装
hermes skills install llm-wiki
hermes skills install obsidian
6.2 ⚠️ 关键配置:两个环境变量指向同一目录
这是最常见的坑——两个技能各自用不同的环境变量定位目录,缺省值不一样(~/wiki vs ~/Documents/Obsidian Vault),不配置的话它们根本不会指向同一个地方!
# 编辑 ~/.hermes/.env(用 hermes config env-path 查看实际路径)
WIKI_PATH=/home/user/wiki
OBSIDIAN_VAULT_PATH=/home/user/wiki
llm-wiki skill 的官方说明:"If using the Obsidian skill alongside this one, set OBSIDIAN_VAULT_PATH to the same directory as the wiki path."
改完 /reload 生效。
6.3 初始化 wiki
# 让 Hermes 按 llm-wiki skill 流程初始化(会创建 SCHEMA/index/log 并问你领域)
hermes chat -q "请用 llm-wiki skill 初始化我的 wiki,领域是:AI/ML 研究"
6.4 Obsidian 端设置
- Open folder as vault → 选择 wiki 目录
- 附件目录设为
raw/assets - 确认 "Use [[Wikilinks]]" 开启
- 安装 Dataview 插件
- 打开 Graph View,勾选 Orphans 发现孤儿页
6.5 日常使用
摄入:/skill llm-wiki,请摄入这篇论文:<URL>。原始资料存 raw/papers/,更新相关页面。
查询:基于 wiki 回答:X 和 Y 有什么区别?
体检:lint 一下 wiki
6.6 服务器场景(headless)
Hermes 跑在服务器上、Obsidian 在笔记本 / 手机上?
- 方式 A:obsidian-headless(Node.js CLI)把服务器 wiki 与 Obsidian Sync 云端 vault 同步
- 方式 B:wiki 目录就是 git 仓库,服务器提交、本地拉取
- 方式 C:Syncthing / NextCloud 同步 ~/wiki
七、注意事项(避坑)
- raw/ 目录不可变:LLM 只读不写,修正只发生在 wiki 页面层
- 先定向再动手:llm-wiki skill 强制先读 SCHEMA + index + log,防止重复建页
- frontmatter 必填:title / created / updated / type / tags / sources——支撑 Dataview 查询与过期检测
- 标签必须来自 SCHEMA 的 taxonomy:新标签先加进 SCHEMA 再用,防止标签蔓延
- WIKI_PATH / OBSIDIAN_VAULT_PATH 是 skill 约定变量,不是 Hermes 核心配置项——很多人在这里栽跟头
八、适用场景
- 个人:目标、健康、心理、自我提升的长期记录
- 研究:数周/数月深入一个主题,构建不断演化的综合 wiki
- 读书:边读边建档,人物/主题/情节线页面互链
- 团队/商业:会议记录、项目文档、客户通话喂给 LLM 维护的内部 wiki
- 竞品分析、尽职调查、旅行规划、课程笔记、爱好深潜……
参考链接
- Hermes Agent 官方文档:https://hermes-agent.nousresearch.com/docs
- Karpathy LLM Wiki gist:https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f
- Obsidian Help(Internal links / Graph view):https://help.obsidian.md/
- Dataview 官方文档:https://blacksmithgu.github.io/obsidian-dataview/
一句话总结:让 Hermes 当书呆子管理员,让 wiki 当你的第二大脑,让 Obsidian 当大脑的显示器——而你要做的,只是不断往里面丢有意思的东西。
