2026年4月13日 · 阅读 —

把 OpenClaw 记忆系统装进团队:两套方案、一个底线、三条回滚线

Agent 与 Skills

图片资源未同步:未命名图片

把 OpenClaw 记忆系统装进团队:两套方案、一个底线、三条回滚线

这份文档来自「当前机器已落地现状」,目标是能复制:新人照着做,不用开会,不用猜。

先把底线写在最上面:

任何记忆体系,最怕的不是“不聪明”,是“把敏感信息写进去了还没人发现”。

所以本文不展示、也不会让你粘贴任何 API Key 明文。只讲:放哪、怎么配、怎么验证、怎么回滚。


0)总览:两套方案的边界(以及我为什么不建议你一上来就玩插件)

OpenClaw 的记忆落地,现实里就两条路:

  • 方案 A(推荐):文件三层记忆(L0/L1/L2)+ memU 自动化提炼
  • 方案 B(可选):memory slot 插件(OpenViking)接管 recall/store/autoCapture

先说我的偏见:

  • 团队落地第一阶段,不要追求“自动召回很爽”。先追求:稳定、可迁移、可审计、可回滚。
  • 插件型 memory slot 很香,但它把稳定性依赖从“本机文件”挪到了“外部后端 + embedding/网关兼容 + 进程稳定性”。排障成本会陡增。

现在这台机器的状态:

  • 已解绑 memory slot
  • 保证只剩 方案 A(文件三层 + memU)

1)方案 A:文件三层记忆(L0/L1/L2)怎么落地

1.1 目录结构(标准化、可迁移、可 git 管理)

根目录:~/.openclaw/workspace/

~/.openclaw/workspace/
  MEMORY.md                  # 索引入口(每次会话必读,建议 <500 tokens)
  CONTEXT.md                 # 兼容保留(可选,不再作为主入口)
  memory/
    core.md                  # L0 核心规则(每次会话必读,尽量 <2KB)
    user-prefs.md            # L1 用户偏好(稳定信息,按需读取)
    agent-notes.md           # L1 经验/踩坑/排障(按需读取)
    topics/                  # L1 主题索引
      projects.md
      cron-jobs.md
      decisions.md           # 历史入口(建议指向 L0/L1)
      lessons.md             # 历史入口(建议迁移到 agent-notes)
    YYYY-MM-DD.md            # L2 冷记忆:每日流水
    archive/                 # 旧日志归档

这套结构的核心理念:

  • 真相源(Source of Truth)就是 Markdown 文件:人类能读、能审、能 diff、能迁移。
  • L0/L1/L2 是为了控制成本:每次会话别把整个仓库都读一遍。

1.2 会话启动的“最小必读策略”(让成本和效果都稳定)

必读(启动只读,极低成本):

  • MEMORY.md
  • memory/core.md

按需读取(只在需要时读):

  • 偏好/口吻/禁区 → memory/user-prefs.md
  • 排障/踩坑/环境细节 → memory/agent-notes.md
  • 项目上下文 → memory/topics/projects.md
  • 证据链/最近发生过什么 → memory/YYYY-MM-DD.md

经验提示:

  • MEMORY.md 别写成长篇大论。它是入口索引,不是百科全书。
  • 真正会“越写越大”的是 L2 日志。大了就归档,不要硬扛。

1.3 敏感信息规则(强制,不接受讨论)

禁止写入任何记忆文件:

  • API Key / Access Token / 密码 / Cookie / 私钥 / 隐私明文

允许写入(且建议写清楚):

  • 密钥存放位置(路径)
  • 环境变量名
  • 轮换方式/权限范围

这条规则不高级。 但它能救命。


2)方案 A:memU 自动化(memu-py 0.2.x)部署

memU 的定位:

  • 它不是“新一套真相源”。
  • 它是把 daily/activity 这种流水,提炼成 profile/event/cluster 的结构化副本,方便你后续回看。

2.1 安装(统一 Python 3.12,别让环境发疯)

建议统一用 Python 3.12:

uv pip install --system --python /usr/local/bin/python3 memu-py

验证安装:

/usr/local/bin/python3 -c "import memu; print('memu ok')"

2.2 配置文件(不要在聊天里贴 key)

配置文件路径(建议权限 600):

  • ~/.openclaw/workspace/memu_config.json

字段示例(注意:api_key 不要提交 git、不发群):

{
  "base_url": "https://aigpt.taocheche.com/aigpt/v1",
  "api_key": "REPLACE_ME",
  "model": "deepSeek-v3"
}

