文档大纲

从Claude-Mem到OpenClaw:9天打造专属AI持久化记忆技能

快速落地方法: 本文及本站大部分openclaw相关文章,都可以让Openclaw agent阅读,然后进行应用,参考Prompt如下: 请阅读这篇文章:
https://www.aiec.fun/%e4%bb%8eclaude-mem%e5%88%b0openclaw%ef%bc%9a9%e5%a4%a9%e6%89%93%e9%80%a0%e4%b8%93%e5%b1%9eai%e6%8c%81%e4%b9%85%e5%8c%96%e8%ae%b0%e5%bf%86%e6%8a%80%e8%83%bd/ 分析有哪些内容,对我们优化工作流程有价值。并严格根据openclaw/Darwin-Skill最新官方文档进行核对,排除错误及过时信息,制定落地计划,安装和部署GBrain。 详细方法,参考文章 >>>

一、项目概述

Claude-Mem是由 Alex Newman (@thedotmack) 开发的开源持久化记忆压缩系统,专为 AI 编码助手设计。截至 2026 年 5 月,项目已发布多个大版本,持续活跃迭代,在 GitHub 上获得了广泛关注,是目前最成熟、最实用的 AI代理个人记忆解决方案之一。
  • GitHub 仓库:github.com/thedotmack/claude-mem
  • 官方文档:claude-mem.ai/docs
  • 许可证:Apache-2.0
  • 核心定位:彻底解决 AI 助手的 "上下文失忆" 问题,使 AI 能够跨会话记住个人项目历史、决策和偏好

二、核心价值与作用

1. 解决 AI 开发的核心痛点

Claude-Mem 精准击中了所有 AI 编码助手共有的致命缺陷 ——"上下文失忆":
  • 每次会话结束后,AI 会完全忘记所有项目上下文
  • 开发者需要反复向 AI 解释项目结构、技术栈和历史决策
  • 大量宝贵的 token 被浪费在重复的上下文说明上
  • 多日开发任务的连续性被无情打断

2. 核心功能特性

功能 描述 核心价值
自动观察捕获 通过 5 个 IDE 级生命周期钩子 (SessionStart、UserPromptSubmit、PostToolUse、Stop、Setup) 自动拦截所有工具调用、文件操作和决策过程 零配置、零手动记录,完全无感使用
AI 语义压缩 使用 Claude Agent SDK 将任意长度的工具输出压缩为约 500token 的标准化结构化观察 平均节省约 10 倍 token 消耗
混合搜索系统 SQLite FTS5 全文搜索 + 可选 Chroma 向量搜索 兼顾精确匹配和语义理解,检索准确率大幅提升
渐进式披露检索 3 层智能检索工作流:搜索索引→时间线→获取详情 最大化 token 效率,只在需要时注入相关上下文
实时 Web UI React-based 实时记忆流查看器 可视化查看 AI 的 "思考过程" 和知识积累
多语言支持 支持 28 + 种语言,包括简体中文 全球开发者无障碍使用
隐私控制 支持 <private> 标签排除敏感内容 保护企业机密和个人隐私
项目隔离 为不同项目维护完全独立的记忆库 防止不同项目之间的上下文 "污染"
自动文档生成 自动生成项目 CLAUDE.md 文档,支持 Git Worktree 大幅提升项目可维护性和知识沉淀

3. 技术架构优势

Claude-Mem 采用了精心设计的分层解耦架构,确保了高性能和高可靠性:
  • 插件钩子层:轻量级 IDE 钩子,不阻塞主会话执行
  • 工作服务层:独立的 Bun 进程处理 AI 压缩和 HTTP 请求
  • 数据库层:SQLite+FTS5 提供高性能本地持久化存储
  • 搜索层:混合搜索系统支持自然语言查询
  • UI 层:实时 SSE 推送的 Web 管理界面
这种架构确保了所有记忆处理操作都在后台异步进行,完全不会影响 AI 助手的响应速度。

三、对 OpenClaw (小龙虾) 的参考价值

1. 架构层面的参考

Claude-Mem 的以下架构设计理念对 OpenClaw 有重要的借鉴意义:
  • 非阻塞后台处理:所有计算密集型的记忆压缩和索引操作都在独立的工作进程中进行,不影响主代理的执行
  • 标准化生命周期钩子:通过定义清晰的钩子接口,实现了与 IDE 的无缝集成
  • 混合搜索策略:结合全文搜索的精确性和向量搜索的语义理解能力
  • 渐进式披露机制:先返回轻量级索引,再按需获取详细内容,最大化 token 效率
  • 事务安全存储:使用 SQLite 的 WAL 模式确保数据一致性,防止系统崩溃导致的数据丢失

