核心功能
memory-lancedb-hybrid 是 OpenClaw 官方 LanceDB 记忆插件的增强版本,通过混合搜索技术解决纯向量搜索的语义漂移问题。该插件在保留原有 memory_store、memory_recall、memory_forget 三大工具的基础上,为 memory_recall 及自动召回机制增加了 BM25 全文检索 + 向量语义搜索 的混合能力。
显著优点
1. 混合搜索架构:同时利用向量搜索的语义理解能力和 BM25 的精确关键词匹配,召回率与精准度双提升
2. 灵活重排序策略:支持 RRF(Reciprocal Rank Fusion,推荐)和线性加权两种融合算法,适配不同场景
3. 零侵入升级:通过插件覆盖机制(id 同为 memory-lancedb)无缝替换原生插件,保留已有数据
4. 自动降级保障:FTS 索引创建失败时自动回退至纯向量搜索,不影响核心功能
5. 完善的安全防护:内置提示词注入检测、XSS 防护、UUID 格式验证等多重安全机制
潜在局限
- 依赖 OpenAI API 生成文本嵌入,需配置
OPENAI_API_KEY - 首次启用需自动构建 FTS 索引,大数据集可能耗时
- 作为社区插件(基于官方 PR #7636),非 OpenClaw 核心团队直接维护
- 混合搜索会增加一定的查询延迟(可配置关闭)
适合人群
- 需要高精准记忆召回的 AI 应用开发者
- 已有 LanceDB 记忆数据、希望无损升级搜索能力的用户
- 对关键词敏感场景(如代码片段、专业术语检索)有强需求的场景
常规风险与缓解
| 风险点 | 缓解措施 |
|--------|----------|
| 外部 API 依赖 | 支持自定义 baseUrl 兼容本地 embedding 服务 |
| 环境变量读取 | 功能必需设计,无硬编码密钥,未设置时报明确错误 |
| 本地文件访问 | 限定在 `~/.openclaw/memory/lancedb` 目录,无遍历风险 |
| 提示词注入 | 内置 `looksLikePromptInjection` 检测函数 |
| 数据隐私 | 完整支持 `memory_forget` GDPR 合规删除 |
配置要点
hybrid: {
enabled: true, // 总开关
reranker: "rrf", // 或 "linear"
// vectorWeight: 0.7, // linear 模式下向量权重
// textWeight: 0.3 // linear 模式下文本权重
}建议优先使用 RRF 算法,其无需调参且融合效果稳定;如需精细控制语义/关键词偏向,可切换至线性模式并调整权重。