把 Obsidian 作为 OpenClaw Agent 的外部 Context

Posted by Loscoy on 2026-03-03
Estimated Reading Time 4 Minutes
Words 1.3k In Total
Viewed Times

最近我在优化我的 OpenClaw Agent 工作流时,撞上了一个很典型的痛点:AI 总是缺乏“我”的深度上下文。

虽然 OpenClaw 自带了记忆系统(Memory),能记住我刚才说了什么,但当我问起“去年那个项目的技术路线是怎么决定的?”或者“我这周的日常任务清单里还有什么遗漏?”时,它还是会卡壳。

我不想为了 AI 额外再去维护一套所谓的“记忆数据库”。既然我所有的日常任务、技术文档和工作记录都在 Obsidian 里,为什么不直接把 Obsidian 作为它的外部 Context?


为什么要用 Obsidian 做外部 Context?

  1. 零成本同步:我的 Obsidian 库本来就是文件夹。Agent 直接读文件,我不需要额外同步任何数据到第三方数据库。
  2. 结构化关联:Obsidian 的 [[双链]]#标签 已经帮我把知识建模好了。Agent 只要能读懂这些关联,它就具备了比普通向量检索更强的推理能力。
  3. 隐私完全受控:数据始终在本地硬盘,OpenClaw 也在本地,这比把个人文档传给在线 RAG 服务要安全得多。

实战:如何让 OpenClaw “无感”接入 Obsidian

在 OpenClaw 的生态里,已经有现成的 Obsidian 相关 Skills 可用。作为开发者,我们不需要从头写代码去解析文件,最核心的工作是配置正确的工具并更新 Agent 的策略(AGENTS.md

1. 挑选与安装 Skills

提示:如果你在 OpenClaw 的 Onboarding(初始化引导)流程中已经安装了 Obsidian 这个 Skill,可以跳过当前步骤。

你可以直接前往 kepano/obsidian-skills/skills 目录下查看现有的技能。针对 Obsidian 的接入,我推荐以下组合:

  • 核心能力(必需)
    安装 obsidian-markdown。这是最核心的技能,它让 Agent 具备了读取和解析你 Obsidian 中 Markdown 文件的基础能力。

  • 操作增强
    如果你需要通过命令行进行更复杂的操作,可以安装 obsidian-cli(如果你的 OpenClaw 是安装在 VPS 上的,可以跳过这一步)。

安装通常只需要在 OpenClaw 终端运行:
clawdhub install obsidian-markdown

2. 更新 AGENTS.md:建立“调用直觉”

这是最关键的一步。如果不更新策略,Agent 永远只会基于它的大模型权重“盲猜”。

我在我的 AGENTS.md 中增加了这样一段逻辑,强制它在特定场景下查阅本地库:

1
2
3
4
5
6
## 外部 Context 调用准则 (Obsidian)
- Obsidian 目录:~/xxx/xxx (填写你的真实目录路径)
- 当用户询问涉及“历史决策”、“项目背景”或“个人任务”时,禁止直接回答。
- **强制动作**:首先调用 obsidian-markdown 相关技能搜索 Vault 目录。
- **扩展逻辑**:如果搜索结果中包含 `[[双链]]`,请至少沿着链接追溯一层相关笔记。
- **输出规范**:在回答的末尾,必须以 `[Source: path/to/note.md]` 的形式注明来源,方便我回溯核验。

3. 从检索到洞察

接入后,最大的收益不是简单的“查到”,而是 Agent 开始具备了感知我任务状态的能力。

比如我问:“我这周还有什么没处理的任务?”
Agent 会通过 obsidian-markdown 去读我的日记(Daily Note),看到我打标的 TODO。更重要的是,因为它能读懂双链,它还会顺着日记里的链接找到对应的项目文档,提醒我:“你日记里说要回那个邮件,但项目文档显示该方案昨天已经变了,你可能得先确认一下。”

这种不需要我主动提供、它自己去翻查 Context 的能力,才是真正的 Agent。

4. 调用实测

当我问到具体待办时,Agent 的反馈非常丝滑:

输入

我的 xxx 待办任务中,还有哪些没完成的?

输出

目前在 xxx.md 中,以下是尚未完成的任务:

🛠️ 待处理任务 (Unfinished)

版本 1.3.5

  • [ ] 检查订阅页 entry

版本 1.2.5

  • [ ] 食物分析完成后,带着结果进入食物卡片,会重新请求一下食物信息
  • [ ] 进入首页会请求两次 /home/user

版本 1.3.0

  • [ ] 修改引导页面的返回逻辑

[Source: ~/Obsidian/loscoy/xxx待办.md]

需要我针对其中某项任务(例如 1.2.5 的接口请求问题)进行代码层面的排查或优化吗?


延伸思考:不仅仅是查询

由于我平时习惯使用 Obsidian 记录各种任务和决策,接入 OpenClaw 后,玩法可以变得更野:

  • 自动化执行:配合 OpenClaw 的定时任务(Cron),每早自动汇总“未完成任务”,甚至让 Agent 根据任务描述直接开始写代码。
  • 质量预审:在发布新版本前,让 Agent 自动扫描相关文档,核对是否有遗漏的 Bug 修复或 Feature 实现。

把 Obsidian 接入 OpenClaw,本质上是给原本就存在的知识库装上了一双会思考的眼睛。

最好的 Context,其实就是你每天都在写的那些笔记。


如果您喜欢此博客或发现它对您有用,则欢迎对此发表评论。 也欢迎您共享此博客,以便更多人可以参与。 如果博客中使用的图像侵犯了您的版权,请与作者联系以将其删除。 谢谢 !