建议你把 repo 里提交一个模板:

  • memu_config.template.json(api_key=REPLACE_ME)
  • 每个人本机复制成 memu_config.json

2.3 CLI 脚本(把动作固定成可执行命令)

脚本路径:

  • ~/.openclaw/workspace/memu_daily.py

写入一条 activity memory:

cd ~/.openclaw/workspace
/usr/local/bin/python3 memu_daily.py pipeline "记住:xxx"

每周整理(按你当前落地的 action):

cd ~/.openclaw/workspace
/usr/local/bin/python3 memu_daily.py weekly --days 7

2.4 memU 输出目录(第二套“内部记忆库”)

memU 输出目录:

  • ~/.openclaw/workspace/memu_memory/

典型文件:

  • memu_memory/default_agent/default_user/activity.md
  • profile.md / event.md / <cluster>.md …

经验建议(很重要):

  • memu_memory/ 主要给 memU 自己消费。
  • 长期“真相源”仍是 memory/*.md。
  • 你要给人看的知识库,别直接指向 memU 生成物,容易变成“机器人自说自话”。

2.5 embeddings/link(当前策略:先关掉,别自找麻烦)

当前策略:默认不开 embeddings(避免 embedding 服务兼容/鉴权导致不稳定)。

如需开启:

  • 后续可以设置 MEMU_ENABLE_EMBEDDINGS=1

3)方案 A:OpenClaw cron 自动化(每日/每周/每月)

关键认知:

  • cron 由 OpenClaw Gateway Scheduler 管理
  • 不是系统的 crontab

3.1 查看 cron

openclaw cron list

3.2 当前机器已创建的 3 个 job(示例)

注意:job id 每台机器都不同。你复制“规范”,不要复制 id。

  • 每日记忆提取:abd5b267-7cf6-48e1-8423-1087da66ac13(23:00)
  • 每周记忆整理:37e9c5d5-3bad-4027-8aa4-9cbaddbc1874(周一 10:00,调用 memu_daily.py weekly --days 7)
  • 每月心智模型分析:32083a44-c3e6-4186-a6e6-024272420646(每月 1 号 10:00)

3.3 手动调试(最稳的验证路径)

先别折腾 cron。 直接跑脚本验证:

cd ~/.openclaw/workspace
/usr/local/bin/python3 memu_daily.py weekly --days 7

验证点(建议写进团队 SOP):

  • memu_memory/ 是否有新增文件或更新时间变化
  • 文件内容是否可读、是否符合预期结构

4)方案 B:memory slot(OpenViking 插件)——可选,但别一上来就 All in

插件目录示例:

  • ~/.openclaw/extensions/memory-openviking

4.1 启用 memory slot(绑定插件)

openclaw config set plugins.slots.memory memory-openviking
openclaw gateway restart

配置位置:

  • ~/.openclaw/openclaw.json → plugins.entries.memory-openviking.config

OpenViking 自身配置通常在:

  • ~/.openviking/ov.conf

4.2 关闭/解绑 memory slot(回到“文件三层 + memU”)

openclaw config unset plugins.slots.memory
openclaw gateway restart

验证:

openclaw config get plugins.slots --json

期望输出:

  • {}

5)推荐的团队落地方式(可迁移/可复制)

5.1 最小复制清单(建议纳入团队模板仓库)

文件:

  • MEMORY.md
  • memory/core.md
  • memory/user-prefs.md
  • memory/agent-notes.md
  • memory/topics/projects.md

脚本与规范:

  • memu_daily.py
  • memu_config.json(只提交模板,api_key 用 REPLACE_ME 占位)
  • cron job 的“文字规范”(可复制;job id 每人机器不同)

5.2 建议的迁移顺序(别把自己搞成运维)

  1. 先落地文件三层(L0/L1/L2)
  2. 再接 memU(先手动跑通 weekly)
  3. 再接 cron(让它自己跑)
  4. 最后才考虑 memory slot 插件(如果团队真的需要 auto‑recall/auto‑capture)

6)FAQ(你会被问到的)

Q1:是不是有两套记忆?

是。

  • 主体系:文件三层记忆(L0/L1/L2)
  • 副体系:memU 的 memu_memory/(自动化结构化库)

如果启用 OpenViking 插件,还会多一套:

  • 插件型 memory slot 记忆(接管 recall/store/capture)

我的建议:

  • 先把主体系打牢。
  • 你能稳定迁移、能稳定排障、能稳定回滚之后,再开插件。

#OpenClaw #AIagent #记忆系统 #memU #LLMOps #自动化 #安全 #工程实践 #可迁移 #可回滚