OpenClaw Obsidian Memory

OpenClaw + Obsidian Vault 永久记忆体系搭建技能。当用户需要:(1) 搭建本地知识库记忆系统 (2) 将 OpenClaw 的记忆检索与 Obsidian Vault 结合 (3) 实现双通道记忆检索(Vault 优先 + memory 补充)(4) 配置每日/每周自动记忆归档 (5) 管理 Obsidian Vault 笔记和双向链接时使用此技能。触发词:obsidian、vault、知识库、永久记忆、记忆体系、双向链接、知识管理。

Audits

Pass

Install

openclaw skills install openclaw-obsidian-memory

OpenClaw + Obsidian Vault 永久记忆体系

用 Obsidian 风格的本地知识库增强 OpenClaw 的记忆能力,实现双通道检索 + 自动归档。

兼容平台:Linux / macOS / Windows(Node.js 跨平台,无需 bash)

⚡ 一键初始化(首次使用必读)

用户只需说

"帮我搭建 obsidian 记忆体系" "配置 openclaw vault 知识库" "启用双通道记忆"

AI 收到后,自动按以下步骤完成所有配置,无需用户手动操作

Step 1:确认 Vault 路径

询问用户 Obsidian Vault 的位置。如果用户不知道,使用默认路径:

平台默认路径
Linux / macOS$HOME/.obsidian-vault
Windows%USERPROFILE%\.obsidian-vault 或 WSL 下 $HOME/.obsidian-vault

如果用户的 Vault 已经存在(比如已有的 Obsidian 库),直接使用该路径。

Step 2:创建目录结构

VAULT="<用户确认的路径>"
mkdir -p "$VAULT/notes/areas" "$VAULT/notes/projects" "$VAULT/notes/daily"
mkdir -p "$VAULT/references/ai-chats" "$VAULT/references/web-clips" "$VAULT/references/books"
mkdir -p "$VAULT/templates" "$VAULT/scripts"

Step 3:部署脚本

将技能自带的脚本复制到 Vault:

# 技能安装后的 scripts 目录(OpenClaw 自动解压到 skills 下)
SKILL_DIR="$(dirname "$(dirname "$0")")"  # 技能根目录
cp "$SKILL_DIR/scripts/obsidian-search.js" "$VAULT/scripts/"
cp "$SKILL_DIR/scripts/obsidian-links.js" "$VAULT/scripts/"

Step 4:创建初始永久笔记

notes/areas/ 下创建以下笔记(参考 references/templates.md 中的模板):

笔记文件内容
user-preferences.md从当前 AGENTS.md / USER.md / SOUL.md 中提取用户偏好
system-config.md从当前 MEMORY.md 中提取系统配置信息
installed-skills.md列出当前已安装的技能
known-issues.md从当前 MEMORY.md 中提取已知问题

