本文档描述 OpenClaw 的记忆系统,它使用”Agent 工作区中的纯 Markdown 文件”作为基础。文件本身就是真实来源——模型只保留持久化到磁盘的内容。
双层系统:
memory/YYYY-MM-DD.md)- 仅追加文件,在会话开始时读取(今天 + 昨天)MEMORY.md)- 精心整理的持久存储,仅在私人会话中加载文件位于工作区目录(默认:~/.openclaw/workspace)。
MEMORY.md在上下文压缩之前,会触发一个静默的 Agent 轮次,提示模型保存重要信息。关键设置包括 memoryFlush 配置块中的 softThresholdTokens、systemPrompt 和 prompt 字段。如果工作区访问是只读的,则跳过刷新。
在记忆文件上构建语义索引,无论措辞如何都能找到相关笔记。
提供者优先级: local(如果已配置)→ OpenAI → Gemini → 禁用
支持的提供者: OpenAI、Gemini(原生)、local(node-llama-cpp)或自定义 OpenAI 兼容端点。
提供的工具:
memory_search - 返回带有文件路径和行范围的片段memory_get - 读取特定记忆文件内容结合语义匹配和关键词相关性。向量搜索擅长处理释义;BM25 擅长精确标记,如 ID 和代码符号。结果使用可配置的权重合并(默认:70% 向量,30% 文本)。
extraPaths 索引默认位置之外的 Markdown~/.openclaw/memory/<agentId>.sqlite