OpenClaw-hot-skills-zh elite-longterm-memory-zh

终极 AI Agent 记忆系统,适用于 Cursor、Claude、ChatGPT 和 Copilot。WAL 协议 + 向量搜索 + Git Notes + 云备份。永不丢失上下文,为 Vibe-coding 而生。

install
source · Clone the upstream repo
git clone https://github.com/L-LesterYu/OpenClaw-hot-skills-zh
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/L-LesterYu/OpenClaw-hot-skills-zh "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/elite-longterm-memory-zh" ~/.claude/skills/l-lesteryu-openclaw-hot-skills-zh-elite-longterm-memory-zh && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/L-LesterYu/OpenClaw-hot-skills-zh "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/elite-longterm-memory-zh" ~/.openclaw/skills/l-lesteryu-openclaw-hot-skills-zh-elite-longterm-memory-zh && rm -rf "$T"
manifest: skills/elite-longterm-memory-zh/SKILL.md
source content

精英长期记忆系统 🧠

终极 AI Agent 记忆系统。 将 6 种经过验证的方法整合为一个坚不可摧的架构。

永不丢失上下文。永不遗忘决策。永不再犯同样错误。

架构概览

┌─────────────────────────────────────────────────────────────────┐
│                    精英长期记忆系统                              │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐             │
│  │   热内存    │  │   温存储    │  │   冷存储    │             │
│  │             │  │             │  │             │             │
│  │ SESSION-    │  │  LanceDB    │  │  Git-Notes  │             │
│  │ STATE.md    │  │  向量搜索   │  │  知识图谱   │             │
│  │             │  │             │  │             │             │
│  │ (在压缩中   │  │ (语义搜索)  │  │ (永久决策)  │             │
│  │  存活)      │  │             │  │             │             │
│  └─────────────┘  └─────────────┘  └─────────────┘             │
│         │                │                │                     │
│         └────────────────┼────────────────┘                     │
│                          ▼                                      │
│                  ┌─────────────┐                                │
│                  │  MEMORY.md  │  ← 精选长期记忆                │
│                  │  + daily/   │    (人类可读)                  │
│                  └─────────────┘                                │
│                          │                                      │
│                          ▼                                      │
│                  ┌─────────────┐                                │
│                  │ SuperMemory │  ← 云备份(可选)              │
│                  │    API      │                                │
│                  └─────────────┘                                │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

5 层记忆架构

第 1 层:热内存 (SESSION-STATE.md)

来源:bulletproof-memory

在压缩中存活的活跃工作记忆。预写日志(WAL)协议。

# SESSION-STATE.md — 活跃工作记忆

## 当前任务
[我们现在正在做什么]

## 关键上下文
- 用户偏好:...
- 已做决策:...
- 阻塞问题:...

## 待处理操作
- [ ] ...

规则: 在响应之前写入。由用户输入触发,而非 Agent 记忆。

第 2 层:温存储 (LanceDB 向量)

来源:lancedb-memory

跨所有记忆的语义搜索。自动召回注入相关上下文。

# 自动召回(自动发生)
memory_recall query="项目状态" limit=5

# 手动存储
memory_store text="用户偏好深色模式" category="preference" importance=0.9

第 3 层:冷存储 (Git-Notes 知识图谱)

来源:git-notes-memory

结构化的决策、学习内容和上下文。支持分支感知。

# 存储决策(静默执行 - 永不宣布)
python3 memory.py -p $DIR remember '{"type":"decision","content":"使用 React 作为前端"}' -t tech -i h

# 获取上下文
python3 memory.py -p $DIR get "前端"

第 4 层:精选归档 (MEMORY.md + daily/)

来源:OpenClaw 原生

人类可读的长期记忆。每日日志 + 精炼智慧。

workspace/
├── MEMORY.md              # 精选长期记忆(精华内容)
└── memory/
    ├── 2026-01-30.md      # 每日日志
    ├── 2026-01-29.md
    └── topics/            # 主题特定文件

第 5 层:云备份 (SuperMemory) — 可选

来源:supermemory

跨设备同步。与知识库对话。

export SUPERMEMORY_API_KEY="your-key"
supermemory add "重要上下文"
supermemory search "我们关于...决定了什么"

第 6 层:自动提取 (Mem0) — 推荐

新增:自动事实提取

Mem0 自动从对话中提取事实。减少 80% token 使用。

npm install mem0ai
export MEM0_API_KEY="your-key"
const { MemoryClient } = require('mem0ai');
const client = new MemoryClient({ apiKey: process.env.MEM0_API_KEY });

// 对话自动提取事实
await client.add(messages, { user_id: "user123" });

// 获取相关记忆
const memories = await client.search(query, { user_id: "user123" });

优势:

  • 自动提取偏好、决策、事实
  • 去重并更新现有记忆
  • 相比原始历史减少 80% token
  • 跨会话自动工作

快速设置

1. 创建 SESSION-STATE.md(热内存)

cat > SESSION-STATE.md << 'EOF'
# SESSION-STATE.md — 活跃工作记忆

此文件是 Agent 的 "RAM" — 在压缩、重启、分心中存活。

## 当前任务
[无]

## 关键上下文
[暂无]

## 待处理操作
- [ ] 无

## 最近决策
[暂无]

---
*最后更新:[时间戳]*
EOF

2. 启用 LanceDB(温存储)

~/.openclaw/openclaw.json
中:

