引言
作为 AI 助手开发者,核心挑战在于如何让 AI 真正'记住'知识,而非每次对话从零开始。
传统云端记忆方案存在 API 成本、延迟及本地文档检索能力不足等痛点。本文介绍一种本地 + 云端混合的双层记忆架构,实现了毫秒级本地检索与深度语义理解的结合。
第一部分:QMD 本地搜索的 Windows 集成
初始尝试
QMD 是一个本地文档搜索引擎,支持 BM25 关键词搜索和语义向量搜索。它使用 SQLite 存储索引,适合作为本地记忆底层。
安装过程如下:
bun install -g github:tobi/qmd
bunx tsx src/qmd.ts --help
Windows 编译问题
在 Windows 上运行时报错:
Error: Could not locate the bindings file.
Tried: ... dist/better-sqlite3.node
This usually happens because better-sqlite3 is not compiled for the current OS.
这是因为 better-sqlite3 是 native 模块,需要编译环境。解决方案是安装 Visual Studio 2022 Community 和 Windows SDK。
npm rebuild
成功编译后 QMD 即可运行。
搜索测试
cd ~/.openclaw/workspace-magic
bunx tsx src/qmd.ts search "包打听" -c "."
结果示例:
Title: IDENTITY.md - Who Am I
Score: 64%
- **Name:** 包打听
- **Creature:** AI 万事通
响应速度毫秒级,精度满足需求。
第二部分:双层记忆体系架构设计
设计理念
单一记忆方案无法满足所有场景:
- 关键词搜索:适合精确查找文件名、API 端点、配置项
- 语义搜索:适合回忆经验、理解上下文、同义查询
设计了互补的双层架构:
| 层次 | QMD(短期记忆) | Mem0(长期记忆) |
|---|---|---|
| 定位 | 本地工作区文档检索 | 云端语义向量数据库 |
| 检索技术 | BM25 关键词 | 语义向量相似度 |

