·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹📱AI全功能
返回列表 发布新帖

[实践] 替代小龙虾OpenClaw自带的memory-enhancement-engine记忆引擎使用Claude-Mem升级小龙虾大脑记忆实现原生永久长效记忆

25 0
发表于 6 天前 | 查看全部 阅读模式 | Google Chrome| Windows 10

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

替代小龙虾OpenClaw自带的memory-enhancement-engine记忆引擎使用Claude-Mem升级小龙虾大脑记忆实现原生永久长效记忆:

🔍 Claude-Mem 核心架构

基于DZ插件网小龙虾 claw.dz-x.net 对接经验分享,由 DZ插件网统一算力平台:api.dz-x.net(支持任何站长接入,解决token焦虑) 提供算力支撑(已支持语音接口、图片识别接口,已接入阿里云API短信、正在接入阿里云语音电话API)。

工作原理

用户操作 → 自动捕获 (tool usage) → AI 压缩 (10x token 优化) → SQLite 存储 → 语义检索 → 注入会话

关键特性

特性 实现方式
持久化记忆 ~/.claude-mem/本地存储
自动捕获 记录所有 tool usage (file reads/writes/searches)
AI 压缩 Claude agent-sdk 语义压缩 (约 10x)
记忆注入 相关记忆自动注入新会话
三层检索 search → timeline → get_observations

📊 与现有 memory-enhancement-engine 对比

维度 Claude-Mem 现有 memory-enhancement-engine
捕获方式 ✅ 自动 (tool usage hooks) ❌ 手动 (需调用脚本)
压缩方式 ✅ AI 语义压缩 (10x) ⚠️ 规则 + 摘要 (需人工触发)
存储后端 ✅ SQLite (高性能) ⚠️ Markdown 文件
检索方式 ✅ 语义搜索 + 自然语言 ⚠️ 关键词 + 语义 (Gemini embedding)
记忆注入 ✅ 自动注入会话 ❌ 需手动调用 memory_search

🔍 阶段 1:挂载点 (Hooks) 可行性分析

已确认的 OpenClaw 原生 Hooks

Hook 类型 事件名称 触发时机 用途
Plugin Hooks before_tool_call 工具调用前 拦截工具参数
Plugin Hooks after_tool_call 工具调用后 捕获工具结果 ✅
Plugin Hooks message_received 收到消息时 捕获用户输入
Plugin Hooks message_sending 发送消息前 捕获 AI 回复
Internal Hooks command:new 新会话创建 初始化上下文

最佳挂载点组合

用户消息 → message_received → 捕获输入

↓ AI 思考 → before_tool_call → 拦截工具调用

↓ 工具执行 → after_tool_call → 捕获结果 ✅ (核心记忆源)

↓ AI 回复 → message_sending → 捕获输出

↓ 会话结束 → command:stop → 触发 AI 压缩 ✅

↓ 下次启动 → gateway:startup → 注入相关记忆 ✅

🗄️ 阶段 2:SQLite Schema 设计

核心表结构

-- 记忆主表

CREATE TABLE memories (

id INTEGER PRIMARY KEY AUTOINCREMENT,

session_key TEXT NOT NULL, -- 会话 ID

event_type TEXT NOT NULL, -- 'tool_call' | 'message' | 'session_end'

timestamp_ms INTEGER NOT NULL, -- 时间戳 (毫秒)

-- 原始数据

raw_content TEXT NOT NULL, -- 原始内容 (JSON)

tool_name TEXT, -- 工具名称 (如 'exec', 'read')

tool_params TEXT, -- 工具参数 (JSON)

tool_result TEXT, -- 工具结果 (JSON)

-- AI 压缩

compressed_summary TEXT, -- AI 生成的语义摘要

embedding_vector BLOB, -- Gemini embedding (1024 维)

token_count_before INTEGER, -- 压缩前 token 数

token_count_after INTEGER, -- 压缩后 token 数

-- 检索优化

tags TEXT, -- 自动标签 (JSON 数组)

importance_score REAL DEFAULT 0.5, -- 重要性评分 (0-1)

access_count INTEGER DEFAULT 0, -- 访问次数 (热度)

last_accessed_ms INTEGER, -- 最后访问时间

created_at INTEGER DEFAULT (strftime('%s', 'now') * 1000),

updated_at INTEGER DEFAULT (strftime('%s', 'now') * 1000) );

-- 索引优化

CREATE INDEX idx_memories_session ON memories(session_key);

CREATE INDEX idx_memories_event_type ON memories(event_type);

CREATE INDEX idx_memories_timestamp ON memories(timestamp_ms DESC);

CREATE INDEX idx_memories_importance ON memories(importance_score DESC);

CREATE INDEX idx_memories_tags ON memories(tags);

-- 会话上下文表 (用于快速注入)

CREATE TABLE session_contexts (

session_key TEXT PRIMARY KEY,

project_name TEXT, -- 项目名称 (如 'dz-x.net')

last_summary TEXT, -- 上次会话摘要

key_decisions TEXT, -- 关键决策 (JSON 数组)

pending_tasks TEXT, -- 待办任务 (JSON 数组)

created_at INTEGER,

updated_at INTEGER );

🤖 阶段 3:AI 压缩触发时机

三层压缩策略

层级 触发时机 压缩方式 Token 优化
L1: 实时捕获 after_tool_call 规则过滤 (去重/白噪音) 20-30%
L2: 会话结束 command:stop AI 语义摘要 (Gemini) 60-70%
L3: 定期归档 每日凌晨 (cron) 跨会话合并 + 主题聚类 80-90%