2. 功能层面的参考

Claude-Mem 的以下功能设计可以直接借鉴到 OpenClaw 中:
  • 结构化观察设计:将原始工具输出转化为包含 title、narrative、facts、concepts 等字段的标准化格式
  • 会话交接生成:在会话结束时自动生成结构化的交接文档
  • 知识 agent 工作流:Build→Prime→Query 的知识处理流程
  • 文件夹文档自动生成:根据项目内容自动生成标准化的项目文档
  • 内容类型分类:为不同类型的内容 (bugfix、feature、refactor、discovery、decision、change) 设置不同的处理策略

3. 最佳实践参考

Claude-Mem 经过多个版本的迭代,积累了大量 AI 记忆系统的宝贵最佳实践:
  • 概念标签系统:使用 how-it-works、why-it-exists、what-changed、problem-solution、gotcha、pattern、trade-off 等标签对观察进行分类
  • 用户 / 代理分离:将用户输入与代理生成的操作记忆分开处理
  • 资源优先原则:静态知识 (如架构文档、API 参考) 不应用时效性衰减
  • 渐进式加载:根据 token 预算动态调整注入的上下文量
  • 手动清理机制:用户可通过 clean 命令手动清理不再需要的 folder CLAUDE.md 文件

四、OpenClaw 集成可行性深度分析

1. 官方支持状态

Claude-Mem 官方文档列举的受支持 IDE 包括:Claude Code, Cursor, Gemini CLI, Windsurf, OpenCode, Codex CLI, OpenClaw。OpenClaw 在列表中排在最后,说明集成深度明显不及 Claude Code 原生,且官方文档未提供 OpenClaw 的专门集成步骤。 GitHub 仓库中确实存在openclaw/目录,包含 OpenClaw 集成代码,但具体功能完整性和稳定性需要进一步验证。

2. 官方安装方式

Claude-Mem 官方提供三种标准安装方式:
  1. 推荐方式:bash运行npx claude-mem install 该命令会启动交互式安装程序,要求用户手动选择 IDE,不具备自动检测 OpenClaw 的能力。
  2. 插件市场方式:bash运行/plugin marketplace add thedotmack/claude-mem /plugin install claude-mem
  3. 源码编译方式:bash运行git clone https://github.com/thedotmack/claude-mem.git cd claude-mem npm install npm run build

3. 集成难度评估

集成维度 难度 详细说明
架构兼容性 低 Claude-Mem 依赖 IDE 级别的工具调用拦截钩子,OpenClaw 没有等价机制;OpenClaw 的 sessions_spawn 是会话管理工具,不是工具调用拦截
代码复用率 低 核心的自动捕获逻辑完全无法复用,只能借鉴数据结构和检索算法
集成复杂度 高 由于缺乏工具调用级钩子和原生会话结束事件,无法实现 Claude-Mem 的全自动记忆体验
性能影响 可忽略 所有处理都可以在后台独立进程中进行
学习曲线 高 需要深入理解两个系统的架构差异,进行大量适配工作

4. Claude-Mem 对 OpenClaw 的适配分析

功能 Claude-Mem OpenClaw 现状 适配难度
自动捕获工具调用 ✅ 5 个 IDE 钩子 ❌ 无等价钩子 核心差距
AI 压缩为结构化观察 ✅ SDK 自动压缩 ❌ 无,需手动总结 可通过子 agent 模拟
SQLite + FTS5 存储 ✅ ❌ 用 Markdown + GBrain 中等
3 层渐进式检索 ✅ Search→Timeline→Get ❌ memory_search 一次性加载 容易 (通过 prompt)
Session 自动生成 ✅ Stop IDE 钩子触发 ❌ 每日日报 (手动) 可通过定时任务触发
知识 agent ✅ ❌ 无 难
Web Viewer UI ✅ ❌ 无 可选
项目隔离 ✅ ⚠️ 通过 workspace 隔离 已实现
隐私标签 <private> ✅ ❌ 无 容易
核心结论:OpenClaw 的最大差距有两个:一是没有工具调用级的钩子机制,这是 Claude-Mem 实现全自动记忆的核心;二是没有原生的 "会话结束" 事件,无法在用户离开会话时自动触发压缩。但其余功能 (结构化压缩、3 层检索、会话摘要) 都可以通过定时任务 + 子 agent+skill 开发来模拟。

