1. 为什么收藏夹越攒越乱,Hermes+Obsidian 本地知识库到底解决什么问题
不知道你有没有这种体验:刷到一篇讲 Agent 架构的好文,顺手收藏;公众号看到一段提示词技巧,再收藏;抖音刷到一个讲 RAG 落地的视频,还是收藏。半年后想找「那个讲向量检索分块策略的」,先回忆是哪个平台,再一个个点开翻封面,翻到第三屏就放弃了。
问题不在于你收藏得太多,而在于收藏这个动作本身只完成了「搬运」,没有完成「消化」。平台收藏夹是一个只进不出的黑洞,它不会告诉你两条收藏之间有什么关系,也不会在你只记得一个模糊概念时把东西递到你面前。
我这次要交付的方案,是用 Hermes Agent 加 Obsidian 搭一套跑在自己电脑上的本地知识库。Hermes 内置了一个叫 llm-wiki 的知识库 Skill,它天生会按一套规范操作知识库:提取实体、建立概念页、维护双向链接、生成索引。Obsidian 负责把这些 Markdown 笔记以图谱形式呈现出来,让你能顺着链接一路逛下去。
这里必须先把一个概念说清楚,免得你误以为这就是 RAG。RAG 的工作方式是每次提问时临时去翻原始文档,捞出相关片段拼一个答案,提问结束什么都不留下。而 Hermes+Obsidian 这套是让 AI 先把内容消化一遍,提取关键实体和核心概念,把内容之间的关系存成结构化笔记,落到你本地磁盘上。下次你问相关问题,AI 直接读笔记给你找出来,而不是从原始文档里临时拼凑。前者是每次重新检索,后者是持续积累。
适合谁:经常跨平台收藏、写东西需要反复调用旧素材、想给自己的 AI 助手接一条长期记忆链路的人。不适合谁:只想找个网盘存文件、不打算让 AI 参与整理的人。
整条链路里有一个容易被忽略的环节——模型通道。Hermes 要调用大模型来提取实体、生成笔记,如果你每个模型都单独配一套 Key,环境变量会乱成一团。我用 TaoToken 的统一 Key 把模型调用收敛到一个入口,Base URL 和 Key 填一次,后面换模型只改 Model ID。下面从安装开始,一步步走完。
2. 安装 Obsidian 与 Hermes Agent:仓库路径、WSL 环境与 hermes setup 配置项
先装 Obsidian。它是一个免费的本地笔记工具,跨 Windows、Mac、Linux,核心能力是双向链接:你在笔记里输入[[transformer]],它就自动变成一个链接,点进去就是那篇笔记。你不需要手动维护关系,Obsidian 帮你做。
打开 Obsidian 官网下载对应安装包。Windows 端安装包大概 280M 左右,双击 exe,选安装路径(C 盘紧张就换盘),点安装,没有一堆「下一步」。装完打开,会让你新建或打开一个仓库(Vault),通俗讲就是选一个文件夹存放你的收藏笔记。第一次用就点「创建」,起个仓库名,比如Hermes_Bookmarks,再点「浏览」选一个路径,比如F:\Ai\Hermes_Bookmarks。名称和路径设好后点最下方「创建」,进入 Obsidian 界面,刚进来是一页白纸,先放着。
接着装 Hermes Agent。它内置 llm-wiki 知识库 Skill,出厂就能按规范整理文档、加双向链接、维护索引,你不需要教它怎么提取实体。
Windows 上 Hermes 官方推荐装进 WSL。按Win + R,输入cmd回车,在命令行里输入wsl回车进入 WSL。如果你还没装过 WSL,先按Win键搜索powershell,右键「以管理员身份运行」,把下面这行粘进去回车:
wsl --install它会自动下载 Ubuntu,装完让你创建 Linux 用户名和密码。注意输密码时屏幕不显示任何字符,正常打就行,打完回车。重启电脑后 WSL 就绪。
回到 WSL 窗口,输入 Hermes 安装指令:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash会看到一堆下载进度条滚过,大概一两分钟,最后显示Hermes Agent installed successfully就装好了。装完关掉当前 WSL 窗口,重新开一个新的(重新打开命令提示符输入wsl),这一步是为了让hermes命令生效。
在新窗口里输入:
hermes setup它会问你几个问题。选模型供应商时用方向键上下选、回车确认。这里就是接入 TaoToken 统一 Key 的位置——TaoToken 提供 OpenAI 兼容的 API 通道,Base URL 填https://taotoken.net/api,Key 填你在 TaoToken 控制台创建的 Key,Model ID 按你要用的模型填。配置项大致对应:
| 配置项 | 填写内容 |
|---|---|
| Provider | OpenAI Compatible / Custom |
| Base URL | https://taotoken.net/api |
| API Key | 你在 TaoToken 控制台创建的 Key |
| Model ID | 例如deepseek-chat、claude-sonnet-4-5等 |
其他选项全部回车用默认值。配置完输入hermes,能看到欢迎界面就说明装好了。如果你电脑配置高、想跑本地模型,那是另一条路线,这里不展开。
3. 可复制配置:告诉 Hermes 知识库路径、写入规则与 .env 环境文件
装好之后第一件事,是告诉 Hermes 你的知识库目录在哪,以及什么情况下才允许它动这个目录。复制第一步创建的仓库路径,比如F:\Ai\Hermes_Bookmarks,在 WSL 里对应/mnt/f/Ai/Hermes_Bookmarks。把下面这段规则发给 Hermes:
我的知识库目录是 /mnt/f/Ai/Hermes_Bookmarks 规则: 1. 只有我明确说"写入知识库"时,才可以写入知识库。 2. 只有我明确说"结合知识库"时,才先检索知识库再回答。 3. 所有知识页使用 Markdown 和 [[双向链接]]。 4. 使用 LLM Wiki 文件结构管理知识库。这四条规则是整个系统不跑偏的关键。第一条防止它把闲聊也塞进知识库,第二条保证普通对话不会去翻你的笔记,第三条统一笔记格式,第四条让它按 llm-wiki 的目录规范来组织。
接下来处理多模态辅助模型。Hermes 主对话走的是你在 setup 里配的模型,但如果收藏内容里有图片,而主模型不支持多模态,识别会失败。最省事的做法是换一个支持多模态的主模型;如果不想换,就加一个辅助模型专门做 vision 任务。
去 OpenRouter 注册后新建一个 Key,然后有两种写入方式。第一种直接发给 Hermes,让它帮你写进环境配置文件。第二种手动改,配置文件路径是:
\\wsl.localhost\Ubuntu\home\你的用户名\.hermes\.env在资源管理器地址栏粘贴这个路径,把「你的用户名」换成你的 Linux 用户名。如果看不到.env文件,在资源管理器「查看」里勾上「隐藏的项目」和「文件扩展名」。用记事本或 VS Code 打开.env,在末尾追加:
OPENROUTER_API_KEY=sk-or-v1-xxxxxxxx保存即可。Hermes 会自动用它调用免费 vision 模型完成图片识别,主对话仍然走你配的模型,互不影响。
如果你想把模型通道也统一到 TaoToken,.env里对应的变量可以这样写(变量名以 Hermes 实际读取的为准,下面是对照示例):
OPENAI_API_BASE=https://taotoken.net/api OPENAI_API_KEY=你的TaoTokenKey OPENAI_MODEL=deepseek-chat这里三件套必须齐全:Base URL 是https://taotoken.net/api,Key 是 TaoToken 控制台创建的 Key,Model ID 按你要用的模型填。少任何一项,请求都会失败。改完.env后重启 Hermes 让配置生效。
4. 三步验证:写入一条笔记、触发 AI 检索、确认返回命中本地内容
配置完不要急着灌内容,先用三步验证链路是通的。
第一步,写入一条笔记。在 Hermes 里发一条测试内容,比如一段关于「向量数据库分块策略」的笔记,然后说「把这个写入知识库」。Hermes 会调用 llm-wiki Skill,提取实体和概念,在你的知识库目录下生成 Markdown 文件。写入完成后,打开 Obsidian,把wiki/目录拖进去当 Vault 用,你会看到 Graph View 里出现了节点和连线。深色实心点是主笔记,虚的小点是 AI 分解出的概念或分支,后续收藏会不断补齐它们。
第二步,触发 AI 检索。退出 Hermes 再重新进入(模拟真实使用场景),发一句「结合知识库,我之前收藏的内容里,关于向量检索分块有哪些核心观点?」注意必须带「结合知识库」这个触发词,否则 Hermes 会当普通对话处理,不去翻笔记。
第三步,确认返回结果命中本地内容。Hermes 会去知识库检索相关页面,整合后给出回答,并标注来源。如果它准确引用了你刚写入的那条笔记里的概念,说明整条链路——写入、索引、检索、返回——全部打通。我实测下来,模糊召回一条只记得大概的收藏,0.8 秒就返回了结果。
再补一个视频收藏的测试:把一条抖音收藏的内容发给 Hermes,说「写入知识库」。如果内容里有图片或视频封面,辅助模型会参与识别。写入后回到 Obsidian,能看到这条收藏的实体页和它关联到的已有概念页连上了线。这就是这套系统比普通收藏夹强的地方——新内容会自动挂到已有知识网络上,而不是孤立地躺在某个文件夹里。
5. 常见报错排查:401、local proxy failed、reading choices、OAuth 与模型 ID 不匹配
链路跑通之前,大概率会撞上几个报错。下面是我踩过的坑和对应处理。
401 Unauthorized。最常见的原因是 Key 填错或没生效。检查.env里的OPENAI_API_KEY是不是 TaoToken 控制台创建的 Key,有没有多余空格或换行。如果你在hermes setup里配过一次、又在.env里配了一次,以.env为准,改完重启 Hermes。另外确认 Base URL 是https://taotoken.net/api,末尾不要多加/v1之类的路径,除非文档明确要求。
local proxy failed。这个报错通常出现在 Hermes 尝试走本地代理端口但端口没起来,或者环境变量里残留了旧的代理配置。检查.env和 shell 配置里有没有HTTP_PROXY、HTTPS_PROXY这类变量,有就清掉。Hermes 直连 TaoToken 的 API 通道即可,不需要额外代理层。
Error reading choices / choices 字段为空。这多半是返回体结构和你预期的格式不一致,常见于 Model ID 填错——比如填了一个 TaoToken 通道不支持的模型名,接口返回了错误结构而不是标准的 choices 数组。对照 TaoToken 文档里的模型列表,确认 Model ID 拼写正确。三件套里 Base URL、Key、Model ID 任何一个不对,都可能触发这个报错。
OAuth 相关报错。如果你在配置里选了需要 OAuth 的供应商但没完成授权流程,会卡在这一步。用 TaoToken 统一 Key 的好处就是走标准 API Key 鉴权,不涉及 OAuth 跳转,直接填 Key 即可。如果之前配过 OAuth 供应商,在hermes setup里重新选 OpenAI Compatible 并填 TaoToken 的 Base URL 和 Key。
写入知识库但 Obsidian 看不到变化。检查你拖进 Obsidian 的目录是不是 Hermes 实际写入的wiki/目录。WSL 里的路径/mnt/f/Ai/Hermes_Bookmarks对应 Windows 的F:\Ai\Hermes_Bookmarks,在 Obsidian 里打开仓库时要选对。另外 Obsidian 有时需要手动刷新文件树,切一下标签页或重启 Obsidian。
图片识别失败。主模型不支持多模态时,确认.env里的OPENROUTER_API_KEY已填且有效。如果还是失败,直接换一个支持多模态的主模型,比配辅助模型省事。
排查顺序建议:先确认三件套(Base URL、Key、Model ID),再看.env有没有残留代理变量,最后看知识库路径对不对。大部分报错都出在前两步。
6. 把 TaoToken 统一 Key 接进长期记忆链路:模型对话、Coding Plan 与接入文档
链路跑通之后,你会发现 Hermes 每次提取实体、生成笔记、做模糊召回,背后都是一次模型调用。如果每个模型单独配 Key,环境变量会越来越乱,换模型时还要改多处配置。用 TaoToken 的统一 Key,Base URL 和 Key 填一次,换模型只改 Model ID,这对长期维护知识库很重要。
具体怎么接:
想先验证模型通道是否正常,打开模型对话页面发一条测试消息,确认 Base URL 和 Key 生效:https://taotoken.net/models?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=model_chat
如果你打算长期用 Hermes 做编码类 Agent 任务,或者知识库里要处理大量代码片段,可以看 Coding Plan:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=coding_plan
Key 的创建和管理在控制台:https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=console
API Key 单独管理页:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=api_keys
完整的接入参数和字段说明看文档:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=doc
如果你用的是 Claude Code 这类工具,Anthropic 兼容通道的配置参考:https://taotoken.net/claudecode-anthropic?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=claudecode_anthropic
回到知识库本身。这套系统帮你省掉的是机械劳动——提取、分类、建链接、维护索引,但阅读和消化的功夫还是你的。Hermes 把收藏整理好、链接好、索引好,Obsidian 让你能顺着图谱逛下去,但真正把知识变成自己的,还是得你去读、去关联、去想、去用。AI 干它擅长的,你干你擅长的,这才是比较健康的分工。
最后留一个实用技巧:知识库是长期工程,别指望一次灌完。你可以搭一个线上 Hermes 接微信机器人,随时随地让 Hermes 帮你记录;也可以批量导出收藏让 Hermes 录入;还可以把收藏整理到云端文档再发给它。路径千千万,关键是先跑通一条,然后持续往里灌。