Skip to content

OpenClaw memory 记忆系统深度教程:让 AI 真正记住你的对话

2026年4月8日

OpenClaw memory 记忆系统深度教程:让 AI 真正记住你的对话

每次对话都是全新开始?AI 不记得上次聊过什么?记忆系统让 OpenClaw 跨会话持久保存信息,真正实现"我记得你"。

为什么需要记忆系统?

无记忆的问题

会话 1:
用户:我叫张三,是前端工程师
Agent:好的,张三,有什么可以帮你的?

会话 2(新会话):
用户:帮我写一段代码
Agent:好的,请问你用什么语言?—— ❌ 不记得用户是前端工程师

有记忆的效果

会话 1:
用户:我叫张三,是前端工程师
Agent:好的,张三,已记住你的职业是前端工程师。

会话 2(新会话):
用户:帮我写一段代码
Agent:好的张三,作为前端工程师,我用 JavaScript 帮你写:—— ✅ 记住了用户信息

记忆系统架构

三级记忆模型

┌─────────────────────────────────────────────────────────────┐
│                        记忆系统架构                          │
└─────────────────────────────────────────────────────────────┘

┌─────────────┐   ┌─────────────┐   ┌─────────────┐
│  短期记忆   │   │  工作记忆   │   │  长期记忆   │
│  (Session)  │   │  (Context)  │   │  (Persist)  │
├─────────────┤   ├─────────────┤   ├─────────────┤
│ 当前会话    │   │ 最近N轮对话 │   │ 永久存储    │
│ 自动管理    │   │ 自动管理    │   │ 需主动记录  │
│ 会话结束清除│   │ 滑动窗口    │   │ 跨会话保留  │
└─────────────┘   └─────────────┘   └─────────────┘
       │                 │                 │
       ▼                 ▼                 ▼
   对话历史          上下文窗口         MEMORY.md
                    (Context)         + 向量数据库

记忆文件结构

~/.openclaw/
├── MEMORY.md              # 长期记忆主文件
├── memory/                # 记忆目录
│   ├── 2026-04-01.md      # 每日笔记
│   ├── 2026-04-02.md
│   └── 2026-04-03.md
├── knowledge/             # 知识库
│   ├── project-info.md
│   └── user-preferences.md
└── .memory-index/         # 向量索引(自动生成)
    └── embeddings.json

MEMORY.md 配置

基本结构

markdown
# 长期记忆

## 用户资料
- 姓名:张三
- 职业:前端工程师
- 技术栈:React, TypeScript, Node.js
- 偏好:代码简洁、注释详细

## 项目信息
- 当前项目:电商后台管理系统
- 技术选型:Next.js + Prisma + PostgreSQL
- Git 仓库:github.com/zhangsan/ecommerce-admin

## 工作习惯
- 代码风格:ESLint + Prettier
- 提交规范:Conventional Commits
- 工作时间:9:00-18:00

## 重要决策
- 2026-04-01:决定使用 PostgreSQL 替代 MySQL
- 2026-04-03:引入 Redis 做缓存层

## 待办事项
- [ ] 完成用户模块开发
- [ ] 编写 API 文档
- [ ] 配置 CI/CD

记忆写入规范

markdown
## 格式规范

### 决策记录
- 日期:YYYY-MM-DD
- 决策内容:一句话描述
- 原因:为什么这样决定

### 项目信息
- 保持简洁
- 定期更新
- 删除过期信息

### 用户偏好
- 具体明确
- 可操作性强

记忆操作

写入记忆

手动写入:

用户:记住,我习惯用 4 空格缩进

Agent:好的,已记录到长期记忆:

## 编码偏好
- 缩进:4 空格
- 原因:团队规范

自动写入:

json
{
  "memory": {
    "auto_save": true,
    "save_triggers": [
      "用户说「记住」",
      "用户说「别忘了」",
      "做出重要决策时"
    ]
  }
}

读取记忆

用户:我上次说用什么数据库来着?