每篇笔记必须包含:

  • 至少一个 [[双向链接]] 到其他笔记
  • 标签(如 #永久笔记

Step 5:更新 AGENTS.md 记忆规则

在 AGENTS.md 中追加或替换记忆规则部分为以下内容:

## 记忆规则

### 检索机制(双通道,按需触发)

**不是会话开始盲搜,而是根据用户问题按需检索:**

1. **先检索 Obsidian Vault**:提取用户问题中的关键词,执行
   `exec node <VAULT路径>/scripts/obsidian-search.js <关键词>`
2. **再检索本地 memory**:`memory_search` 最近 3 天记忆
3. 两步结果合并,优先使用 Vault 中的知识内容

**触发时机**:
- 用户提出知识性、概念性问题时
- 用户询问历史决策、偏好、配置时
- 任务完成后需要记录结论时
- 每次重要对话结束时(对话存档)

### 写入机制(双写 + 去重)

**任务完成后,同时写入两个位置:**

1. **Obsidian Vault**:写入对应分类笔记
   - 知识/概念 → notes/areas/<主题>.md
   - 项目进展 → notes/projects/<项目>.md
   - 每日思考 → notes/daily/YYYY-MM-DD.md
2. **本地 memory**:写入 memory/YYYY-MM-DD.md,更新 MEMORY.md 索引

**写入前必须去重**:先用检索检查 Vault 和 memory 是否已有类似记录,有则合并更新,不重复堆积。

### 笔记规范(Obsidian 风格)

- **双向链接**:新建笔记时至少链接到 1 个已有笔记([[笔记名]]),避免孤立
- **标签**:每篇笔记必须有标签(#永久笔记、#项目/xxx、#daily 等)
- **原子化**:一个笔记只记录一个主题,不混杂
- **上下文**:写结论时不写过程,只写最终答案和关键依据

### 对话存档

每次重要对话结束时,将摘要存入 references/ai-chats/YYYY-MM-DD-slug.md:
- 提取关键结论、决策、待跟进事项
- 不复制原始对话,只写加工后的摘要
- 加上标签和双向链接

### 维护规则

- 定期用 node <VAULT路径>/scripts/obsidian-links.js --orphans 检查孤立笔记,补充链接
- 每周 cron 自动归纳 7 天笔记,去重合并到永久笔记

⚠️ 替换 <VAULT路径> 为 Step 1 中确认的实际路径。

Step 6:精简 MEMORY.md

将 MEMORY.md 精简为以下内容(详细内容写入 Vault):

# 记忆索引

> 轻量索引,详细内容见 Obsidian Vault(<VAULT路径>)

## 数据存储
- **Obsidian Vault**: <VAULT路径>
- **本地 memory**: memory/ 目录(近3天热记忆)
- **检索顺序**: 先 Vault → 再 memory → 合并结果

Step 7:配置定时归档(询问用户)

询问用户是否需要自动归档:

"是否需要配置自动记忆归档?每天凌晨自动整理对话记录到 Vault。"

如果用户同意,创建两个 cron 任务:

每日归档

openclaw cron add \
  --name "daily-memory-archive" \
  --cron "0 2 * * *" \
  --tz "Asia/Shanghai" \
  --timeout-seconds 120 \
  --session "isolated" \
  --no-deliver \
  --message "每日记忆归档:总结过去24小时会话,写入 Vault/notes/daily/YYYY-MM-DD.md 和 memory/YYYY-MM-DD.md"

每周归纳

openclaw cron add \
  --name "weekly-memory-summary" \
  --cron "0 3 * * 1" \
  --tz "Asia/Shanghai" \
  --timeout-seconds 180 \
  --session "isolated" \
  --no-deliver \
  --message "每周记忆归纳:汇总7天笔记,去重合并写入 Vault/notes/areas/ 永久笔记"

Step 8:完成提示

初始化完成后,告知用户:

✅ Obsidian 记忆体系已搭建完成!

Vault 路径:<路径>
脚本位置:<路径>/scripts/
笔记目录:<路径>/notes/
对话存档:<路径>/references/ai-chats/

现在你可以:
- 直接问我任何问题,我会自动检索 Vault 中的知识
- 任务完成后我会自动记录到 Vault
- 重要对话结束我会自动存档

手动检索:告诉我"搜索 Vault 中的 xxx"

日常使用

配置完成后,用户正常对话即可,AI 会自动:

场景AI 行为
知识性问题自动搜索 Vault + memory,合并回答
任务完成自动写入 Vault 对应笔记 + memory
重要对话结束自动存档到 references/ai-chats/
用户说"搜索 xxx"手动触发 Vault 检索

检索命令参考

# 基础检索
node <VAULT>/scripts/obsidian-search.js "关键词"

# 自定义 Vault 路径
OBSIDIAN_VAULT=/path/to/vault node <VAULT>/scripts/obsidian-search.js "关键词"

# 多关键词(AND 语义)
node <VAULT>/scripts/obsidian-search.js "关键词1" "关键词2"

# 调整结果数和上下文
node <VAULT>/scripts/obsidian-search.js "关键词" --limit 5 --context 3

# 链接图谱
node <VAULT>/scripts/obsidian-links.js

# 孤立笔记检测
node <VAULT>/scripts/obsidian-links.js --orphans

笔记规范

双向链接

## 关联笔记
- [[系统配置]]
- [[用户偏好]]

标签

#永久笔记 #系统配置 #openclaw

笔记类型

类型目录说明
永久笔记notes/areas/经过加工的核心知识
项目笔记notes/projects/项目相关记录
每日笔记notes/daily/每日思考摘要
对话存档references/ai-chats/AI 对话摘要(只存结论)
文献笔记references/外部资料加工