Memento:OpenClaw 代理的本地化持久记忆系统
Memento 是一款专为 OpenClaw AI 代理设计的本地记忆插件,核心价值在于赋予代理跨会话的持久记忆能力,同时坚守隐私优先原则。其技术架构围绕"捕获-提取-召回"三层展开,全部数据存储于本地 SQLite 数据库,彻底杜绝云端同步。
核心用法
自动捕获(Capture):默认开启,无需配置。自动记录每轮对话,缓冲多轮会话内容,写入 ~/.engram/conversations.sqlite 及可读 JSONL 备份。
智能提取(Extraction):默认关闭,需显式开启。当 autoExtract: true 时,会话片段将发送至配置的大模型(支持 Anthropic、OpenAI、Mistral、Ollama)提取结构化事实——包括偏好、决策、人物关系、行动项等。提取结果自动去重,并追踪时间演变(previous_value)与知识图谱关系(含因果边权重)。
主动召回(Recall):默认开启。每轮 AI 响应前,通过 FTS5 全文检索 + 可选的 BGE-M3 语义向量检索,召回最相关的 20 条事实。支持跨代理共享知识(标记为 shared 的事实),而 private/secret 级事实严格隔离。可选启用 LLM 查询规划(autoQueryPlanning)以提升召回精度。
显著优点
1. 隐私设计领先:本地 SQLite 存储、可选本地 Ollama 提取、三级隐私分类(shared/private/secret)、敏感内容(医疗、财务、凭证)硬编码强制保护。
2. 知识图谱化:支持因果关系追踪与多层聚类,记忆非简单键值对,而是可演化的关系网络。
3. 跨代理协同:共享事实可在代理间流动,私有/机密事实绝不越界。
4. 迁移友好:提供一次性 dry-run 迁移工具,可从现有 Markdown 记忆文件无痛导入。
5. 性能弹性:GPU 加速向量检索,无 GPU 时优雅降级 CPU 计算。
潜在局限
- 提取质量依赖模型:若使用轻量本地模型,事实提取的准确性与完整性可能不及 Claude 等前沿模型。
- 本地资源占用:长期运行后 SQLite 数据库可能膨胀,需定期维护;语义检索需下载约 2.3GB 的 BGE-M3 模型。
- 配置门槛:查询规划、跨代理召回等高级功能需手动开启,默认保守策略可能让新用户感知不到"智能"。
- 仅兼容 OpenClaw:生态锁定,无法直接用于其他代理框架。
适合人群
- 隐私敏感型开发者:拒绝将对话数据上传至任何云服务。
- 长期项目维护者:需要代理记住数月前的技术决策与代码上下文。
- 多代理编排用户:希望不同专业代理共享通用知识、隔离敏感信息。
常规风险
| 风险类型 | 说明 | 缓解建议 |
|---------|------|---------|
| 数据残留 | 本地 SQLite 文件可能包含敏感历史对话 | 定期清理 `~/.engram/` 目录,或对 secret 级事实启用加密存储(未来版本) |
| 模型泄露 | 开启 `autoExtract` 后,若误用云模型,对话内容将外传 | 生产环境强制使用 `ollama/*` 本地模型,或审查 `.env` 配置 |
| 召回污染 | 过时或错误事实被高权重召回,误导代理决策 | 启用 `previous_value` 追踪,定期人工审计关键事实 |
| 迁移误操作 | 迁移工具读取用户配置的文件路径,若配置不当可能暴露非预期文件 | 始终先 `--dry-run`,确认文件列表后再执行 |
版本与生态
当前版本 0.6.0,MIT 协议开源。依赖 Node.js 18+ 与 OpenClaw 2026.2.20+。提取层与召回层均支持可插拔模型后端,为本地优先架构提供了灵活的算力选择。