OpenClaw 静态记忆文件的正确用法 链接到标题
引言 链接到标题
OpenClaw Agent 每次会话都是从零开始——重启后没有内置记忆。是什么让它感觉认识你?答案是静态记忆文件。
这些文件在每次会话启动时被注入到系统提示词中,是 Agent 持久化自我的唯一方式。
本文基于官方文档与实际部署经验,梳理一套正确使用静态记忆文件的方法。
架构总览 链接到标题
| 层级 | 作用 | 核心文件 |
|---|---|---|
| 身份层 | 定义我是谁 | SOUL.md / IDENTITY.md / USER.md / AGENTS.md |
| 记忆层 | 存储我知道什么 | MEMORY.md / DREAMS.md / memory/YYYY-MM-DD.md |
| 知识库层 | 结构化知识检索 | wiki/main/ |
一、身份层:定义 Agent 的灵魂 链接到标题
身份层文件在每次会话启动时自动注入,是 Agent 人格和行为的基础。
1. SOUL.md — 人格定义 链接到标题
职责:定义 Agent 的价值观、沟通风格、行为边界。
内容建议:
- 核心原则(如简洁、直接、不废话)
- 行为边界(如不主动发送外部消息,除非被要求)
- 沟通风格(如技术问题给出代码示例)
- 领域专长(如熟悉 DevOps 和容器技术)
注意:这是最重要的文件,所有回复都经过它的过滤。建议每月 review 一次。
2. IDENTITY.md — 身份标识 链接到标题
职责:Agent 的名字、角色、emoji。
3. USER.md — 用户信息 链接到标题
职责:Agent 需要知道的关于你的信息——姓名、称呼偏好、时区、使用习惯。
4. AGENTS.md — 操作规则 链接到标题
职责:Agent 的工作流程、优先级、特殊规则。
5. TOOLS.md — 工具惯例 链接到标题
职责:记录 Agent 应该如何使用可用的工具。不是控制工具是否存在,而是指导如何使用。
6. HEARTBEAT.md — 心跳清单 链接到标题
职责:定时任务清单。Gateway 每 30 分钟读取一次,执行到期的任务。
7. BOOT.md — 启动清单 链接到标题
职责:Gateway 重启时自动执行的检查项(需开启 internal hooks)。
二、记忆层:存储我知道什么 链接到标题
1. MEMORY.md — 长期记忆 链接到标题
职责:经筛选的长期知识——决策、偏好、重要事实。只在 DM(私密会话)中注入。
内容原则:
- 持久的事实和决策
- 用户偏好
- 项目背景
- 不要:原始对话记录、临时笔记、详细日志
管理方式:
- Agent 在 Dreaming 阶段自动整理写入
- 主人可手动 review 和编辑
- 建议每周 review 一次,清理过时内容
2. memory/YYYY-MM-DD.md — 每日日志 链接到标题
职责:每日运行笔记。记录当日事件、观察、对话摘要。
特点:
- 按日期自动命名
- 被 memory_search 索引
- 不注入到每次会话(只加载当天和昨天的)
3. DREAMS.md — Dream Diary 链接到标题
职责:Dreaming 阶段输出的人类可读报告。只读,不要手动编辑。
4. memory/.dreams/ — 内部状态 链接到标题
职责:Dreaming 的机器状态文件。
| 文件 | 用途 |
|---|---|
| short-term-recall.json | 所有跟踪的召回条目及分数 |
| phase-signals.json | 每个条目的浅睡/REM 命中数 |
| events.jsonl | Dreaming 事件审计日志 |
| session-corpus/ | 每日会话消息片段 |
三、知识库层:结构化知识 链接到标题
wiki/main/ — Memory Wiki 链接到标题
职责:将 MEMORY.md 编译为结构化知识库。
目录结构:index / inbox / sources / entities / concepts / syntheses / reports
特点:
- 支持 claim/evidence 管理
- 自动矛盾检测
- 新鲜度追踪
- 编译调度:每天凌晨 5:00
四、正确使用对照表 链接到标题
| 文件 | 注入时机 | 可编辑 | 更新频率 | 什么不该放 |
|---|---|---|---|---|
| SOUL.md | 每次会话 | 是 | 每月/感觉不对时 | 事实性信息 |
| IDENTITY.md | 每次会话 | 是 | 很少 | 详细规则 |
| USER.md | 每次会话 | 是 | 每周/生活变化时 | 技术细节 |
| AGENTS.md | 每次会话 | 是 | 按需 | 临时信息 |
| TOOLS.md | 每次会话 | 是 | 按需 | 工作流程 |
| HEARTBEAT.md | 心跳时 | 是 | 按需 | 临时任务 |
| BOOT.md | 重启时 | 是 | 按需 | 常规任务 |
| MEMORY.md | DM 会话 | 是 | 每周 review | 原始对话 |
| DREAMS.md | 不注入 | 否 | - | - |
| memory/*.md | 当天+昨天 | 是 | 每天 | 永久知识 |
| wiki/main/ | 不注入 | 否 | - | - |
五、常见误区 链接到标题
1. MEMORY.md 写太多细节 链接到标题
MEMORY.md 是精选层,不是原始层。详细的讨论、代码、临时笔记应该放在 memory/YYYY-MM-DD.md,让 Agent 自己决定什么值得提升到长期记忆。
2. Group Chat 中泄露 MEMORY.md 链接到标题
MEMORY.md 只在 DM 会话中注入。Group Chat 中不应该注入 MEMORY.md(因为可能包含私密信息)。
3. 手动编辑 DREAMS.md 链接到标题
DREAMS.md 是 Dreaming 的只读输出。如果内容有问题,应该调整 MEMORY.md 和日常日志的质量。
4. 混淆 BOOT.md 与 BOOTSTRAP.md 链接到标题
- BOOTSTRAP.md:首次运行时的一次性仪式,完成后删除
- BOOT.md:Gateway 每次重启时执行的启动清单
5. Workspace 中提交敏感信息 链接到标题
.gitignore 应该忽略:API 密钥、Token、个人隐私信息、原始聊天记录。
6. HEARTBEAT.md 写太复杂 链接到标题
心跳每 30 分钟运行一次,清单太长会消耗不必要的 token。保持简洁。
六、总结 链接到标题
一句话原则:身份层定义人格,记忆层存储知识,知识库层提供结构化检索。
核心原则:
- SOUL.md 是灵魂——定义 Agent 如何思考和沟通
- MEMORY.md 是精选——只存持久、重要的事实
- memory/*.md 是草稿——日常记录,不求完美
- DREAMS.md 是镜子——反映 Agent 认为什么是重要的
- wiki/main/ 是知识库——结构化但不直接编辑
掌握这些文件的正确用法,Agent 就能成为真正了解你、了解你的工作的持久化助手。