magpie:本地优先的 Spotlight 式启动器,找回你 star 过就忘的项目、存过就丢的文件和书签
不知道大家有没有同感:
- GitHub 上 star 了上千个项目,真要用的时候想不起名字,GitHub 自带的 star 搜索只搜标题描述,形同虚设
- 截图和图片存了一堆,只记得画面内容,不记得文件名
- 书签埋在浏览器文件夹树里,比重新 Google 一遍还难找
我做了个小工具解决这件事:magpie,一个开源( MIT )的桌面启动器, Alt+Space 唤出一个搜索框,检索三类你「存过就忘」的东西。
仓库: https://github.com/newdee/magpie

能搜什么
GitHub Stars —— 贴一个无 scope 的 PAT ,同步全部 star:名称、描述、topics 、 README 全文(分块嵌入)。搜「视频超分」能命中英文 README 里的 video super resolution 。可按相关度 / 收藏时间 / 星数排序。
本地文件 —— 只索引你显式添加的文件夹(详见下面隐私部分)。近 80 种文本/ 代码格式全文检索,PDF ( pdf-inspector 转 markdown )、Word/Excel/PPT 都能解析; 其余文件按文件名索引。命中的段落高亮显示上下文。
图片 —— SigLIP 2 嵌入,两种玩法:
- 文搜图:任何语言输入「海边日落」,匹配的照片带缩略图混在结果里
- 以图搜图:拖一张图进搜索框(或粘贴截图),返回最相似的图片和相似度百分比

浏览器书签 —— 不走任何 API ,直接读浏览器本地存储。不光是 Chrome/Edge/ Firefox:任何 Chromium 内核的浏览器( Vivaldi 、Arc 、各种小众分支)都按磁盘 profile 结构自动发现。
检索是混合的,不只是关键词
SQLite FTS5 ( BM25 )+ 本地语义向量( multilingual-e5-small ,100+ 语言), RRF 融合排名。中文查询命中英文文档,反之亦然。长文档分块(~1600 字符带重叠), 第 100 页里的一句话也能被搜到。
隐私:靠架构保证,不靠承诺
- 永不全盘扫描。只索引你添加的文件夹,其余位置永远不会被读取
- 数据不出本机。索引是用户目录里一个 SQLite 文件;嵌入模型走 ONNX 本地 推理,首次下载后完全离线。没有任何东西被上传
- 每个文件夹一键移除,文件、索引、向量一并清除
国内网络下载模型可以在设置里一键切到 hf-mirror.com 镜像。
技术栈(感兴趣的话)
Tauri v2 + Rust ,前端 React 。核心是一个无 UI 依赖的 Rust 库:SQLite + FTS5 external content 表、fastembed/ort 跑 ONNX 、向量就是 L2 归一化的 f32 BLOB 存 SQLite 内存暴力点积——几万个 chunk 15ms 内出结果,100% 召回, 不需要向量数据库。
安装
Windows / macOS (Apple Silicon) / Linux: https://github.com/newdee/magpie/releases/latest
macOS 未签名,curl 安装可跳过 Gatekeeper:
curl -L https://github.com/newdee/magpie/releases/latest/download/magpie_aarch64.app.tar.gz | tar xz -C /Applications
刚发第一个正式版,功能建议和 bug 欢迎提 issue ,觉得有用的话给个 star (然后 用 magpie 搜它 :)
精简版(纯文本场合) 做了个开源小工具 magpie:Alt+Space 唤出的本地搜索框,专治「存过就忘」。
搜 GitHub stars (含 README 全文,中文能搜英文文档)、搜本地文件全文 ( PDF/Office 都解析,只索引你指定的文件夹,永不全盘扫描)、搜图片 (文字描述画面或以图搜图,SigLIP 2 )、搜浏览器书签(任意 Chromium 内核浏览器自动发现)。
关键词 + 语义混合检索,全部本地推理,数据不出本机,MIT 开源, Win/mac/Linux 都有包。