OpenClaw × Nowledge Mem
5 分钟配置指南,让 OpenClaw 同时拥有无损会话记忆和跨工具共享记忆。
配置完成后,OpenClaw 会把每段对话完整保存为可搜索的线程,也能把重要决策提炼成可追溯的记忆,同时读到你已经从其他 AI 工具、文档和导入线程里积累下来的知识。
而且 Nowledge Mem 做的不只是“存下来”。它会把相关知识连成图谱、跟踪观点如何演化,并在后台持续处理,让 OpenClaw 也能受益于每日工作记忆简报、冲突提醒,以及由多条来源综合形成的知识结晶(crystals)。
第一次成功应该是什么样
最快的验证方式很简单:先记住一条事实,在新会话里把它问回来,再确认这段会话本身也已经成为可搜索的线程。
让 AI 帮你完成配置
如果你想让 OpenClaw 或另一个 AI 代理帮你完成安装和配置,把下面这段话直接交给它:
Read https://nowled.ge/openclaw-skill and follow it to install, configure, verify, and explain Nowledge Mem for OpenClaw.这份指南是给 AI 代理读的,不是给人逐行照着操作的。它会处理本地模式、远程模式、可选 API 认证、显式信任设置、重启、验证,以及后续建议。
开始之前
需要准备:
- Nowledge Mem 已在本地运行(安装)
- OpenClaw 2026.3.7 或更高版本(OpenClaw 入门)
nmemCLI 在你的 PATH 中。在 Nowledge Mem 中,打开 设置 > 偏好设置 > 开发者工具,点击 安装 CLI。或独立安装:pip install nmem-cli
nmem status # 应显示 Nowledge Mem 正在运行
openclaw --version配置步骤
安装插件
openclaw plugins install @nowledge/openclaw-nowledge-mem安装器会自动启用插件,并把 OpenClaw 的 memory slot 切换到 openclaw-nowledge-mem。
更新到最新版本:
openclaw plugins update openclaw-nowledge-mem可选但推荐:把非内置插件加入信任 allowlist
如果 OpenClaw 提示 plugins.allow 为空,可以加入:
{
"plugins": {
"allow": ["openclaw-nowledge-mem"]
}
}如果你还用了 plugins.load.paths 或 openclaw plugins install --link 的本地副本,也要一起检查。OpenClaw 的 allowlist 按插件 id 生效,不会固定来源路径。
重启 OpenClaw,验证生效
openclaw nowledge-mem status看到 Nowledge Mem 可访问即配置成功。
如果你不是通过 openclaw plugins install 安装,而是手动维护配置,请确认 plugins.slots.memory 是 openclaw-nowledge-mem,并且 plugins.entries.openclaw-nowledge-mem.enabled 为 true。
本地模式不需要 API key。如果你要连接远程 Nowledge Mem 服务器,请设置 apiUrl;如果那台服务器开启了认证,再额外设置 apiKey。
验证配置(1 分钟)
在 OpenClaw 聊天中依次执行:
/remember 我们为任务事件选择了 PostgreSQL/recall PostgreSQL- 应立即找到/new- 开启新会话- 问:
任务事件的数据库我们选的什么?- 跨会话记住了 - 问:
这周我都做了什么?- 按周浏览 - 问:
2月17日我在忙什么?- 精确到某一天 /forget PostgreSQL 任务事件- 删除干净
如果以上七步都顺利,记忆系统已完整运作。
你能做什么
保留每一次 OpenClaw 会话,而不只是摘要
每段 OpenClaw 对话都会作为真实线程被保存下来,后面可以继续搜索和追溯。遇到值得长期保留的决策、经验或偏好时,Nowledge Mem 还可以把它们提炼成结构化记忆,并通过 sourceThreadId 反查回原始对话。
用图谱记忆,而不是平铺的存档
每条记忆都可以连到相关实体、同一主题更早或更新的版本,以及它来自的源对话。这样 OpenClaw 做的就不只是关键词检索,而是能追踪一个决策怎么变化、它和哪些主题相连、答案来自哪里。
让知识在后台继续成长
当你在 Nowledge Mem 里开启 Background Intelligence 后,系统会在会话结束后继续工作:去重重叠内容、找出矛盾、生成 Working Memory 简报,并在多条记忆逐渐收敛时形成知识结晶(crystals)。下次你使用 OpenClaw 时,这些结果就已经在那里了。
记住任何事情
告诉 AI /remember 我们决定不用微服务,原因是团队太小,下周换一个会话,直接问"微服务那个决定是怎么说的",它能找到。
按日期找回工作内容
问"上周二我在做什么",AI 会列出那天你保存的内容、添加的文档、生成的洞察。支持指定具体日期,不只是"最近 N 天"。
把其他 AI 工具里的知识也带进 OpenClaw
你在 Claude 里得到的结论、在 Cursor 里做的决定、在浏览器 AI 聊天里保存的内容,或者从旧线程导入的历史,都可以进入同一个记忆层。OpenClaw 不是孤立工作的,它接入的是一整套持续增长的上下文系统。
追溯一个决策的来龙去脉
问 AI "这条记忆是怎么来的、和什么有关",它会展示:这条知识的原始来源文档、哪些相关记忆被合成为了更高层的洞察、这个认识随时间怎么变化过。
可选:让每次会话一开始就带着上下文
开启 sessionContext 后,Nowledge Mem 会在第一轮回复前注入今日工作记忆和相关记忆。这样 OpenClaw 从一开始就知道你最近在关注什么。默认模式下不会自动注入这部分上下文,AI 仍然有完整的记忆工具和一条简短的系统提示,但它会自己判断什么时候搜索。
保存时带上类型和时间
你不只是在保存文字,你在记录结构化的知识。告诉 AI "记住这是一个决策,发生在 2026 年 2 月",它会以正确的类型和时间存进知识图谱。支持 8 种类型:事实、偏好、决策、计划、流程、学习、背景、事件。
追溯记忆的来源对话
当一条记忆是从对话中提炼出来的,它会包含 sourceThreadId。AI 可以用 nowledge_mem_thread_fetch 获取完整对话,查看当时说了什么、做了什么决定、结论是怎么得出的。
直接搜索过去的对话
问"找一下我们讨论 Redis 缓存的那次对话",AI 会用 nowledge_mem_thread_search 找到匹配的对话线程和消息片段。然后用 nowledge_mem_thread_fetch 逐页获取完整消息。
斜杠命令快捷方式:/remember、/recall、/forget
工作原理
每轮对话的工作流
每次你发送消息,插件会在 AI 处理之前注入行为引导。AI 随后决定调用哪些工具。
行为技能和始终在线的引导提示 AI 回答前先搜索、做完决定后保存。每个工具的触发时机:
| 场景 | 工具 | 做什么 |
|---|---|---|
| 用户提问 | memory_search | 回答前搜索知识库,返回 sourceThreadId |
| 做了决策、学到新东西 | nowledge_mem_save | 结构化保存:类型 + 标签 + 时间 |
| "上周我在做什么?" | nowledge_mem_timeline | 按天分组的活动流,支持精确日期 |
| "X 和 Y 有什么关联?" | nowledge_mem_connections | 图谱遍历:边、实体、演化链、来源 |
| 需要今日重点/优先事项 | nowledge_mem_context | 读取工作记忆每日简报 |
记忆有 sourceThreadId | nowledge_mem_thread_fetch | 获取完整来源对话,支持分页 |
| "找一下我们讨论 X 的对话" | nowledge_mem_thread_search | 按关键词搜索过去的对话 |
| "忘掉 X" | nowledge_mem_forget | 按 ID 或搜索词删除 |
| "我的配置对吗?" | nowledge_mem_status | 显示配置、连接状态和版本 |
会话生命周期(自动捕获)
会话结束时,对话自动被捕获并可选地提炼为结构化记忆。无需用户操作。
要点:
- 线程捕获是无条件的,每段对话都会保存,可通过
nowledge_mem_thread_search搜索 - LLM 提炼仅在
agent_end时运行,检查点期间不执行 - 提炼出的记忆携带
sourceThreadId,可追溯到来源对话
渐进式检索(记忆 -> 线程 -> 消息)
从对话中提炼的记忆携带 sourceThreadId,形成检索链:搜索记忆 -> 追溯来源对话 -> 分页读取完整消息。
两个进入过去对话的入口:
- 从记忆出发:
memory_search或memory_get返回sourceThreadId,然后获取来源对话 - 直接搜索:
nowledge_mem_thread_search按关键词查找对话,然后获取任意结果
三种模式
插件支持三种运行模式。根据你想要多少保障、愿意花多少 token 预算来选择。
| 模式 | 配置 | 行为 | Token 开销 |
|---|---|---|---|
| 默认(推荐) | sessionContext: false | AI 按需调用 10 个工具。会话结束时自动捕获 + 提炼。 | 开销最低,由 AI 自己判断何时搜索 |
| 会话上下文 | sessionContext: true | 每次提示时自动注入工作记忆和相关记忆,同时仍可使用全部 10 个工具。 | 每轮提示更大,但从第一轮开始就带着上下文 |
| 最小模式 | sessionDigest: false | 仅工具调用,不自动捕获。 | 只保留那条简短系统提示的开销 |
选哪个模式?
- 大多数用户:从默认模式开始。AI 每轮收到行为引导,提示它回答前先搜索、做完决定后保存。大多数对话场景下效果良好。
- 短会话或需要高准确性:开启
sessionContext。这确保从第一轮开始就有相关记忆在上下文中,AI 不需要自行判断是否搜索。代价是每轮提示会更大。 - 完全手动控制:设置
sessionDigest: false。你自己决定什么该保存(通过/remember或nowledge_mem_save),不会自动捕获任何内容。
sessionContext - 会话上下文注入
开启后,插件在每次提示时自动注入上下文:
- 读取工作记忆,即后台智能每天早上生成的今日简报
- 根据当前消息在知识图谱中搜索相关记忆
- 将检索到的内容作为这次回答的上下文插入,同时把稳定的行为引导放在系统提示区域
开启 sessionContext 后,行为引导会自动调整,告诉 AI 上下文已经注入,memory_search 仅用于特定的后续查询,而非广泛的回忆。这样可以避免重复搜索相同的上下文。
适用于短会话和关键工作流,确保从第一轮开始就有完整的记忆上下文。
sessionDigest - 对话线程 + LLM 智能提炼(默认开启)
在会话生命周期事件(agent_end、after_compaction、before_reset)时执行两步操作:
1. 对话线程保存(始终执行)。 完整对话被追加到 Nowledge Mem 的持久化线程中。无条件执行,每条消息都会被保存,可通过 nowledge_mem_thread_search 搜索浏览。
2. LLM 智能提炼(有价值时才执行)。 保存线程后,先用一次轻量级 LLM 筛选判断对话中是否有值得保存的内容(决策、洞察、偏好、事实)。如果有,执行完整的提炼流程,提取带有正确类型、标签和时间信息的结构化记忆。支持任何语言。
上下文压缩:当 OpenClaw 压缩长对话时,插件会先捕获对话记录,不会丢失任何内容。
消息去重:线程追加按消息 ID 幂等,不会出现重复内容。
常见问题
AI 每次回答前都会搜索记忆吗?
插件通过两层机制驱动记忆召回。第一层是行为技能(由 OpenClaw 自动发现),教会 AI 何时以及如何使用记忆工具。第二层是始终在线的系统提示,提醒 AI 在回答关于过去工作、决策或偏好的问题之前先搜索记忆。实际使用中,现代 LLM 会可靠地遵循这种指令式引导。对于不需要历史上下文的消息(比如「你好」「谢谢」),AI 会跳过搜索,这是正确的权衡。如果你需要确保每次都有完整的记忆上下文,开启 sessionContext: true,它会在 AI 处理消息之前就注入相关记忆。
怎么防止 AI 重复保存同一件事?
两层防护。第一,插件在每次保存前都会检查是否已有高度相似的记忆,如果相似度极高,保存会被跳过,返回已有记忆的信息。第二,Nowledge Mem 的后台智能在后台运行更深层的去重,它识别记忆之间的语义重叠,并通过 EVOLVES 链(替代、丰富、确认或挑战)建立关联。插件处理明显的重复;后台智能处理微妙的重复。
没有主动保存的对话会怎样?
如果 sessionDigest 开启(默认就是开启的),每段对话都会保存为可搜索的线程,之后可以通过 nowledge_mem_thread_search 找到。同时,一次轻量级 LLM 筛选会检查对话中是否包含值得保存的决策、洞察或偏好。如果有,会提取为带有正确类型、标签和时间信息的结构化记忆。如果对话只是日常交流,不会额外保存任何内容。
记忆会过时吗?
会,这是设计的一部分。Nowledge Mem 的 EVOLVES 链追踪认知如何变化:新的记忆可以替代、丰富或挑战旧的记忆。后台智能自动识别这些关系。搜索时,相关性评分会考虑时间因素,更新的记忆默认排名更高。
配置
正常通过 npm 安装时,开箱即用。安装器已经帮你启用了插件并选好了 memory slot。
修改设置:打开 OpenClaw 控制面板,进入 Automation > Plugins。在 Plugin Entries 下展开 Nowledge Mem,再展开 Nowledge Mem Config。也可以在搜索栏输入"nowledge"直接定位。