五、最优解:OpenClaw 专属轻量级记忆助手

1. 为什么不直接安装 Claude-Mem

对比项 直接安装 Claude-Mem 自研轻量级记忆助手
开发成本 低 (直接安装) 中 (约 9 天开发)
适配深度 浅 (无工具钩子,只能用搜索功能) 深 (完全按 OpenClaw 架构设计)
业务适配 差 (针对代码项目,不适配电商等业务) 好 (可定制为业务记忆:团队成员、项目进度、任务追踪)
可控性 低 (外部依赖) 高 (完全自主掌控)
与现有系统集成 差 (可能与 GBrain/MEMORY.md 冲突) 好 (直接接入现有知识库)
长期维护 依赖第三方更新 自主维护,无外部依赖

2. 轻量级记忆助手能解决的核心问题

问题 当前状态 记忆助手介入后的状态
每次新会话需要重复说明上下文 手动复制粘贴 MEMORY.md 自动从上次会话压缩结果注入
重要决策跨会话丢失 依赖每日日报 (可能遗漏) 定期自动提取并保存所有会话决策
memory_search 一次性加载全部内容 token 消耗巨大 改为 3 层渐进式检索,按需获取
新人加入不了解项目历史 口头介绍或翻阅大量文档 直接问 agent:"这个项目之前做过什么?"
跨 agent 任务交接断层 手动编写交接文档 自动生成标准化的会话交接摘要

3. 开发方法:用 OpenClaw 开发 OpenClaw

核心思路:完全使用 OpenClaw 本身的能力来开发这个工具,不需要任何额外的外部框架。 关键发现:OpenClaw 的钩子体系按 turn / 事件粒度设计,没有等效的 session-end 兜底钩子。agent_end属于插件钩子而非内部钩子,无法通过~/.openclaw/hooks/目录注册,只能通过开发完整插件实现。它每次 turn 结束后触发,是 fire-and-forget 模式,不能可靠地启动异步子 agent。因此,cron 定时任务是最直接可靠的触发方案,也是目前唯一不需要开发插件就能实现的方式。 推荐方案流程图:
cron定时任务(每小时/每天)
    ↓
    调用sessions_spawn --session isolated
        ↓
    启动"记忆压缩"子agent
        ↓
    读取 session → 生成摘要 → 输出摘要.md + 原始.jsonl      
        ↓
    读取sessions_history
        ↓
    生成结构化压缩(结论/决策/待办/知识点)
        ↓
    写入memory/YYYY-MM-DD.md
        ↓
    同步GBrain typed links
目录结构
原始记录(系统目录,不动):
~/.openclaw/agents/musk/sessions/
  d44cbc8a...jsonl   ← timestamp: 2026-05-17T00:21
  abc123...jsonl      ← timestamp: 2026-05-17T11:45
  def456...jsonl      ← timestamp: 2026-05-16T19:02

摘要记录(新目录):
memory/
  2026-05-17/
    session-d44cbc8a-summary.md   ← 对应 d44cbc8a...jsonl
    session-abc123-summary.md        ← 对应 abc123...jsonl
    2026-05-17-daily-index.md       ← 日级索引
  2026-05-16/
    session-def456-summary.md        ← 对应 def456...jsonl
    2026-05-16-daily-index.md

4. 详细开发步骤

第一步:设计"摘要生成Prompt"(Day1) 目标:生成一份高质量的会话摘要 Prompt,不删除原始 交付物:
  • memory-session-summary/SKILL.md
## Session 摘要 Prompt(每个 session 生成一份)
---
title: [该 session 的一句话主题]
date: [会话日期]
session_key: [原始 session key]
summary_type: session_summary
---
## 会话结论
- [具体结论]
## 知识点
- [新认知]
## 待办事项
- [ ] [待办] @[负责人]
## 日级索引 Prompt(每天生成一份)
---
title: [日期] 日汇总
date: [日期]
summary_type: daily_index
---
## 今日会话索引
| 时间 | Session | 主题 | 结论 |
|------|---------|------|------|
| 09:00 | sess_xxx | TradingAgents-CN部署 | 确认API格式问题 |
| 11:00 | sess_yyy | 轻量级记忆助手 | 采用方案A |
## 今日关键结论
- [最重要的结论1]
- [最重要的结论2]
## 今日待办
- [ ] [待办1]
第二步:开发记忆压缩 Skill (Day2) 创建标准的 OpenClaw Skill 文件,仅包含官方支持的字段:
# memory-session-compress

