LanceDB 混合搜索记忆插件,融合向量语义与 BM25 全文检索,支持 RRF 或线性重排序,显著提升记忆召回精准度。
说明:
## 核心功能
**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 合规删除 |
## 配置要点
“`json5
hybrid: {
enabled: true, // 总开关
reranker: “rrf”, // 或 “linear”
// vectorWeight: 0.7, // linear 模式下向量权重
// textWeight: 0.3 // linear 模式下文本权重
}
“`
建议优先使用 RRF 算法,其无需调参且融合效果稳定;如需精细控制语义/关键词偏向,可切换至线性模式并调整权重。