修改后重启 OpenClaw 生效。
| 设置 | 默认值 | 说明 |
|---|---|---|
| Session context injection | 关 | 每次提示时注入工作记忆和相关记忆 |
| Session digest at end | 开 | 会话结束时捕获对话 + 提炼关键记忆 |
| Minimum digest interval | 300s | 会话提炼最短间隔秒数(0 = 无限制) |
| Max context results | 5 | 注入的记忆数量(1-20) |
| Min recall score | 0 | 仅注入相关性高于此阈值的记忆(0-100%),0 表示全部包含 |
| Max thread message chars | 800 | 每条捕获线程消息保留的最大字符数(200-20000),长代码或技术对话可适当调高 |
| Server URL | 空 | 远程服务器 URL(留空 = 本地) |
| API key | 空 | 远程模式 API 密钥 |
远程访问
连接另一台机器上的 Nowledge Mem 服务器:创建 ~/.nowledge-mem/config.json 填入凭据——与 nmem CLI、Bub、Claude Code 等所有集成共享同一个文件:
{
"apiUrl": "https://<your-url>",
"apiKey": "nmem_..."
}也可以在 OpenClaw 仪表盘的插件设置中填写 Server URL 和 API key。API 密钥仅通过进程环境传递,不会出现在日志或命令行历史中。详见:随处访问 Mem。
遇到问题?
插件装了,但 OpenClaw 好像没在用它
检查 plugins.slots.memory 的值是否正好是 openclaw-nowledge-mem,确认修改配置后重启了 OpenClaw。
plugins.allow is empty 警告
这表示 OpenClaw 发现了一个非内置插件,但你还没有把它加入显式信任列表。如果这是你通过 npm 安装的插件,可以加入:
{
"plugins": {
"allow": ["openclaw-nowledge-mem"]
}
}如果你还配置了 plugins.load.paths 或本地 link 版本,也要一起检查。OpenClaw 的 allowlist 只按插件 id 生效,不会固定到某个来源路径。
"Duplicate plugin id detected" 警告
如果你之前本地安装过插件(例如使用 --link),之后又从 npm 安装, OpenClaw 会同时从两处加载。解决方法:删除配置中指向本地插件目录的 plugins.load.paths 条目。
打开 ~/.openclaw/openclaw.json,删除指向本地插件目录的 plugins.load.paths 条目:
"load": {
"paths": []
}然后重启 OpenClaw。警告会消失,只会加载 npm 安装的版本。
status 显示无法连接
nmem status
curl -sS http://127.0.0.1:14242/health搜索只找到一两条结果
把 maxContextResults 调高到 8 或 12。
为什么用 Nowledge Mem 而不是其他方案?
其他记忆工具把你说过的话存成一段段文字,靠语义相似度找回来。Nowledge Mem 不一样。
知识是有结构的。 你保存的每条记忆都知道自己是什么类型(决策、学习、计划还是偏好),知道它什么时候发生、指向哪些来源文档、和哪些其他记忆有关联。这让搜索更准、推理更靠谱。
知识会演化。 你今天写的理解,和三个月后更新过的认识,在系统里是连在一起的。你可以看到自己的想法怎么变化的,不会丢掉中间的过程。
知识来自哪里是透明的。 从 PDF、文档或网页提取的每条知识,都保留着指向原始文件的链接。AI 告诉你"根据你三月份的设计文档",你能直接验证。
跨工具共享。 在 Cursor 里学到的,在 Claude 里记下的,在 OpenClaw 里一样能用。你的知识不属于任何一个工具,它属于你。
本地优先,无需云账户。 你的知识存在本地。远程访问是可选的,不是必须的。
搜索怎么工作的?参见搜索与相关性。
给进阶用户
OpenClaw 的 MEMORY.md 工作区文件仍然有效,但记忆工具的实际调用全部由 Nowledge Mem 处理。两者可以共存。
插件通过 nmem CLI 子进程与 Nowledge Mem 通信。这意味着本地和远程模式的行为完全一致,配置好地址后不需要其他改动。
相关
- 集成概览 - 原生集成、复用包、MCP 与浏览器捕获
- Claude Code · Claude Desktop · Codex CLI · Alma · Raycast · 内置 Web 聊天
参考
- 插件源码:nowledge-mem-openclaw-plugin
- OpenClaw 文档:插件系统
- 更新日志:CHANGELOG.md