Elite Longterm Memory
专为Cursor、Claude、ChatGPT和Copilot打造的终极AI代理记忆系统。支持WAL协议+向量搜索+git笔记+云备份,永不失联。适配氛围编程场景。
技能说明
name: elite-longterm-memory version: 1.2.3 description: "专为 Cursor、Claude、ChatGPT 和 Copilot 设计的终极 AI 代理记忆系统。采用 WAL 协议 + 向量搜索 + git-notes + 云备份。再也不会丢失上下文。Vibe-coding 就绪。" author: NextFrontierBuilds keywords: [memory, ai-agent, ai-coding, long-term-memory, vector-search, lancedb, git-notes, wal, persistent-context, claude, claude-code, gpt, chatgpt, cursor, copilot, github-copilot, openclaw, moltbot, vibe-coding, agentic, ai-tools, developer-tools, devtools, typescript, llm, automation] metadata: openclaw: emoji: "🧠" requires: env: - OPENAI_API_KEY plugins: - memory-lancedb
Elite Longterm Memory 🧠
AI 代理的终极记忆系统。 将六种经过验证的方法结合成一个坚不可摧的架构。
再也不会丢失上下文。再也不会忘记决策。再也不会重复错误。
架构概览
┌─────────────────────────────────────────────────────────────────┐
│ 精英长期记忆系统 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 热存储 RAM │ │ 温存储 │ │ 冷存储 │ │
│ │ │ │ │ │ │ │
│ │ SESSION- │ │ LanceDB │ │ Git-Notes │ │
│ │ STATE.md │ │ 向量存储 │ │ 知识图谱 │ │
│ │ │ │ │ │ │ │
│ │(在压缩后 │ │(语义搜索) │ │(永久决策) │ │
│ │ 保留) │ │ │ │ │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │ │ │ │
│ └────────────────┼────────────────┘ │
│ ▼ │
│ ┌─────────────┐ │
│ │ MEMORY.md │ ← 精选长期记忆 │
│ │ + daily/ │ (人类可读) │
│ └─────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │ SuperMemory │ ← 云备份(可选) │
│ │ API │ │
│ └─────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
五层内存结构
第一层:热内存(SESSION-STATE.md)
来源:bulletproof-memory
活跃的工作内存,可在压缩后保留。采用预写日志协议。
# SESSION-STATE.md — 活跃工作内存
## 当前任务
[我们正在处理的内容]
## 关键上下文
- 用户偏好:...
- 已做决策:...
- 阻碍因素:...
待处理事项
- ...
规则: 先构思后响应。由用户输入触发,而非代理记忆。
第二层:热存储 (LanceDB 向量)
来源:lancedb-memory
支持语义搜索所有记忆。自动回忆功能会注入相关上下文。
# 自动回忆(自动触发)
memory_recall query="项目状态" limit=5
# 手动存储
memory_store text="用户偏好深色模式" category="preference" importance=0.9
第三层:冷存储 (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 "前端"
第四层:精选归档 (MEMORY.md + daily/)
来源:OpenClaw 原生
人类可读的长期记忆。包含每日日志和提炼的智慧。
workspace/
├── MEMORY.md # 精选长期记忆(精华内容)
└── memory/
├── 2026-01-30.md # 每日日志
├── 2026-01-29.md
└── topics/ # 主题分类文件
第五层:云端备份 (SuperMemory) — 可选
来源:supermemory
支持跨设备同步。可与知识库对话。
export SUPERMEMORY_API_KEY="your-key"
supermemory add "重要上下文"
supermemory search "关于...我们做过什么决定"
第六层:自动提取 (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 — 活动工作内存
此文件是代理的“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 指令
会话开始时
- 读取 SESSION-STATE.md —— 这是你的热上下文
- 运行
memory_search以获取相关的先前上下文 - 检查 memory/YYYY-MM-DD.md 获取最近的活动记录
对话过程中
- 用户提供了具体细节? → 在响应之前写入 SESSION-STATE.md
- 做出了重要决定? → 静默地存储到 Git-Notes
- 表达了偏好? → 使用
memory_store并设置重要性为 0.9
会话结束时
- 使用最终状态更新 SESSION-STATE.md
- 将重要项移动到 MEMORY.md 中(如果值得长期保存)
- 创建/更新 daily log 文件 memory/YYYY-MM-DD.md
内存维护(每周)
- 检查 SESSION-STATE.md —— 归档已完成的任务
- 检查 LanceDB 中的垃圾数据:
memory_recall query="*" limit=50 - 清除无关的向量:
memory_forget id=<id> - 将 daily logs 整合到 MEMORY.md 中
WAL 协议(关键)
预写日志: 在响应之前写入状态,而不是之后。
| 触发条件 | 操作 |
|---|---|
| 用户表达偏好 | 写入 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” 重要性=0.9
4. 然后响应: “明白了 —— 就用 Tailwind...”
维护命令
# 审计向量记忆库
memory_recall query="*" limit=50
# 清除所有向量(终极方案)
rm -rf ~/.openclaw/memory/lancedb/
openclaw gateway restart
# 导出 Git 笔记
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 或手动记录 |
| 子代理隔离 | 未继承上下文 | 在任务提示中传递上下文 |
| 重复错误 | 经验教训未记录 | 写入 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 中添加 ## Preferences 章节 |
| 重复错误 | 将所有错误记录到 memory/lessons.md |
| 子代理缺乏上下文 | 在生成任务提示中包含关键上下文 |
| 遗忘近期工作 | 严格执行每日文件管理制度 |
| 记忆搜索失效 | 检查 OPENAI_API_KEY 是否设置 |
故障排除
代理在对话中频繁遗忘: → SESSION-STATE.md 未更新。检查 WAL 协议。
注入无关记忆: → 禁用 autoCapture 功能,提高 minImportance 阈值。
记忆库过大,召回缓慢: → 执行清理:清除旧向量数据,每日日志归档。
Git-Notes 未持久化:
→ 运行 git notes push 命令同步至远程仓库。
memory_search 无返回结果:
→ 检查 OpenAI API 密钥:echo $OPENAI_API_KEY
→ 确认 openclaw.json 中 memorySearch 功能已启用
相关链接
- bulletproof-memory: https://clawdhub.com/skills/bulletproof-memory
- lancedb-memory: https://clawdhub.com/skills/lancedb-memory
- git-notes-memory: https://clawdhub.com/skills/git-notes-memory
- memory-hygiene: https://clawdhub.com/skills/memory-hygiene
- supermemory: https://clawdhub.com/skills/supermemory
由 @NextXFrontier 构建 — Next Frontier AI 工具包组成部分
如何使用「Elite Longterm Memory」?
- 打开小龙虾AI(Web 或 iOS App)
- 点击上方「立即使用」按钮,或在对话框中输入任务描述
- 小龙虾AI 会自动匹配并调用「Elite Longterm Memory」技能完成任务
- 结果即时呈现,支持继续对话优化