OpenClaw 内存:它如何工作、为何重要,以及你如何控制它

CometAPI
AnnaMar 10, 2026
OpenClaw 内存:它如何工作、为何重要,以及你如何控制它

自主 AI 代理的兴起为软件系统引入了一个新范式:持久化机器认知。与传统的无状态聊天机器人不同,现代代理框架(例如 OpenClaw)支持连续的、具备上下文感知的 AI 工作流。实现这一能力的核心是 OpenClaw 的记忆系统,它允许代理在多个会话间存储、检索并演化知识。

持久化记忆将 AI 助手从短暂的对话工具转变为能够随着时间记住决策、学习偏好并维护项目级知识的有状态系统。实际效果是,开发者在与代理交互时不再需要反复解释上下文,或每次都重新初始化工作流( If you are still wondering how to get started and configure OpenClaw, this is Five-minute tutorial on configuring OpenClaw with CometAPI)。

然而,这一架构转变也带来了复杂的工程挑战:

  • 记忆如何存储与检索?
  • 开发者如何控制记忆行为?
  • 持久化代理记忆的安全影响是什么?
  • 记忆如何扩展而不压垮 LLM 的上下文窗口?

本文将对 OpenClaw 记忆系统进行深入的技术解析,涵盖其架构、存储模型、检索流水线、控制机制与安全性考量。

什么是 OpenClaw?

OpenClaw 是一个开源的、以工作区为先的个人 AI 助手,运行在你的本地设备上。它可连接到聊天平台(WhatsApp、Telegram、Slack、Discord 等),提供 Gateway 控制平面,并且——对本文尤为关键的是——将它的“记忆”作为纯文件保存在工作区目录中。这样的设计让记忆既透明又可直接控制:记忆不是模型内部的隐藏数据库;代理工作区中的文件才是唯一可信来源。

无状态 vs 有状态 AI 系统

传统对话式 AI 系统以无状态模式运行。每次交互都被独立处理,除非在提示中显式提供,否则对系统此前会话一无所知。

这会带来多种限制:

  • 会话之间上下文会被重置
  • 用户必须重复提供信息
  • 无法进行长期学习
  • 工作流无法持久化

OpenClaw 通过在代理工作区中引入持久化记忆来解决这一限制。

OpenClaw 不再仅依赖语言模型的上下文窗口,而是维护一个以结构化文件存储的本地记忆层,供代理读取与更新。

这带来的能力包括:

  • 跨会话的上下文延续
  • 长期知识存储
  • 个性化 AI 助手
  • 跨较长时间线的工作流自动化

因此,OpenClaw 将 AI 助手从无状态的响应器转变为携带知识的代理。

记忆架构——四个关键层

OpenClaw 的运行时将信息组织成多个层级。理解这些层级是控制代理记住什么、能访问什么的关键。

1) 工作区引导文件——最耐久的核心

诸如 SOUL.mdAGENTS.mdIDENTITY.mdTOOLS.mdMEMORY.md 等文件位于工作区根目录,被视为引导材料。它们会在会话启动时从磁盘重新加载,是最“耐久”的记忆:它们能在令牌压缩中幸存,并在每次提示构建时从磁盘重新引入,而不是来自短暂的会话历史。将这些文件用于长期事实(用户偏好、法律约束、项目决策)。

2) 每日/会话文件——短到中期上下文

OpenClaw 收集对话记录并保存会话文件(例如 memory/ 文件夹下的每日日志)。这些文件对近期上下文与会话连续性很有用,但当代理的上下文窗口过大时,可以被清理或压缩。许多用户依赖诸如 memory/2026-03-10.md 这样的每日日志来捕获临时事实。

3) LLM 上下文窗口——短暂却决定性

每轮提示由引导文件、近期会话历史和检索到的记忆结果组合构建。这个提示中的上下文正是 LLM 在生成答案时真正“可见”的部分;它是短暂的(受令牌预算限制),并在每一轮被重建。若你希望代理行为一致,请确保关键指令位于引导文件中,而不仅存在于短暂消息里。

4) 语义索引/记忆插件——快速检索

为帮助代理找到相关的历史笔记,OpenClaw 使用记忆插件(默认:memory-core),对 Markdown 文件及可选的外部向量存储(sqlite-vec、LanceDB、QMD 等)提供语义搜索。索引与文件相互独立:文件是唯一可信来源;索引用于加速检索。你可以切换插件以改变后端行为(嵌入提供方、检索算法、持久化策略)。

OpenClaw 的记忆如何工作?

基于 Gateway 的代理架构

OpenClaw 采用以 Gateway 为中心的架构,用于编排多个系统组件之间的通信。

