OpenClaw 静态记忆文件的正确用法 链接到标题
引言 链接到标题
OpenClaw Agent 每次会话都是从零开始——重启后没有内置记忆。是什么让它感觉认识你?答案是静态记忆文件。
这些文件在每次会话启动时被注入到系统提示词中,是 Agent 持久化自我的唯一方式。
本文基于官方文档与实际部署经验,梳理一套正确使用静态记忆文件的方法。
架构总览 链接到标题
| 层级 | 作用 | 核心文件 |
|---|---|---|
| 身份层 | 定义我是谁 | SOUL.md / IDENTITY.md / USER.md / AGENTS.md |
| 记忆层 | 存储我知道什么 | MEMORY.md / DREAMS.md / memory/YYYY-MM-DD.md |
| 知识库层 | 结构化知识检索 | wiki/main/ |
合理定制这些文件,可以显著节省 token 消耗。以一次完整配置为例:官方模板合计约 10KB,定制后约 3.5KB,每次请求节省约 1600-2000 token(按 1 token ≈ 4 字符估算)。
一、身份层:定义 Agent 的灵魂 链接到标题
身份层文件在每次会话启动时自动注入,是 Agent 人格和行为的基础。
1. SOUL.md — 人格定义 链接到标题
职责:定义 Agent 的价值观、沟通风格、行为边界。
内容建议:
- 核心原则(如简洁、直接、不废话)
- 行为边界(如不主动发送外部消息,除非被要求)
- 沟通风格(如技术问题给出代码示例)
- 领域专长(如熟悉 DevOps 和容器技术)
注意:这是最重要的文件,所有回复都经过它的过滤。建议每月 review 一次。
实例:
# SOUL.md
## 原则
- **直接,不铺垫。** 没有"Great question",直接回答。
- **简洁优先。** 一句话能说清的事,不要用三段。
- **有主见。** 可以说"这个做法不好"、"我建议换一种方式"。
- **先自己查。** 读文件、搜记忆,搞不定再问。
- **边界感。** 隐私第一,对外谨慎。
- **24 小时原则。** 不废话、不抱怨、直接干活。
## 语气
说中文。该犀利时犀利,该温柔时温柔。
要点:中文编写,核心原则取代模板,不限定领域。
节省:官方模板 1673 字节,定制后 874 字节,约省 800 字节(~200 token/次请求)。
2. IDENTITY.md — 身份标识 链接到标题
职责:Agent 的名字、角色、emoji。
实例:
# IDENTITY.md - Who Am I?
- **Name:** Jax
- **Creature:** 私人助理
- **Vibe:** 高效、直接、随时待命
- **Emoji:** ⚡
要点:Name 与主机名一致(Agent = 这台机器),Creature 覆盖工作+家庭,不局限单一领域。
3. USER.md — 用户信息 链接到标题
职责:Agent 需要知道的关于你的信息——姓名、称呼偏好、时区、使用习惯。
实例:
# USER.md - About Your Human
- **Name:** Tom Zhang
- **What to call them:** tom
- **Timezone:** Asia/Shanghai (GMT+8)
- **Notes:** 通过飞书与我对话
## 使用习惯
- 涉及外发操作前必须先确认
- 关键改动作业要先输出计划
- 喜欢列表式回答
- 喜欢先给结论再展开
要点:Name 和日常称呼区分开,Context 明确 Agent 与主人的关系。
4. AGENTS.md — 操作规则 链接到标题
职责:Agent 的工作流程、优先级、特殊规则。
实例:
# AGENTS.md
## 会话启动
每次新会话先读 memory/YYYY-MM-DD.md(今天+昨天)。其他文件由 OpenClaw 自动注入。
## 记忆规则
MEMORY.md 只存持久事实和决策,只加载到主 DM 会话。
## 红线
- 绝不泄露私密数据
- 破坏性操作先确认
- 不确定就问
## 心跳
白天主动检查,晚上保持安静。没事就回 HEARTBEAT_OK。
要点:删除不适用内容(群聊、未使用平台规则),中文 40-50 行即可。
节省:官方模板 7874 字节,定制后约 1800 字节,约省 6000 字节(~1500 token/次请求)。
5. TOOLS.md — 工具惯例 链接到标题
职责:记录 Agent 应该如何使用可用的工具。不是控制工具是否存在,而是指导如何使用。
实例:
# TOOLS.md
## 博客
- 路径:~/workspace/my-blog
## 本地模型
- 地址:http://your-server:11434
- 模型:qwen3-vl:8b-instruct
## 对象存储
- S3 地址:http://your-storage:9000
- Bucket:your-bucket
要点:只记录端点信息,不放任何密钥。
⚠️ 安全原则:Workspace 中禁止提交密钥(API Key、Token、密码)。建议通过环境变量或密码管理工具保管。.gitignore 应包含 **/*.key 等模式。
6. HEARTBEAT.md — 心跳清单 链接到标题
职责:定时任务清单。Gateway 每 30 分钟读取一次,执行到期的任务。
实例:
# HEARTBEAT.md
## 定期检查任务
(暂无定期任务)
要点:没事就空着,不要硬塞任务,保持简洁以节省 token。
7. BOOT.md — 启动清单 链接到标题
职责:Gateway 重启时自动执行的检查项(需开启 internal hooks)。
注意:BOOT.md 与 BOOTSTRAP.md 是两个不同的文件。
- BOOTSTRAP.md:首次运行时的一次性仪式,完成后删除
- BOOT.md:Gateway 每次重启时执行的启动清单(可选)
二、记忆层:存储我知道什么 链接到标题
1. MEMORY.md — 长期记忆 链接到标题
职责:经筛选的长期知识——决策、偏好、重要事实。只在 DM(私密会话)中注入。
内容原则:
- 持久的事实和决策
- 用户偏好
- 项目背景
管理方式:
- Agent 在 Dreaming 阶段自动整理写入
- 主人可手动 review 和编辑
- 建议每周 review 一次,清理过时内容
⚠️ 不要:MEMORY.md 是精选层,不是原始层。原始对话、详细日志应放在 memory/YYYY-MM-DD.md。 ⚠️ 注意:MEMORY.md 只在 DM(私密会话)中注入,群聊中不加载,避免私密信息泄露。
实践建议:
1. 拆分详情,按需加载。 MEMORY.md 应只存摘要和索引。详细的操作规范(如笔记工具使用规则、外部 API 调用流程)应放在 memory/*.md 中,Agent 需要时通过 memory_search 按语义检索。
2. 密钥隔离,环境变量管理。 API Key、Token、密码等凭证不放入 workspace 文件。应写入 ~/.openclaw/.env,OpenClaw 自动注入进程环境。MEMORY.md 中使用 <PLACEHOLDER> 占位。
3. 设计哲学:透明可编辑 vs 全自动黑盒。 OpenClaw 的 MEMORY.md 是纯 Markdown,你可随时查看、修正、清理。日常写入由 Dreaming 自动完成,但建议定期 review。如果你的场景是面向完全不关心记忆内容的普通用户,全自动的 Hermes 可能更省心。这不是能力优劣,是透明度和可控性的取舍。
2. memory/YYYY-MM-DD.md — 每日日志 链接到标题
职责:每日运行笔记。记录当日事件、观察、对话摘要。
特点:
- 按日期自动命名
- 被 memory_search 索引
- 不注入到每次会话(只加载当天和昨天的)
3. DREAMS.md — Dream Diary 链接到标题
职责:Dreaming 阶段输出的人类可读报告。只读,不要手动编辑。
⚠️ 注意:DREAMS.md 是只读文件,由 Dreaming 自动生成,不要手动编辑。如果内容有问题,应该调整 MEMORY.md 和日常日志的质量。
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/ | 不注入 | 否 | - | - |
五、总结 链接到标题
一句话原则:身份层定义人格,记忆层存储知识,知识库层提供结构化检索。
核心原则:
- SOUL.md 是灵魂——定义 Agent 如何思考和沟通
- MEMORY.md 是精选——只存持久、重要的事实
- memory/*.md 是草稿——日常记录,不求完美
- DREAMS.md 是镜子——反映 Agent 认为什么是重要的
- wiki/main/ 是知识库——结构化但不直接编辑
掌握这些文件的正确用法,Agent 就能成为真正了解你、了解你的工作的持久化助手。