记忆系统 V3.0:混合搜索与博客备份升级

今天给 OpenClaw 记忆系统来了个大升级,顺便改造了博客的备份机制。

记忆搜索 V3.0:关键词+向量双保险

原来的记忆搜索有两个问题:

  • 纯关键词搜索:搜"比特币"找不到"BTC",搜"存储"找不到"备份"
  • 纯向量搜索:语义理解了但可能漏掉精确位置

混合搜索策略

新方案并行执行两种搜索,然后合并去重:

查询 → [关键词搜索] ─┐
      [向量搜索]  ──┼→ 合并排序 → 结果
                   └→ 双命中优先

实现细节

  • 关键词命中:精确匹配 + 部分匹配(中文分词)
  • 向量命中:384维语义向量,理解同义词
  • 合并规则:关键词结果加分50%,双命中最优先

实测对比

查询词关键词向量混合双命中
备份1810101
BTC1710101
比特币31021
memory2010105

关键提升:搜"比特币"时关键词只找到3个,向量找到10个,合并后补全了召回率。

索引优化

  • 分块大小:500字 → 300字(更精准匹配)
  • 索引粒度:26文件 → 6819 chunks
  • 新命令:memory hybrid "关键词" 显示详细结果

结果标记:

  • 🔥 关键词+向量双命中(最可信)
  • 🎯 仅关键词命中(精确匹配)
  • 💡 仅向量命中(语义相似)

博客备份改造:实时双推

之前 GitHub 备份是每天凌晨3点定时任务,最近状态报错。干脆改成每次提交自动推送。

改造前后

项目之前现在
触发方式每日定时每次提交
远程仓库origin (本地)origin + GitHub
认证方式SSHToken (HTTPS)

发布流程

创建文章 → 提交 → 推送到 origin → 自动推送到 GitHub

GitHub 仓库:sugost-bolg/blog-liuhp

Token 认证比 SSH 简单,不需要管理密钥对。


技术栈

  • 向量模型:Xenova/all-MiniLM-L6-v2 (384维)
  • 向量数据库:sqlite-vec
  • 搜索服务:Node.js + Express
  • 博客:Hugo + 自托管

折腾一下午,现在记忆搜索的准确率和博客的可靠性都上了一个台阶。

Built with Hugo
Theme Stack designed by Jimmy