Agent:[搜索记忆]
根据长期记忆记录:
- 2026-04-01 决定使用 PostgreSQL
- 原因:更好的 JSON 支持、更强的查询能力

搜索记忆

用户:搜索我关于缓存的决策

Agent:[执行 memory_search]
找到相关记忆:

1. 2026-04-03:引入 Redis 做缓存层
   - 原因:提升 API 响应速度
   
2. 2026-04-05:缓存策略讨论
   - 结论:热点数据缓存 5 分钟

更新记忆

用户:更新一下,我现在用 Tab 缩进了

Agent:好的,已更新记忆:

## 编码偏好
- 缩进:Tab(原:4 空格)
- 更新时间:2026-04-08

删除记忆

用户:删除我关于 Redis 的决策记录

Agent:确认删除以下记忆?
- 2026-04-03:引入 Redis 做缓存层

用户:确认

Agent:已删除。相关记录已从 MEMORY.md 移除。

记忆搜索与检索

语义搜索

bash
# 命令行搜索
openclaw memory search "数据库选型"
搜索结果:

1. MEMORY.md#重要决策
   > 2026-04-01:决定使用 PostgreSQL 替代 MySQL
   > 相似度:0.92

2. memory/2026-04-01.md
   > 今天讨论了数据库选型,最终决定用 PostgreSQL...
   > 相似度:0.87

配置向量检索

json
{
  "memory": {
    "vector_search": {
      "enabled": true,
      "provider": "local",
      "embedding_model": "text-embedding-3-small",
      "dimensions": 1536
    }
  }
}

搜索 API

javascript
// 记忆搜索调用
const results = await memorySearch({
  query: "用户偏好",
  top_k: 5,
  min_score: 0.7
});

每日笔记

自动创建

json
{
  "memory": {
    "daily_notes": {
      "enabled": true,
      "auto_create": true,
      "template": "# {date} 工作记录\n\n## 完成事项\n\n## 遇到问题\n\n## 明日计划\n"
    }
  }
}

每日笔记格式

markdown
# 2026-04-08 工作记录

## 完成事项
- 完成用户登录模块
- 配置 JWT 认证
- 编写单元测试

## 遇到问题
- CORS 配置问题,已解决
- Token 过期时间设置过短,调整为 24h

## 明日计划
- 开始权限模块开发
- 对接第三方登录

## 关键决策
- 选择 JWT 而非 Session:更易扩展、支持分布式

每日总结

用户:生成今日工作总结

Agent:[读取每日笔记]

# 2026-04-08 工作总结

## 产出
- 代码:用户登录模块(300 行)
- 测试:单元测试 5 个
- 文档:API 文档更新

## 问题解决
- CORS 问题:添加 allowedOrigins 配置
- Token 问题:过期时间从 1h 调整为 24h

## 明日重点
- 权限模块开发
- 第三方登录对接

记忆优化技巧

技巧一:结构化记录

markdown
## ❌ 糟糕的记录
记得用 PostgreSQL,Redis 缓存,还要配置好 JWT。

## ✅ 好的记录
## 技术栈决策
| 组件 | 选型 | 原因 |
|------|------|------|
| 数据库 | PostgreSQL | JSON 支持、查询能力强 |
| 缓存 | Redis | 高性能、支持过期 |
| 认证 | JWT | 无状态、易扩展 |

技巧二:分类存储

memory/
├── user/           # 用户相关信息
│   ├── profile.md
│   └── preferences.md
├── project/        # 项目相关信息
│   ├── tech-stack.md
│   └── decisions.md
└── daily/          # 每日记录
    ├── 2026-04-01.md
    └── 2026-04-02.md

技巧三:定期清理

bash
# 清理过期记忆
openclaw memory clean --older-than 30d

# 归档旧记忆
openclaw memory archive --before 2026-01-01

技巧四:关键信息高亮