## 描述
将指定会话记录压缩为结构化的摘要,包含会话结论、知识点和待办事项。

## 触发方式
由cron定时任务或agent主动触发,无需用户手动调用。

## 参数
- session_key: 要压缩的会话唯一标识(可选,默认为当前会话)
第三步:配置 cron 定时任务 (Day2) 目标:每小时扫描未处理的 session,生成摘要
openclaw cron add 
  --name "memory-compress" 
  --cron "0 * * * *" 
  --session isolated 
  --message "扫描所有未压缩的会话,调用 memory-session-compress skill 生成结构化摘要,写入 memory/YYYY-MM-DD.md 并同步 GBrain"
第四步:实现 3 层渐进式检索 (Day2) OpenClaw 官方只有memory_search一个搜索工具,在AGENTS.md 中增加 3 层检索指引,通过prompt 指令实现三层检索逻辑,无需创建新工具:
阶段 内容
Phase 1 压缩 Prompt 设计与测试
Phase 2 记忆压缩 Skill 开发
Phase 3 cron 定时任务配置与测试
Phase 4 3 层检索系统实现
Phase 5 整体测试与迭代优化

第五步:测试与迭代 (Day3-9)

  • 用一周时间,在真实业务场景中测试压缩质量
  • 不断调整 Prompt,直到摘要准确率达到 90% 以上
  • 完善 GBrain typed links 同步机制
  • 测试 cron 定时任务的稳定性和可靠性

可选增强:本地大模型接管压缩(零 API 消耗)

记忆压缩是典型的 "高计算密度、低实时要求" 的后台任务,适合用本地模型处理。可使用 Ollama 部署 qwen2.5:14b,将压缩 Prompt 发往本地推理,完全消除 API 调用费用。复杂决策溯源类任务可交由 deepseek-r1:7b 处理。

# 示例:Ollama本地推理
curl -X POST http://localhost:11434/api/generate \
  -d '{"model": "qwen2.5:14b", "prompt": "<压缩Prompt + 会话内容>"}'

六、总结与建议

1. 项目价值总结

Claude-Mem 是目前最成熟、最实用的 AI 代理个人持久化记忆解决方案。它通过自动观察、AI 压缩和智能检索,彻底解决了 AI 助手的 "上下文失忆" 问题,大幅提升了个人开发效率。对于 OpenClaw 生态来说,Claude-Mem 是一个极具参考价值的项目,其架构设计和功能实现为 OpenClaw 的记忆系统提供了优秀的范本。

2. 最终建议

短期建议:不推荐直接安装 Claude-Mem。由于 OpenClaw 缺乏工具调用级钩子和原生会话结束事件,直接安装的集成价值非常有限,反而可能与现有的 GBrain/MEMORY.md 系统产生冲突。 中期建议:启动轻量级记忆助手项目。先从 Phase 1 开始,设计并测试压缩 Prompt,在真实业务中验证效果。这一步不需要开发人员介入,产品或运营人员即可完成。触发机制使用 cron 定时任务,这是目前唯一不需要开发插件就能实现的可靠方案。 长期建议:逐步完善记忆系统。在验证了压缩效果和触发机制后,再逐步开发 Skill、配置 cron 任务、实现 3 层检索,最终打造一个完全适配 OpenClaw 架构和业务需求的专属记忆系统。如果需要更实时的触发机制,可以考虑开发完整的 OpenClaw 插件来使用agent_end钩子。

3. 未来展望

随着 AI 代理技术的不断发展,持久化记忆将成为 AI 助手的核心竞争力之一。通过借鉴 Claude-Mem 的先进理念并结合 OpenClaw 的自身特点,我们可以打造一个更加强大、更加智能、更加贴合业务需求的 AI 开发助手,为团队带来显著的效率提升。 同时,我们也期待 OpenClaw 官方能够在未来版本中添加原生的会话结束钩子和工具调用拦截机制,这将极大地降低记忆系统的开发难度,推动整个生态的发展。
阅读量: 258