{
  "memorySearch": {
    "enabled": true,
    "provider": "openai",
    "sources": ["memory"],
    "minScore": 0.3,
    "maxResults": 10
  },
  "plugins": {
    "entries": {
      "memory-lancedb": {
        "enabled": true,
        "config": {
          "autoCapture": false,
          "autoRecall": true,
          "captureCategories": ["preference", "decision", "fact"],
          "minImportance": 0.7
        }
      }
    }
  }
}

3. 初始化 Git-Notes(冷存储)

cd ~/clawd
git init  # 如果尚未初始化
python3 skills/git-notes-memory/memory.py -p . sync --start

4. 验证 MEMORY.md 结构

# 确保你有:
# - 工作区根目录下的 MEMORY.md
# - 用于每日日志的 memory/ 文件夹
mkdir -p memory

5. (可选)设置 SuperMemory

export SUPERMEMORY_API_KEY="your-key"
# 添加到 ~/.zshrc 以持久化

Agent 指令

会话开始时

  1. 读取 SESSION-STATE.md — 这是你的热上下文
  2. 运行
    memory_search
    获取相关的先前上下文
  3. 检查 memory/YYYY-MM-DD.md 查看最近活动

对话过程中

  1. 用户给出具体细节? → 在响应之前写入 SESSION-STATE.md
  2. 做出重要决策? → 存储到 Git-Notes(静默执行)
  3. 表达了偏好?
    memory_store
    并设置 importance=0.9

会话结束时

  1. 用最终状态更新 SESSION-STATE.md
  2. 将重要条目移至 MEMORY.md(如果值得长期保留)
  3. 在 memory/YYYY-MM-DD.md 中创建/更新每日日志

记忆维护(每周)

  1. 审查 SESSION-STATE.md — 归档已完成的任务
  2. 检查 LanceDB 中的垃圾:
    memory_recall query="*" limit=50
  3. 清除不相关的向量:
    memory_forget id=<id>
  4. 将每日日志整合到 MEMORY.md

WAL 协议(关键)

预写日志(Write-Ahead Log): 在响应之前写入状态,而非之后。

触发条件动作
用户陈述偏好写入 SESSION-STATE.md → 然后响应
用户做出决策写入 SESSION-STATE.md → 然后响应
用户给出截止日期写入 SESSION-STATE.md → 然后响应
用户纠正你写入 SESSION-STATE.md → 然后响应

为什么? 如果你先响应,在保存之前崩溃/压缩,上下文就会丢失。WAL 确保持久性。

示例工作流

用户:这个项目我们用 Tailwind,不用原生 CSS

Agent(内部):
1. 写入 SESSION-STATE.md:"决策:使用 Tailwind,不用原生 CSS"
2. 存储到 Git-Notes:关于 CSS 框架的决策
3. memory_store:"用户偏好 Tailwind 而非原生 CSS" importance=0.9
4. 然后响应:"明白了 — 就用 Tailwind..."

维护命令

# 审计向量记忆
memory_recall query="*" limit=50

# 清除所有向量(核选项)
rm -rf ~/.openclaw/memory/lancedb/
openclaw gateway restart

# 导出 Git-Notes
python3 memory.py -p . export --format json > memories.json

# 检查记忆健康状态
du -sh ~/.openclaw/memory/
wc -l MEMORY.md
ls -la memory/

为什么记忆会失败

理解根本原因有助于修复它们:

失败模式原因解决方案
忘记一切
memory_search
未启用
启用 + 添加 OpenAI 密钥
文件未加载Agent 跳过读取记忆添加到 AGENTS.md 规则
事实未捕获无自动提取使用 Mem0 或手动记录
子 Agent 隔离不继承上下文在任务提示中传递上下文
重犯错误教训未记录写入 memory/lessons.md

解决方案(按难度排序)

1. 快速方案:启用 memory_search

如果你有 OpenAI 密钥,启用语义搜索:

openclaw configure --section web

这会启用对 MEMORY.md + memory/*.md 文件的向量搜索。

2. 推荐:Mem0 集成

从对话中自动提取事实。减少 80% token。

npm install mem0ai
const { MemoryClient } = require('mem0ai');

const client = new MemoryClient({ apiKey: process.env.MEM0_API_KEY });

// 自动提取和存储
await client.add([
  { role: "user", content: "我偏好 Tailwind 而非原生 CSS" }
], { user_id: "ty" });

// 获取相关记忆
const memories = await client.search("CSS 偏好", { user_id: "ty" });

3. 更好的文件结构(无依赖)

memory/
├── projects/
│   ├── strykr.md
│   └── taska.md
├── people/
│   └── contacts.md
├── decisions/
│   └── 2026-01.md
├── lessons/
│   └── mistakes.md
└── preferences.md

保持 MEMORY.md 作为摘要(<5KB),链接到详细文件。

立即修复清单

问题解决方案
忘记偏好在 MEMORY.md 中添加
## 偏好
部分
重犯错误将每个错误记录到
memory/lessons.md
子 Agent 缺乏上下文在 spawn 任务提示中包含关键上下文
忘记最近的工作严格的每日文件纪律
记忆搜索不工作检查
OPENAI_API_KEY
是否已设置

故障排除

Agent 在对话中一直遗忘: → SESSION-STATE.md 未被更新。检查 WAL 协议。

注入了不相关的记忆: → 禁用 autoCapture,提高 minImportance 阈值。

记忆太大,召回缓慢: → 运行维护:清除旧向量,归档每日日志。

Git-Notes 未持久化: → 运行

git notes push
与远程同步。

memory_search 无返回: → 检查 OpenAI API 密钥:

echo $OPENAI_API_KEY
→ 验证 openclaw.json 中 memorySearch 已启用


链接


@NextXFrontier 构建 — Next Frontier AI 工具集的一部分