L2 压缩流程 (会话结束时)

会话结束 (command:stop)

  1. 收集本次会话所有 memories (raw_content)

  2. 调用 Gemini API 生成摘要

    Prompt: "将以下操作记录压缩为 3-5 条关键决策,每条不超过 50 字"

  3. 存储 compressed_summary + embedding_vector

  4. 更新 session_contexts (last_summary, key_decisions)

  5. 删除原始 raw_content (仅保留压缩后内容)

💉 阶段 4:上下文自动注入策略

注入触发条件

场景 触发条件 注入内容
新会话创建 command:new 最近 3 次会话摘要 + 待办任务
网关启动 gateway:startup 全局项目状态 (所有 session_contexts)
用户提问 message_received 语义检索 Top 5 相关记忆
工具调用前 before_tool_call 相关工具的历史使用记录

语义检索流程

用户消息:"Discuz X5 的 PHP7.4 补丁进度如何?"

  1. 调用 Gemini embedding-001 生成查询向量

  2. SQLite 向量相似度搜索 (余弦相似度)

    SELECT * FROM memories

    WHERE cosine_similarity(embedding_vector, ?) > 0.75

    ORDER BY similarity DESC LIMIT 5

  3. 注入到 AI 上下文

    System: "以下是相关历史记忆:[5 条压缩摘要]"

  4. AI 生成回答 (基于注入的记忆)

🔧 阶段 5:OpenClaw 原生实现路径

方案 A:Hook 中间件(推荐)

位置: ~/.openclaw/hooks/openclaw-mem/openclaw-mem/

├── HOOK.md # 元数据 + 文档

├── handler.ts # 主处理器

├── memory-service.ts # 记忆服务 (SQLite + AI 压缩)

├── schema.sql # SQLite Schema

└── package.json # 依赖 (better-sqlite3, @google/generative-ai)

优势: 0 ✅ OpenClaw 原生支持,无需修改核心代码 0 ✅ 自动发现,openclaw hooks enable openclaw-mem 即可启用

0 ✅ 与现有 session-memory hook 兼容

方案 B:Plugin 插件

位置: ~/.openclaw/plugins/openclaw-mem/openclaw-mem/

├── plugin.json

├── index.ts # 插件入口

├── hooks/

│ ├── after_tool_call.ts

│ ├── command_stop.ts

│ └── gateway_startup.ts

└── services/

├── sqlite-service.ts

└── compression-service.ts 优势: 0 ✅ 更强大的扩展能力 0 ✅ 可注册自定义命令 (如 /mem search)

⚖️ 大圣的决策建议

推荐:[A] Hook 中间件方案

理由:

  1. ✅ OpenClaw 官方推荐方式 (文档明确支持)
  2. ✅ 轻量级,仅拦截关键事件
  3. ✅ 与现有 hooks 无缝集成
  4. ✅ 开发成本低 (预计 4-6 小时)

实施步骤:

  1. 创建 ~/.openclaw/hooks/openclaw-mem/
  2. 实现 handler.ts (监听 5 个关键事件)
  3. 初始化 SQLite 数据库
  4. 集成 Gemini embedding-001
  5. 测试自动捕获 + 压缩 + 注入

📋 与现有 memory-enhancement-engine 协同

功能 现有引擎 openclaw-mem 协同方式
记忆存储 Markdown 文件 SQLite 迁移或并存
嵌入模型 Gemini embedding-001 Gemini embedding-001 ✅ 复用
检索方式 手动调用脚本 自动注入 互补
压缩方式 规则 + 摘要 AI 语义压缩 升级

迁移策略: 保留现有 69 个记忆文件作为历史归档 openclaw-mem 从启用之日起自动捕获新记忆

提供迁移工具 (可选): python3 migrate-to-sqlite.py

✅ 关键成果

功能 状态 证明
AI 压缩 ✅ 工作 DeepSeek API 生成 3 条摘要
向量嵌入 ✅ 工作 Gemini embedding-001
语义检索 ✅ 工作 余弦相似度 0.679
数据库 ✅ 工作 13 条记录,1 条 AI 摘要

🎯 预期效果

生产环境行为

  1. 自动捕获: 每次工具调用、用户消息自动存储
  2. 会话结束: 自动生成 AI 摘要(DeepSeek API)
  3. 语义检索: 用户提问时自动检索相关记忆(相似度 >0.5)
  4. 上下文注入: Top 3-5 相关记忆注入到 AI 上下文

Token 优化

场景 优化前 优化后 优化率
长会话历史 10,000 tokens 1,000 tokens 90%⬇️
跨会话检索 全量加载 Top 5 记忆 80%⬇️
会话摘要 人工总结 AI 自动生成 100%⬆️效率

⚠️ 注意事项

  1. 首次启用: 数据库自动创建(~/.openclaw/openclaw-mem.db
  2. API 成本: DeepSeek(摘要)+ Gemini(Embedding)按量计费
  3. 隐私控制: 敏感操作不会存储(Bash 命令结果已过滤)
  4. 性能影响: <10ms/次(SQLite + 本地缓存)
我要说一句 收起回复
一花一世界,一叶一追寻。一曲一场叹,一生为一人。

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

最新热评 加载中...
AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:216.73.216.83,GMT+8, 2026-3-26 20:07 , Processed in 2.469034 second(s), 77 queries , Gzip On, Redis On.

Powered by Discuz! X5.1 Licensed

© 2001-2026 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表