← 返回教程列表

OpenClaw 长期记忆 —— 事实、会话与"第二大脑"

OpenClaw 如何存储、索引和回忆跨会话、跨渠道、跨设备的事实,以及如何查看、编辑和清除记忆。

OpenClaw 最被称赞的特性之一是它真的记得你。你告诉它一次的每个事实——伴侣的生日、项目名、内部仪表盘的 URL——都能跨会话、跨渠道、跨重启保留下来。本教程讲解记忆的工作原理、存在哪里,以及如何掌控它。

两层记忆

OpenClaw 用两层结构保存记忆:

  1. 情景记忆(Episodic) —— 每次会话都被存为一段记录:完整对话、按渠道/联系人/时间戳索引;
  2. 语义记忆(Semantic) —— 助手判定值得长期保留的结构化事实,存放在 SQLite 中,可按"含义"而非精确关键词检索。

当助手检测到一条持久性事实("我老婆叫 Julia"),就会写入语义记忆;在每一轮回复前都会读取语义记忆作为上下文。

记忆存在哪里

所有数据都在同一个文件夹下:

~/.openclaw/
├── memory.sqlite          # 语义记忆
├── sessions/              # 情景记忆(每个会话一个 .jsonl)
└── embeddings/            # 向量索引(sqlite-vec)
默认位置是 ~/.openclaw。你可以通过 OPENCLAW_HOME 环境变量或每条 CLI 命令的 --home 参数把它移走。本地没有独立的云存储——你删掉这个文件夹,记忆就消失了。

通过 CLI 查看记忆

openclaw memory list --limit 20

按更新时间倒序列出最常用的语义事实:

id    fact                                             tags                  updated
42    user.name = "Stefan"                              self                 2026-09-14
41    user.partner.name = "Julia"                        self,family          2026-09-14
40    user.work.role = "Staff Engineer at Acme"          self,work            2026-09-12
39    user.work.team = "Platform"                        self,work            2026-09-12

查看原始行(含来源):

openclaw memory show 42
{
  "id": 42,
  "fact": "user.name = \"Stefan\"",
  "tags": ["self"],
  "source": "telegram/chat/123456789",
  "created_at": "2026-09-14T08:14:02Z",
  "updated_at": "2026-09-14T08:14:02Z",
  "embedding_model": "BAAI/bge-small-en-v1.5"
}

在聊天中让助手记忆或忘记

直接对助手说:

记住:我的 API Key 轮换在每月 1 号执行

要忘掉一条事实:

忘掉 API Key 轮换的提醒

或者更精细地控制:

openclaw memory delete 42
openclaw memory delete --tag family

强制重建

如果记忆已经偏离实际(例:你换了工作,助手还在引用旧公司),可以清空语义记忆让它从最近若干次会话中重新抽取事实:

openclaw memory reset --confirm
openclaw memory rebuild --from-sessions=20

这会保留最近 20 个会话、丢弃其余,然后让模型重新抽取事实。

备份记忆

整个 ~/.openclaw 文件夹就是一份可移植的备份。打包:

tar czf openclaw-memory-$(date +%F).tgz -C ~ .openclaw

在新机器上安装 OpenClaw 后,把 tarball 解压到对应目录即可恢复。

记忆备份里包含了助手知道的关于你的一切。上传到云盘前请加密。一个简单办法:gpg -c openclaw-memory-2026-09-21.tgz。

隐私边界

因为记忆是本地优先:

  • 你可以读取每一条事实(openclaw memory list);
  • 你可以删除任何事实,无需联系任何人;
  • 除非你主动选择会记录 prompt 的托管模型供应商(大多数正规供应商都提供"不参与训练"开关,请去供应商后台确认),不会有任何第三方看到。

想要完全重来:

openclaw memory wipe --all --confirm

该命令会清空语义记忆、情景记忆和向量索引。Gateway 继续运行,但记忆从零开始。

记忆与渠道

一个好用的模式:按聊天区分记忆作用域,让私人聊天保持私人、工作聊天只与工作相关。

openclaw memory scope add \\
  --match "channel=telegram,chat_id=123456789" \\
  --namespace personal

personal 命名空间下的事实只会在你从那个 Telegram 聊天发消息时被注入。

下一步

  • 在技能里使用记忆,让助手在任何技能调用中都能回忆事实;
  • 通过集成把记忆挂到多个渠道;
  • 在排错指南里查看记忆相关问题的排查。
OpenClaw 指南编辑部
独立维护的 OpenClaw 教程与生态解读。

发现问题或需要更正? 联系我们.