< 返回版块

dfine 发表于 2026-08-22 15:43

Tags:tauri,桌面应用,全文检索,向量检索,开源项目

仓库:https://github.com/newdee/magpie (MIT,Win / macOS Apple Silicon / Linux 都有安装包)

star 过的项目想用时想不起名字、截图只记得画面内容、书签埋在文件夹树里——magpie 是一个 Alt+Space 唤出的桌面启动器,专治「存过就忘」:

  • GitHub Stars:同步全部 star(含 README 全文分块嵌入),中文能搜英文 README,可按相关度 / 收藏时间 / 星数排序
  • 本地文件:只索引显式添加的文件夹;近 80 种文本/代码格式全文检索,PDF / Word / Excel / PPT 解析,命中段落高亮;图片经 SigLIP 2 支持文字搜图与以图搜图(拖拽 / 粘贴 / 选文件),带相似度百分比
  • 浏览器书签:任意 Chromium 内核浏览器按磁盘 profile 结构自动发现(小众分支也行)+ Firefox,直读本地存储零 API
  • 顺手当快捷浏览器:输入网址或搜索词 Ctrl+Enter 直达默认浏览器

检索 GitHub stars

Rust 侧实现,给同行看的部分

  • workspace 结构magpie-core(无 UI 依赖的纯 Rust 库:索引、检索、嵌入、同步)+ Tauri v2 薄壳(命令 / 托盘 / 全局快捷键),前端 React 只做浮窗
  • 检索:rusqlite(bundled)+ FTS5 external-content 表挂触发器同步,BM25 关键词与本地语义向量做 RRF 融合;长文档 ~1600 字符分块嵌入,按最佳块得分排名
  • 嵌入:fastembed(multilingual-e5-small,384 维,100+ 语言跨语言检索);SigLIP 2 没走现成封装——fastembed 的图像包装假定 CLS pooling,SigLIP 是 MAP-head,所以直接在 ort 2.0 上驱动双塔 ONNX,取 pooler_output
  • 向量库刻意朴素:L2 归一化 f32 BLOB 存 SQLite,内存暴力点积——几万 chunk <15ms、100% 召回,不需要向量数据库;将来不够换 sqlite-vec 落同一个文件
  • 国内网络实测友好:hf-hub 协议强依赖 ETag(镜像 CDN 常剥掉,报 header etag is missing),magpie 失败自动回退纯 GET 直链下载器(ureq/resolve/main/ 地址、Range 断点续传、.part 原子落盘),设置里一键切 hf-mirror.com,进度实时显示;回退与主路径嵌入余弦 1.000000 等价验证过

隐私

永不全盘扫描,只读显式添加的文件夹(尊重 .gitignore、不追符号链接);模型 ONNX 本地推理,首次下载后完全离线,数据不出本机。

欢迎试用、提 issue、拍砖。


Ext Link: https://github.com/newdee/magpie

评论区

写评论

还没有评论

1 共 0 条评论, 1 页