我把 Hermes 接进 Obsidian 跑了一周"全自动":官方 skill + 插件,笔记库真的活了过来

一周前,我把 Hermes Agent 正式“接进”了我的 Obsidian 笔记库,立了个 flag:接下来一周所有笔记工作都交给它自动跑。一周后的结果有点出乎意料——不是它帮我省了多少时间,而是我的笔记库第一次像“活”的一样:早上醒来晨报已经写好,收件箱每晚自动清空,最神奇的是那个自动画出的语义连接图,把我自己都没意识到的笔记关联摆在了眼前。这篇文章是这一周的完整记录,包括官方真实的两条接入路径——顺便说一句,中文社区流传的 hermes memory setup --provider obsidian 这条命令并不存在,别照着抄。
官方真实的两条路径
路径 A:官方内置 obsidian skill(读写笔记)
Hermes 官方自带一个 obsidian 技能(note-taking 类别,作者 Teknium)。它把 Obsidian 笔记库当作文件系统优先的工作区:读笔记、列笔记、全文搜索、新建笔记、追加内容、定向修改、加 wikilink,全部用官方文件工具完成,而不是绕道 MCP。
- 笔记库路径通过
OBSIDIAN_VAULT_PATH环境变量约定(未设置时默认~/Documents/Obsidian Vault); - 路径含空格也没问题(文件工具天然处理);
- 新建笔记时用
[[Note Name]]语法互相链接——这是 Obsidian 的灵魂,skill 也把它当规矩。
用法一句话:在 .env 里配好 OBSIDIAN_VAULT_PATH,然后直接对 Hermes 说“读我今天的日记”或“把这段内容存成笔记并链接到相关主题”。
路径 B:Obsidian 社区插件(把 vault 变成工作目录)
比 skill 更进一步的是社区插件 Hermes Agent(jsun2020/hermes-agent-obsidian-plugin,MIT)。它让 Obsidian 变成 Hermes 的前端:
- 侧边栏多标签聊天:对话面板直接嵌在 Obsidian 里,走 gateway 的 Runs 传输(带工具/推理事件流),老的 Chat Completions 兜底;
- 上下文一键附加:把当前笔记或选中的文字直接发给 Hermes,不用复制粘贴;
- vault 作为工作目录:设置一个工作文件夹后,agent 可以在你的笔记库上真正读写、搜索、跑多步工作流——这是“自动跑一周”的核心;
- Smart Graph(语义连接图):让 Hermes 通读笔记摘要,找出语义层面的关联(共同主题、一个笔记阐述另一个、前提/依赖、矛盾),画成可交互的力导向图——Obsidian 原生 Graph View 只认识显式
[[wikilink]],它连“你觉得有关但没写链接”的都找出来。分析结果缓存,重开还在。
认证用的是 gateway 的 API_SERVER_KEY(Hermes Desktop 自动生成,在 ~/.hermes/.env 里)。安装推荐用 BRAT 社区插件拉取,也可以手动下载 main.js/manifest.json/styles.css 三件套。
一周实测流水账
- 每天早上 6:30:cron 定时任务触发,Hermes 读昨天的日记和所有项目的
overview.md,把“今天最重要的事 + 每个项目一句话状态 + 没处理完的开放循环”写进04 - HERMES-OUTPUTS/briefings/——醒来五分钟读完,比刷新闻有用。 - 每天晚上 20:00:收件箱处理器把
00 - INBOX/里随手扔的东西分类归档,每条新建的永久笔记强制至少有一条 wikilink,没有连接的笔记不配进永久区——一周下来 INBOX 从来没积压过。 - 随时:看到好文章直接选中发进侧边栏聊天,“读一下并提炼成文献笔记”,回写时自动带来源和连接。
- 周末惊喜:跑了一次 Smart Graph,它把三个月前一篇关于“写作流程”的笔记和这周的项目笔记连了起来——我完全没意识到这两件事相关。这个连接直接促成了我下一篇文章的选题。
实测遇到的坑(诚实记录)
- Codex / gpt-5.5 沙箱只读:用 OpenAI-Codex 系模型时,agent 跑在只读沙箱里,读 vault 路径会被拒绝(“two read-only permission requests were rejected”)。解法:在
~/.codex/config.toml里把sandbox_mode改成workspace-write并把 vault 加进[sandbox_workspace_write].writable_roots,然后重启 Hermes Desktop(gateway 启动时加载配置)。Windows 锁定环境可能还要danger-full-access(沙箱起不来时)。 - TUI 不是 gateway:插件连的是 HTTP gateway(默认
127.0.0.1:8642),光开 TUI 聊天是不够的——hermes gateway或 Hermes Desktop 得在跑。 - 命名 profile 换端口:多个命名 profile 时 gateway 端口是 8643–8742,插件里改 base URL 即可。
- 不要用杜撰命令:
hermes memory setup --provider obsidian在官方源码里不存在——Obsidian 不是 memory provider,它是 skill + 插件的工作区。
快速开始(两条路)
# 路径 A:官方 skill(读写笔记)
echo "OBSIDIAN_VAULT_PATH=$HOME/Documents/Obsidian Vault" >> ~/.hermes/.env
# 然后在对话里:/skill obsidian 或直接说"用 obsidian skill 读我的日记"
# 路径 B:插件(把 vault 变成工作目录)
# 1. Obsidian 里装 BRAT → 添加 https://github.com/jsun2020/hermes-agent-obsidian-plugin
# 2. 设置里填 gateway URL(默认 http://127.0.0.1:8642)+ API_SERVER_KEY
# 3. 点 Test connection,通过后打开侧边栏聊天
定时部分(晨报/收件箱)用 Hermes cron 编排,完整玩法见《cron 自动化完全指南》。多 profile 隔离笔记库可以看《一台机器跑多个独立实例》。更早的《把对话自动变成笔记》讲的是单向捕获流水线,这篇是双向工作区——两篇互补。
总结
一周“全自动”跑下来,我最深的感受是:Obsidian 和 Hermes 是天生一对——Obsidian 提供人类可读、永久、可链接的知识层,Hermes 提供会思考、会记忆、会定时执行的大脑层。官方 skill 管读写,社区插件管双向协作和语义发现,cron 管定时。别被中文社区那些杜撰命令带偏,按官方两条路径走,你的笔记库也会在一个星期内“活”过来。