ClawMem – 开源智能体记忆系统,支持SOTA本地GPU检索
我一直在开发ClawMem,这是一个开源上下文引擎,为AI编程智能体提供跨会话的持久记忆。它兼容Claude Code(钩子+MCP)和OpenClaw(ContextEngine插件+REST API),两者可以共享同一个SQLite存储库,这样你的CLI智能体和语音/聊天智能体就能基于同一记忆工作,无需任何同步。检索架构是个“弗兰肯斯坦”,这基本就是我的开发流程——我从近期项目和研究中提取最佳部分并拼接起来:[QMD](https://github.com/tobi/qmd)用于多信号检索流水线(BM25+向量+RRF+查询扩展+交叉编码器重排序),[SAME](https://github.com/sgx-labs/statelessagent)用于结合内容类型半衰期和共激活强化的复合评分,[MAGMA](https://arxiv.org/abs/2501.13956)用于多图遍历的意图分类(语义、时序和因果束搜索),[A-MEM](https://arxiv.org/abs/2510.02178)用于自演进记忆笔记,[Engram](https://github.com/Gentleman-Programming/engram)用于去重模式和时序导航。这些原本都不是为协同工作设计的,让它们协调一致是主要工作量。在推理侧,QMD原始技术栈使用300MB的嵌入模型、1.1GB的查询扩展LLM和600MB的重排序器,可通过llama-server在GPU运行或通过node-llama-cpp进程内运行(Metal、Vulkan或CPU)。但更有趣的是SOTA升级路径:ZeroEntropy的蒸馏配对模型zembed-1+zerank-2。它们目前是MTEB榜单排名最高的嵌入和重排序模型,且专为协同工作设计。重排序器与嵌入器从同一教师模型蒸馏而来,因此共享语义空间。运行两者需要约12GB显存,但检索质量明显优于默认技术栈。如果不想本地运行模型,也提供云端嵌入选项。针对Claude Code,它通过生命周期事件钩子实现:每次提示触发上下文浮现以注入相关记忆,决策提取器和交接生成器捕获会话状态,反馈循环强化实际被引用的笔记。这自动处理约90%的检索需求,其余10%通过28个MCP工具处理显式查询。对于OpenClaw,它注册为ContextEngine插件并采用相同的生命周期钩子映射,另提供5个REST API工具供智能体直接调用。系统基于Bun运行,使用单一SQLite存储库(WAL模式,FTS5+vec0)。所有数据都在设备本地,除非选择云端嵌入否则无云依赖。整个系统是自包含的。这是个精致的半成品,而非最终产品。我是独立开发者,代码库约1.9万行,核心存储模块是个4000行的上帝对象可能需要拆分。当然,系统效果取决于索引内容:仅三个记忆文件的存储库自然效果有限,而包含项目文档、研究笔记和决策记录的存储库才能提供真正有用的记忆。我真诚希望获得两个问题的反馈:(1)是否有人尝试过在本地为智能体记忆运行SOTA嵌入+重排序模型?质量提升是否值得消耗显存?(2)对于同时使用多种智能体界面(CLI+语音/聊天)的用户,你们目前如何处理共享记忆?
- AI智能体
- 代码生成
- 大语言模型
✨ AI 摘要
ClawMem是一款开源上下文引擎,为AI编程智能体提供跨会话的持久记忆,通过共享SQLite存储库同时支持Claude Code和OpenClaw。它集成了多种检索技术,并提供最先进的本地GPU检索选项。
适合谁
AI开发者, 机器学习工程师, 从事AI智能体研究的研究人员
为什么值得关注
ClawMem通过集成先进的检索架构和本地GPU推理,使AI编程智能体能够在不同会话间保持持久、共享的记忆。
核心特性
- 跨会话的AI编码代理持久化记忆
- CLI与聊天代理间共享内存的统一SQLite存储库
- 多信号检索管道(BM25、向量、RRF、查询扩展、交叉编码器重排序)
- 采用优化嵌入和重排序模型的SOTA本地GPU检索
使用场景
- 一名自由软件开发者使用ClawMem在不同编码会话和工具间保持对多个客户项目的一致理解,确保连续性并减少重新熟悉项目细节的需求。
- 一位数据科学家将ClawMem与其CLI代理集成,以访问和回忆过往的研究发现、实验参数和分析见解,加速数据探索和模型开发的迭代过程。
- 一名AI爱好者利用ClawMem构建个性化的AI助手,该助手能记住跨语音和聊天界面的对话与偏好,创造更具凝聚力和情境感知的用户体验。