markdown
## 重要决策
> ⚠️ **关键决策**:使用 PostgreSQL 替代 MySQL
> - 时间:2026-04-01
> - 影响:所有数据模型需重新设计
> - 不可逆:已迁移数据

技巧五:关联记忆

markdown
## 用户认证模块

相关记忆:
- [[2026-04-03]] JWT 配置
- [[2026-04-05]] Token 过期策略
- [[tech-stack]] 认证技术选型

记忆与技能联动

在技能中使用记忆

yaml
---
name: 项目助手
permissions: [memory]
memory_access: true
---

# 项目助手

## 记忆使用
1. 启动时读取用户偏好
2. 执行时参考历史决策
3. 完成后更新项目进度

## 执行流程
1. 读取 MEMORY.md 获取用户信息
2. 根据用户偏好生成代码
3. 记录本次操作到每日笔记

记忆驱动的行为

用户:写一个登录组件

Agent:[读取记忆]
根据你的偏好:
- 使用 React 函数组件
- TypeScript 类型定义
- Tailwind CSS 样式
- 4 空格缩进

正在生成代码...

高级配置

记忆容量控制

json
{
  "memory": {
    "limits": {
      "max_memory_size": "10MB",
      "max_daily_notes": 90,
      "auto_archive_after": 180
    }
  }
}

记忆同步

json
{
  "memory": {
    "sync": {
      "enabled": true,
      "provider": "git",
      "remote": "git@github.com:user/openclaw-memory.git",
      "auto_push": true
    }
  }
}

记忆加密

json
{
  "memory": {
    "encryption": {
      "enabled": true,
      "sensitive_fields": ["password", "api_key", "secret"],
      "algorithm": "aes-256-gcm"
    }
  }
}

常见问题

问题一:记忆不生效

原因: 未启用记忆权限

解决:

json
{
  "permissions": ["memory"]
}

问题二:记忆搜索不到

原因: 向量索引未建立

解决:

bash
openclaw memory rebuild-index

问题三:记忆文件过大

原因: 长期未清理

解决:

bash
# 查看记忆大小
openclaw memory stats

# 归档旧记忆
openclaw memory archive --before 2025-01-01

# 压缩记忆
openclaw memory compress

问题四:敏感信息泄露

原因: 明文存储敏感数据

解决:

json
{
  "memory": {
    "encryption": {
      "enabled": true
    }
  }
}

或避免记录敏感信息:

markdown
## ❌ 不要这样记录
API Key: sk-xxxxx

## ✅ 这样记录
API Key 已配置到环境变量 OPENAI_API_KEY

最佳实践

实践一:记录关键决策

每次重要决策都记录原因,方便未来回顾。

实践二:保持更新

项目信息、技术栈变化及时更新,避免记忆过时。

实践三:分类管理

不同类型信息分文件存储,提高检索效率。

实践四:定期回顾

每周回顾记忆内容,清理过时信息,补充新信息。

实践五:安全意识

敏感信息加密或避免记录,防止泄露。


总结

功能操作
写入记忆用户说"记住"或手动编辑 MEMORY.md
读取记忆Agent 自动读取或用户查询
搜索记忆openclaw memory search
更新记忆手动编辑或对话中更新
删除记忆手动删除或 memory clean

记忆系统核心价值:

  • 跨会话持久保存信息
  • 让 AI "认识" 用户
  • 积累项目知识
  • 辅助决策参考

关键原则:

  • 结构化记录,便于检索
  • 定期清理,保持精简
  • 分类存储,提高效率
  • 安全意识,保护敏感信息

记忆系统是 OpenClaw 的核心能力之一。用好记忆,让 AI 真正成为"认识你"的助手,而不是每次都从零开始。

不要孤军奋战啦!

加入微信群一起学习交流 AI

与大神一起使用 OpenClaw、Hermes、Claude Code、Seedance 2.0、GPT-Image-2 等

微信公众号

扫码关注微信公众号
私信 "加群",将自动获取微信群二维码

探索 AI 世界,掌握智能未来