2125 stars · MIT · Swift · 端侧语义检索(EmbeddingGemma 2)
它解决什么问题
传统文件搜索匹配文件名和路径 。但用户想找的东西往往定义在内容里------"那段提到数据合规的录音",文件名和路径都不含这个信息。
DigUp 用嵌入模型建立语义索引:把图片、PDF、文档、录音、视频映射到同一语义空间,用自然语言查询定位到文件、页面、时间点或代码行。
技术底座是 Google DeepMind 的 EmbeddingGemma 2 (多模态嵌入),索引全部在本机完成。
检索粒度
| 文件类型 | 定位粒度 |
|---|---|
| 视频 / 录音 | 跳到对应时间点 |
| 在 Preview 中定位到关键词所在页 | |
| 代码 | 在编辑器中跳到对应行 |
| 图片 / 文档 | 匹配语义内容 |
安装与使用
sh
brew install --cask arahim3/tap/digup
或从 Releases 下载 DMG。
首次启动流程:
- 下载模型(865 MB,仅一次)
- 选择需索引的文件夹(支持整目录或部分子目录)
- 等待首次索引(数百文件约几分钟;大型 Downloads 目录可能约一小时)
- 之后按 ⇧⌘Space 唤出检索框,输入自然语言描述
环境要求
- macOS 14+(作者称在 macOS 26 上验证)
- Apple Silicon(M 系列),Intel Mac 不支持
- 无需额外运行时;模型由应用自动下载
- 模型下载 865 MB,国内网络建议自备加速手段
适用与不适用
适合:
- 需要跨模态检索个人文件的 macOS 用户(图片、录音、PDF、代码混在一起)
- 想直观理解"语义检索 vs 关键词检索"差异的开发者
- 需要向非技术方演示向量检索价值的场景
不适合:
- 企业级知识库(无权限、多用户、审计机制)
- Intel Mac / Windows / Linux
- 追求即时可用(首次索引耗时较长)
工程视角的价值
这个项目把 RAG 的检索层原理做成了可触摸的桌面应用:嵌入 → 语义空间 → 自然语言查询。对企业知识库"检索不准"的典型问题,它提供了一个直观的对照实验------同一个问题,关键词检索与语义检索的结果差异一目了然。