核心组件:

ComponentFunction
Gateway中央进程,负责管理通信
BrainLLM 推理引擎
Hands执行层(shell、文件系统、浏览器)
Memory持久化知识存储
Channels消息接口
Skills可扩展的自动化模块

在该架构中,记忆充当代理知识的长期存储层。

以文件为记——唯一可信来源

OpenClaw 将代理工作区中的纯 Markdown 文件置于其记忆模型的核心。代理通过读写这些文件来持久存储、并可由人类直接编辑。LLM 仅“记得”已写入磁盘的内容——易失的会话上下文独立于此。常见的文件与约定包括:

  • MEMORY.md —— 精选的、长期耐久的记忆条目(决策、用户画像事实、持久偏好)。
  • memory/YYYY-MM-DD.md —— 仅追加的每日日志,用作临时/每日记忆。
  • USER.mdSOUL.mdAGENTS.md —— 其他影响代理个性或行为的工作区文件。
    这些文件位于代理工作区(默认 ~/.openclaw/workspace),你可随时读取或编辑。

两条访问路径:文件直读 + 索引检索

由于纯文件在大规模语义检索上效率不高,OpenClaw 将 Markdown 源文件与索引(一个向量存储与可选 BM25 文本索引)配对。索引由面向代理的 memory_search 工具使用;而目标读取使用 memory_get 直接按文件/行范围读取。嵌入(向量)+ BM25(关键词)的混合索引方式同时提供语义回忆与精确匹配的可靠性。典型索引存储是本地 SQLite 文件增强的向量搜索(例如 ~/.openclaw/agents/<agentId>/index.sqlite)。

  • memory_search(query, topK) —— 返回带元数据(路径、行号、分数)的匹配片段排名列表。用于在回答前“先搜索”相关记忆。
  • memory_get(path, startLine, endLine) —— 返回 Markdown 文件的原始切片;用于你已知道记忆所在位置的场景。
    这些是内置的代理工具;技能与自定义代码可按需调用。

生命周期:写入、索引、回忆、刷新、压缩

OpenClaw 实现了显式的记忆生命周期:

  1. 写入 —— 当发生值得记忆的事件时(显式请求、决策记录或自动记忆刷新),代理将记忆写至 Markdown 文件。
  2. 索引 —— 文件监视器与批处理任务增量地将新增/变更文件索引进向量 + BM25 存储。
  3. 回忆 —— 代理在会话中调用 memory_search(语义)或 memory_get(定向)。
  4. 记忆刷新(压缩前)—— 当会话上下文接近模型窗口上限,OpenClaw 触发一次静默代理轮次,将代理认为必须保留的内容在压缩前写入磁盘(可配置)。
  5. 压缩 —— 系统对活跃会话上下文进行压缩或总结以保持精简;记忆文件作为耐久后备。

分块与嵌入流水线(技术细节)

当文件被索引时,会进行分块(常见启发式:每块约 300–500 个 token,带重叠),随后对每块使用你选择的提供方(OpenAI、Gemini、本地 GGUF 嵌入等)计算嵌入。生成的向量与源元数据(文件路径、起止行、时间戳)一起存储,以供检索。检索通过计算查询嵌入、在向量空间执行最近邻搜索,并可选地与 BM25 分数及重排序结合。该混合方法在保持对意译内容的语义回忆的同时,提高了事实查询的精度。

具体实践:如何控制记忆(命令、文件、配置)

下面是操作人员与开发者可用于检查、修改和控制 OpenClaw 记忆的分步实践。示例假设标准本地安装,默认工作区为 ~/.openclaw/workspace(可通过 agents.defaults.workspace 覆盖)。

检查与备份原始记忆文件

记忆即 Markdown。备份整个工作区,或至少复制 MEMORY.mdmemory/ 文件夹。

Shell 示例:

# show workspace location (recommended)openclaw config get agents.defaults.workspace# copy memory files to a timestamped backupcp -r ~/.openclaw/workspace ~/.openclaw/workspace-backup-$(date +%F-%H%M)# or only memory files:cp ~/.openclaw/workspace/MEMORY.md ~/backups/opencaw-MEMORY-$(date +%F).mdcp -r ~/.openclaw/workspace/memory ~/backups/opencaw-memory-$(date +%F)/

文档与社区指南明确建议复制 MEMORY.md + memory/ 以进行导出/备份。

编辑 MEMORY.md——编码长期事实的推荐方式

将稳定的偏好与事实写入 MEMORY.md。该文件会在会话启动时读取,并直接注入上下文。

MEMORY.md 示例片段:

