你有没有过这种经历:明明记得写过一篇技术笔记,但就是找不到它在哪。文件名想不起来,只记得大概内容。用系统搜索只能按文件名匹配,全盘搜一遍要等半天。
这个问题困扰了我很久。
我试过了 Everything(只能按文件名)、Windows 自带搜索(慢到怀疑人生)、各种笔记软件的搜索(只搜笔记不搜文件)。没有一个能真正做到用一句话描述内容,就能找到对应文件。
所以我决定自己写一个。
什么是「搜忆」
搜忆是一款本地文件语义搜索桌面工具,用自然语言描述你要找的内容,它能理解你的意思,而不是只匹配文件名。
举个例子:
| 你输入的 | 传统搜索 | 搜忆 |
|---|---|---|
| "上周写的关于性能优化的笔记" | ❌ 找不到 | ✅ 匹配到 Qt性能调优实战.md |
| "那个讲OAuth认证的PDF" | ❌ 需要精确文件名 | ✅ 匹配到 OAuth2.0协议详解.pdf |
| "项目报价相关的表格" | ❌ 无结果 | ✅ 匹配到 客户A报价单.xlsx |
一句话概括:你记得大概内容,搜忆帮你找到精确文件。
为什么不用现有的工具?
你可能会问:Everything、Listary、AnyTXT 不好用吗?
说实话,它们各有所长,但都有一个共同的局限------基于关键词匹配,不理解语义。
- Everything:文件名搜索王者,但你记不住文件名时就废了
- AnyTXT:能搜文件内容,但本质还是关键词全文匹配
- 各种AI搜索:理解语义,但要把文件上传到云端,隐私风险大
搜忆的定位很明确:语义理解 + 本地运行 + 中文优化。
搜忆的三个核心优势
1. 真正的语义搜索
不是简单的分词匹配,而是基于向量嵌入的语义理解。
你搜"怎么让电脑跑得更快",它能匹配到标题为"CPU性能调优指南"的文件------因为语义是相近的。
底层使用轻量级 embedding 模型,在本地完成向量化和相似度计算,不需要联网。
2. C++/Qt 原生性能
这不是一个 Electron 套壳应用。
搜忆使用 C++ 和 Qt 原生开发,从底层保证了指纹级的资源占用和流畅的操作体验。相比 Web 技术栈套壳的同类产品,原生开发带来的是实实在在的快和省。
3. 中文深度优化
市面上大多数语义搜索工具是为英文设计的。中文面临分词歧义、同义词多、表达灵活等问题。
搜忆在以下方面做了针对性优化:
- 中文分词:基于 jieba 定制的领域分词策略
- 同义词扩展:"优化"="调优"="提速"="加速"
- 模糊意图理解:"那个什么文档" 类口语化表达也能处理
实际使用场景
场景一:程序员找技术文档
搜索:「之前看过的讲 C++ 移动语义的文章」
结果:匹配到《C++11 右值引用与移动语义详解.pdf》
场景二:产品经理找方案文档
搜索:「上个月写的用户增长方案」
结果:匹配到《2026Q2用户增长策略_v3.docx》
场景三:自由职业者找客户资料
搜索:「做电商的那个客户的合同」
结果:匹配到《XX电商-技术服务合同-2026.pdf》
隐私和安全
所有数据都在本地处理。你的文件不会被上传到任何服务器,索引数据也保存在本地。
在这个 AI 工具动辄要上传文件到云端的时代,本地优先不是卖点,而是底线。
开发背后的故事
我是一个写了十多年 C++/Qt 的程序员。在 AI 浪潮下,身边很多人转行去做 Python、做 Web,但我始终觉得 C++ 在桌面端还有很大的空间。
搜忆就是我的一次尝试------用原生开发的性能优势,去做一个 AI 时代的桌面工具。
这个项目从零开始,到现在 MVP 完成,经历了:
- RAG 链路的全流程打通
- 中文语义搜索的反复调优
- 索引性能的极致压榨
- 本地模型部署的各种踩坑
后续我会持续分享这个项目的开发过程、技术选型思考、以及一个人做产品的踩坑经验。
体验方式
搜忆目前处于早期阶段,欢迎感兴趣的朋友体验反馈:
- 📦 下载地址:GitHub Releases(即将开放)
- 💬 交流反馈:评论区留言或私信
- 📝 开发日志:关注我的 CSDN 博客,持续更新
最后
如果你也有"文件找不到"的困扰,如果你也相信原生开发的价值,欢迎试试搜忆。
让文件自己记住你在哪。
作者是一名大龄 C++/Qt 程序员,正在从打工人转型独立开发者。这个博客会持续记录搜忆的开发过程、一人公司的探索心得,以及中年程序员的技术思考。欢迎关注。