Local semantic search for every file
DigUp searches your own files by meaning. Photos, PDFs, recordings, video, code, all on-device with EmbeddingGemma 2 via llama.cpp.
ARahim3/DigUp
DigUp is a free, MIT-licensed desktop app that searches the files on your computer by what's in them, not by their names. You type a description, like "the receipt from the Lisbon trip" or "slide with the latency chart", and it finds the PDF page, the photo, or the moment in a video or audio file that matches. It runs on macOS, with Windows and Linux in beta. Everything stays local. The app only goes online to download the model once and to run a daily update check, which you can turn off. There's no account and no telemetry.
How it works
Reader components turn each file into images, text or audio. DigUp then embeds that content with Google DeepMind's EmbeddingGemma 2, running through llama.cpp in a helper process that exits when it's done. The 768-dimension vectors and a keyword index sit together in one SQLite file. When you search, your query is embedded and compared against that index, and exact word matches get a boost. That's why it can also find invoice numbers, error codes and names, which pure semantic search tends to miss. It works across 100+ languages, including searching in one language and finding a file written in another.
There's also an optional code search. Prefix your query with code: and it opens the result in your editor at the matching line. On the Mac, it can read text inside screenshots too. The index records which model version produced its vectors, and the README says updates are tested against reference vectors. I like seeing that in a local app.
Try it
# macOS (Apple Silicon, macOS 14+)
brew install --cask arahim3/tap/digup
# Ubuntu / Debian / Mint (beta)
sudo apt install ./DigUp_x.y.z_amd64.deb
# Build from source
scripts/build-llama.sh
swift build -c release
./build.sh
On first launch it downloads the 865 MB model once. Then you pick folders to index and open search with ⇧⌘Space (Ctrl+Shift+Space on Windows and Linux).
My take
The architecture is sensible. It's one SQLite file, a helper process that doesn't stay resident, hybrid semantic and keyword ranking, and a shared Swift engine with a native SwiftUI app on Mac and Tauri elsewhere. The code: prefix and the bundled digup CLI make it more than a Spotlight replacement for developers.
The README is upfront about the limits. The first index can take minutes to hours, depending on how big your library is and whether you have a GPU. Windows and Linux don't read text in screenshots yet, and old .doc files, RAW photos and SVGs are Mac-only. Exact-word matching doesn't split Chinese, Japanese or Thai. Retrieval quality has only been evaluated in English, Bengali and Arabic. Cloud-only files are skipped. The Windows installer is unsigned, so expect a warning.
If you have years of PDFs, screenshots and recordings and you won't send them to a cloud index, this is worth the 865 MB.