# MEMORY.md## User preferences- timezone: Asia/Tokyo- prefers_brief_responses: true- default_calendar: personal@gmail.com## Projects- acme-internal: deploy target Cloudflare Workers, main repo: github.com/org/acme

编辑后,新会话的文件读取无需重启;但若依赖插件索引,可能需要重新索引(见下文)。

以编程方式写入记忆(Node.js 示例)

由于记忆是文件,简单脚本即可追加或创建记忆条目。这在外部系统需要将事实记录到代理工作区时很有用。

// append-memory.js (Node.js)import {writeFileSync, appendFileSync} from 'fs';import {homedir} from 'os';import path from 'path';const ws = path.join(homedir(), '.openclaw', 'workspace');const mdPath = path.join(ws, 'memory', ${new Date().toISOString().slice(0,10)}.md);// ensure folder exists and append a factappendFileSync(mdPath, \n- ${new Date().toISOString()}: Completed deployment for project X\n);console.log(Wrote to ${mdPath});

提示:在写入前使用 openclaw config get agents.defaults.workspace 确认工作区路径。

重新索引与插件控制

如果你修改了记忆文件且依赖语义搜索,需要重新索引(或等待插件的自动索引器)。

  • 查看当前激活的插件:openclaw config get plugins.slots.memory
  • 重新索引(取决于插件——很多插件提供类似 openclaw memory reindex 的 CLI,或需要重启 Gateway)

禁用记忆插件(强制仅文件模式)的配置示例:

// ~/.openclaw/openclaw.json (partial){ "plugins": { "slots": { "memory": "none" } }}

更改插件设置后,重启 Gateway 使配置生效:

openclaw gateway restart

文档与配置参考明确展示 plugins.slots.memoryplugins.installs 是管理记忆插件的控制项。

切换记忆后端——示例:添加 LanceDB 插件

社区插件可将默认记忆后端替换为更高规模的向量存储。示例模式(来自广泛使用的社区插件):

# from your workspace rootcd ~/.openclaw/workspacegit clone https://github.com/win4r/memory-lancedb-pro.git plugins/memory-lancedb-procd plugins/memory-lancedb-pronpm install# then update openclaw.json to activate the 'memory-lancedb-pro' plugin# and restart gateway:openclaw gateway restart

插件的 README 与作者建议在 plugins.load.paths 中使用绝对路径,并为嵌入 API 密钥显式设置环境变量。

CLI 记忆搜索与故障排查

OpenClaw 提供 openclaw memory 等 CLI 助手用于搜索或管理语义索引。注意插件特定的问题(例如,QMD 后端用户报告过索引/搜索不匹配,需要重新配置)。当结果缺失时,重建索引并检查插件日志。

以文件为记——唯一可信来源

OpenClaw 将代理工作区中的纯 Markdown 文件置于其记忆模型的核心。代理通过读写这些文件来持久存储、并可由人类直接编辑。LLM 仅“记得”已写入磁盘的内容——易失的会话上下文独立于此。常见的文件与约定包括:

  • MEMORY.md —— 精选的、长期耐久的记忆条目(决策、用户画像事实、持久偏好)。
  • memory/YYYY-MM-DD.md —— 仅追加的每日日志,用作临时/每日记忆。
  • USER.mdSOUL.mdAGENTS.md —— 其他影响代理个性或行为的工作区文件。
    这些文件位于代理工作区(默认 ~/.openclaw/workspace),你可随时读取或编辑。

结语

OpenClaw 的记忆系统代表了 AI 架构的一次根本性转变。

平台不再是短暂的对话,而是引入了持久、由开发者可控的记忆层,使 AI 代理能够随时间累积知识。

其设计强调:

  • 通过基于文件的存储实现透明性
  • 通过基于嵌入的检索实现可扩展性
  • 通过配置实现开发者可控
  • 通过插件实现可扩展性

但持久化记忆也带来了新的工程与安全挑战,需要开发者谨慎管理。

随着自治代理愈发强大并广泛部署,类似 OpenClaw 的记忆系统很可能成为下一代智能软件系统的核心组件。

CometAPI 现已集成 openclaw。If you are looking for APIs that support Claude, Gemini, and GPT-5 Series, CometAPI is the best choice for using openclaw, and its API price is continuously discounted.). OpenClaw 最近更新了对 GPT-5.4 的兼容性并优化了工作流。现在你也可以通过 CometAPI 的 GPT-5.4 配置 OpenClaw。

Ready to Go?→ Sign up fo openclaw today !

If you want to know more tips, guides and news on AI follow us on VK, X and Discord!

以低成本 获取顶级模型

阅读更多