核心用法
memory-lancedb-pro 是面向 OpenClaw AI 代理的生产级长期记忆 MCP 插件,提供持久化智能记忆存储能力。核心工作流包括:
1. 安装配置:支持 npm 安装(openclaw plugins install memory-lancedb-pro@beta)、本地 git 克隆或一键脚本安装,需配置 embedding 与 LLM API 密钥
2. 智能提取:通过 smartExtraction 启用 LLM 驱动的六类记忆自动分类(preference/fact/decision/entity/reflection/other),触发于 agent_end 钩子
3. 混合检索:向量语义搜索 + BM25 关键词匹配融合(默认 0.7/0.3 权重),可选 cross-encoder 重排序(Jina/SiliconFlow 等)
4. 自动召回:autoRecall 在 before_agent_start 注入相关记忆,需显式启用
5. 生命周期管理:基于 Weibull 分布的三层衰减模型(Core/Working/Peripheral),支持访问强化与时间衰减
6. 多作用域隔离:global/agent/custom/project/user 五级作用域,需显式配置 scopes.agentAccess
显著优点
- 检索质量顶尖:Jina v5 任务感知嵌入 + v3 重排序器,支持 32K 上下文与 1024 维向量
- 生产级架构:LanceDB 原生向量+全文索引,混合 RRF 融合,MMR 多样性去重
- 智能治理:自改进工具链(
self_improvement_log/extract_skill/review)自动沉淀经验为技能文件 - 灵活部署:四档配置方案(Full Power/Budget/Simple/Fully Local),支持 Ollama 完全离线
- 记忆版本化:preference/entity 类别更新时创建 supersede 版本,保留历史轨迹
- 噪声过滤:自动过滤问候、拒绝话术、系统消息,支持自适应触发判断
潜在缺点与局限性
- 配置复杂度高:20+ 检索参数、多层配置嵌套、环境变量注入需网关进程级别设置,新手易错
- 默认行为陷阱:
autoRecall默认为 false,sessionMemory 已废弃,baseURL大小写敏感易触发校验错误 - 本地部署权衡:Ollama 方案无 cross-encoder 重排序,Smart Extraction 质量依赖本地 LLM JSON 输出稳定性
- 迁移成本:从内置
memory-lancedb升级需执行memory-pro migrate,旧数据格式不兼容 - 资源占用:推荐配置需 Jina + OpenAI 双付费 API;本地方案需 5-15GB VRAM 运行推荐模型
- 调试门槛高:jiti 缓存、作用域权限、钩子注册等问题需深入理解 OpenClaw 插件生命周期
适合人群
- AI 代理开发者:需要长期上下文保持的复杂多轮对话系统
- 企业知识库场景:客服、销售、研发助手等需积累用户偏好与决策历史的应用
- 隐私敏感部署:支持完全本地化(Ollama)满足 air-gapped 环境
- 进阶 OpenClaw 用户:熟悉插件配置、环境变量管理与 LanceDB 运维
常规风险
| 风险类别 | 具体表现 | 缓解措施 |
|---------|---------|---------|
| **密钥泄露** | API key 硬编码于配置文件或日志 | 使用 `${ENV_VAR}` 语法,网关进程隔离环境变量 || **数据持久化失败** | `dbPath` 配置错误导致内存数据丢失 | 显式配置绝对路径,定期 `memory-pro export` 备份 |
| **检索质量劣化** | embedding 模型切换未执行 `reembed` | 模型变更后强制全量重新嵌入 |
| **隐私数据泄露** | `captureAssistant: true` 存储敏感系统提示 | 保持默认 false,敏感场景禁用 `autoCapture` |
| **无限循环存储** | 高频对话触发过量记忆提取 | 调整 `extractMinMessages` 与 `extractMaxChars` |
| **版本兼容性** | LanceDB/npm 版本不匹配导致启动失败 | 严格遵循 Node 24+ 与 `@lancedb/lancedb ^0.26.2` 要求 |