OpenClaw一个很重要的应用场景就是可以通过IM工具(例如企业微信)来进行交流,但一次交流的输入不会太复杂, 否则输入成本太高,有没有办法可以和OpenClaw达成一个默契,让它能够仅仅通过几个关键词就知道用户在说什么事,就像用户在和一个老熟人聊共同的往事一样? 这种方法在OpenClaw中被称为memory(记忆),下面我就以一个 RSA 密钥生成器项目为例, 介绍如何使用 Memory 系统记录和查询工作进展

📖 什么是 Memory

OpenClaw Memory 是智能体工作空间中的纯 Markdown 文件。这些文件是唯一的事实来源——模型只"记住"写入磁盘的内容。

Memory 系统让 AI 助手能够:

  • 📝 记录工作进展和决策

  • 🔍 通过语义搜索快速查找信息

  • 💬 在跨会话中保持上下文连续性

  • 📊 向用户汇报项目状态

🗂️ Memory 文件结构

默认工作空间布局使用两个记忆层:

~/.openclaw/workspace/├── MEMORY.md           长期记忆└── memory/        ├── 2026-03-10.md   每日日志        ├── 2026-03-11.md        └── 2026-03-12.md   今天的工作记录

文件用途

MEMORY.md:

  • 长期记忆、重要决策、偏好设置

  • 仅私人会话加载

memory/YYYY-MM-DD.md:

  • 每日工作日志、项目进展

  • 所有会话加载(今天 + 昨天)

📝 实战示例:RSA 密钥生成器项目

场景回顾

今天(2026-03-12)上午,用户要求创建一个 RSA 公私钥生成工具。工作流程如下:​​​​​​​

08:55 → 创建项目结构和代码08:56 → 配置虚拟环境并安装依赖08:56 → 测试密钥生成和验证功能09:13 → 将项目记录写入 Memory

写入 Memory 的内容

在memory/2026-03-12.md中记录了:​​​​​​​

2026-03-12 - Daily Log## RSA 密钥生成器项目### 任务概述创建基于命令行的 RSA 公私钥创建和检验工具。
### 项目信息- 项目位置: ~/Downloads/rsa-keygen- 完成时间: 2026-03-12 08:56- 技术栈: Python 3.7+, cryptography 库
### 项目结构rsa-keygen/   ├── rsa_keygen.py      # 主程序(6.7KB)   ├── requirements.txt   # 依赖:cryptography>=41.0.0   ├── README.md         # 使用文档   ├── venv/             # Python 虚拟环境   ├── private_key.pem   # 测试生成的私钥   └── public_key.pem    # 测试生成的公钥   ### 功能特性1. 密钥生成:支持 1024/2048/4096 位 RSA 密钥对2. 密码保护:可选密码加密私钥(AES 加密)3. 密钥验证:通过 OAEP 加密/解密测试验证密钥对有效性4. PEM 格式:兼容 OpenSSL、OpenSSH 等工具
### 测试结果- ✓ 虚拟环境创建成功- ✓ 依赖安装成功(cryptography-46.0.5)- ✓ 密钥生成测试通过- ✓ 密钥验证测试通过

💬 在企业微信中查询项目进展

方式一:自然语言提问

在企业微信中直接向助手提问:​​​​​​​

用户:今天上午做的 RSA 项目放在哪里了?
助手:RSA 密钥生成器项目位于 ~/Downloads/rsa-keygen完成时间是 08:56,包含密钥生成和验证功能。

工作原理:助手通过memory_search工具语义搜索 Memory 文件,找到相关片段后回复。

方式二:查询特定关键词​​​​​​​

用户:查询 rsa-keygen 项目
助手:找到相关记录:📁 项目位置:~/Downloads/rsa-keygen📅 完成时间:2026-03-12 08:56✅ 状态:测试通过📄 文件:rsa_keygen.py, README.md, requirements.txt

方式三:查询今日工作​​​​​​​

用户:今天都完成了什么工作?
助手:今天(2026-03-12)完成的工作:1. RSA 密钥生成器项目 - 已完成 ✓   - 位置:~/Downloads/rsa-keygen   - 功能:命令行 RSA 密钥生成和验证

方式四:查询项目状态​​​​​​​

用户:RSA 项目的测试通过了吗?
助手:是的,测试全部通过:✓ 虚拟环境创建成功✓ 依赖安装成功(cryptography-46.0.5)✓ 密钥生成测试通过✓ 密钥验证测试通过

🔧 Memory 工具使用

命令行工具

OpenClaw 提供 CLI 工具管理 Memory:​​​​​​​

# 查看 Memory 状态openclaw memory status
# 深度检查(包含向量存储和嵌入模型)openclaw memory status --deep
# 手动索引 Memory 文件openclaw memory index
# 语义搜索openclaw memory search "RSA 项目"openclaw memory search "今天的工作"

📋 最佳实践

何时写入 Memory

✅应该记录:

  • 项目完成状态和位置

  • 重要决策和原因

  • 测试结果和验证情况

  • 用户偏好和特殊要求

  • 遇到的问题和解决方案

❌不需要记录:

  • 临时性、一次性的对话

  • 可以通过文件内容推断的信息

  • 敏感信息(密码、密钥等)

写入格式建议

项目名称

### 任务概述简要描述任务目标
### 项目信息- 位置: 文件路径- 时间: YYYY-MM-DD HH:MM- 状态: 进行中/已完成/已暂停
### 关键内容- 功能点 1- 功能点 2
### 测试结果- ✓ 测试项 1- ✓ 测试项 2
### 备注其他需要记录的信息

查询技巧

用户提问建议:

  • 使用具体关键词(项目名、文件名、功能名)

  • 包含时间范围("今天"、"上周"、"3 月 12 日")

  • 明确查询目标(位置、状态、测试结果)

示例:​​​​​​​

✅ "RSA 项目放在哪里了?"✅ "今天上午完成的工作"✅ "rsa-keygen 的测试通过了吗?"

🚀 高级功能

语义搜索

Memory 系统使用向量嵌入进行语义搜索,即使措辞不同也能找到相关内容:​​​​​​​

搜索:"密钥生成工具"匹配:"RSA 公私钥创建和检验工具" ✓

混合搜索(BM25 + 向量)

结合两种搜索方式:

向量相似度:语义匹配("Mac Studio" ↔ "运行 gateway 的机器")

BM25 关键词:精确匹配(ID、错误代码、文件名)

会话记忆(实验性)

可选择索引会话记录,让助手记住对话历史:​​​​​​​

agents: {  defaults: {    memorySearch: {      experimental: { sessionMemory: true },      sources: ["memory", "sessions"]    }  }}

🔐 安全说明

Memory 加载策略

私人会话:加载MEMORY.md+memory/*.md

群组会话:仅加载memory/*.md(不加载MEMORY.md)

这是为了防止私人信息泄露到群组中。

写入权限

Memory 文件需要工作空间可写

沙箱模式(workspaceAccess: "ro")下无法写入

建议定期备份 Memory 文件

💡 小结

Memory 系统是 OpenClaw 的"长期记忆",让 AI 助手能够:

📝记录工作进展和重要信息

🔍搜索历史内容(语义 + 关键词)

💬回复用户查询(跨会话连续性)

📊汇报项目状态(如企业微信通知)

关键要点:

  • 写入 Memory = 让助手真正"记住"

  • 结构化记录 = 更容易查询和汇报

  • 语义搜索 = 即使用词不同也能找到

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