DigUp is available as a free, open-source desktop application for searching selected local documents, images, recordings, videos and source code. Its macOS build is accompanied by beta releases for Windows and Linux. For developers, the immediate consequence is one search interface that can locate a function, screenshot, PDF page or point in a recording without uploading those files to a hosted service, according to the project repository.
One query, two retrieval paths
DigUp runs Google DeepMind’s EmbeddingGemma 2 through llama.cpp. Its readers convert files into text, pictures or sound representations, then store vectors for pages, passages, images, video frames and audio segments in a SQLite index. Those vectors occupy the same 768-dimensional space, allowing one text query to rank different media types together, according to the implementation description.
Semantic retrieval is only one part of the search path. DigUp also maintains a keyword index and boosts exact-word matches, which is intended to preserve literal searches for names, invoice numbers and error codes that an embedding may not represent precisely. Queries therefore combine vector proximity with lexical matching rather than treating embeddings as a substitute for exact search, as the README explains.
Indexing granularity depends on the format. DigUp processes PDFs page by page, splits audio into overlapping 30-second windows, and samples video frames while also indexing the soundtrack. Search results can point to a PDF page or media timestamp, although jumping directly to that location depends on the viewer available on each operating system, according to the supported-format and playback notes.
Code stays in a separate index
Code search is disabled until the user enables it for selected folders. It reads source files, notebooks without their outputs and repository documentation, then opens matches at the relevant line in a configured editor. The code index remains separate from general file search, and code queries must begin with code:, according to the code-search documentation.
The project says this path skips files ignored by Git, along with vendored or generated code, data files and content that resembles a key or password. It lists support for editors including VS Code, Cursor, Zed, Sublime Text and JetBrains IDEs, plus several platform-specific options, in the same documentation.
Local processing still has a cost
The maintainers state that indexed content does not leave the computer and that DigUp has no account requirement or telemetry. The application connects to download its model once and to check for updates once per day; the update check can be disabled and is described as sending no information about indexed files. These are claims made by the project itself.
That design shifts computation and storage onto the user’s machine. The initial model download is 865 MB, and the first indexing pass can take from minutes to hours depending on the selected files and hardware. DigUp estimates that duration during setup; on Windows and Linux it uses a GPU when a setup check finds that path faster than the processor while producing the same results, according to the installation and performance notes.
Platform constraints are uneven. The Mac version requires Apple Silicon and macOS 14 or later. Windows requires 64-bit Windows 10 or 11, and its beta installer is not yet signed. The documented Linux packages target 64-bit Intel and AMD systems, with .deb and AppImage distributions available from the project’s releases and installation instructions.
Analysis: broader retrieval means broader access
Analysis: DigUp’s consequential design choice is the combination of cross-media vector ranking with exact-string retrieval, not semantic search alone. That can make fragmented project material searchable through one interface, while the separate code index limits accidental mixing between repositories and personal files. The architecture and separation are documented in the repository.
The unresolved trade-off is scope. Better retrieval requires granting the application access to more folders and paying the corresponding indexing cost. Folder selection, opt-in code search and exclusions for several sensitive file categories narrow that boundary, but they do not remove the need to decide which local material belongs in a consolidated search index. Those controls and exclusions are described by the project; judging whether they are sufficient remains a user-side trust decision.
Top comments (0)