Repository navigation
Windows portable build, 64-bit Windows 10/11. Unpack the zip anywhere and run DigUpPlus.exe — nothing is installed, and settings, logs, the index and the model live in the data folder beside it. The build isn't signed: choose More info → Run anyway if Windows asks. The zip is ~470 MB, mostly the CUDA runtime the helper carries so the model runs on NVIDIA cards.
SHA-256 of DigUpPlus-0.1.9-windows-x64.zip: 14b4955244a6c8d855da5c68dffe122338b984aeb9aeb3b93349f8edae4a61c1
Updating from 0.1.6: the helper changed in every release since, so take the whole zip, not just DigUpPlus.exe. Close DigUp Plus first, unpack it over the old folder, and keep your data folder — the portable build keeps everything there. The index upgrades itself on the first start. Recordings that 0.1.6 indexed by their tags are read once more (one ffprobe each) so the window and the panel can show their title, artist and album; until then the card shows the tag line the search matched.
What is in 0.1.9
Recordings are read per folder. Each folder's Rules (Settings → Folders, and the Add Folders window) now say how its recordings are read: Audio by tags and/or Audio by content. Tags is a moment per file (title, artist, album, genre, year, track from the container, no sound decoded); content decodes and embeds the sound. A folder set to tags only reads the types listed under “Recordings read by their tags”, and its other recordings are left out with the reason shown. The tag card in the window shows the fields and plays the file, search finds it by tag words, and the file's line says “by tags”. Choosing a rule re-reads exactly the recordings whose way of being read changed, and the time estimate on the Folders tab counts the rules as they are on screen, before saving. Adding folders no longer starts indexing first: the native picker opens, the rules are set before the first pass.
Rescan and Re-read one folder. Settings → Folders has two links on every searched folder. Rescan looks through that folder again — new, gone and changed files — and reads nothing again, so nothing leaves the results. Re-read… asks first, with the folder's own estimate, then queues every file in it, drops its old text and vectors, and reads it again; a file that's gone drops out instead of staying queued. Other folders are not touched.
Indexing holds up on real disks. A storm of dropped change events is one full sync a minute, not one per event. A file still being written (a video being copied, a PDF being printed) is looked at again until its size and time settle, for ten seconds at most, instead of being read half-done and failing. On disks where the system refuses a watch (some network and exFAT drives) their folders are synced every five minutes and the status line says “changes aren't watched”. Programs' leftovers never enter the index: Word's ~$report.docx lock beside an open document, *.tmp, *.swp, *.crdownload, desktop.ini, Thumbs.db.
Freshness is visible. Settings shows “last sync 2 min ago” beside the counts, and the window's status line ends with “synced 2 min ago” (redrawn every half minute), so it's clear how current the index is.
Agents can search, read-only. DigUp Plus has an MCP server: digup mcp speaks JSON-RPC over stdin/stdout with three tools — search (10 results a page, 50 at most, with snippets and the place that matched), read_snippet (a window of one page, passage or code stretch, 32–1024 tokens) and index_state (counts, the model, the index's age). Answers stay within about 1500 tokens; an agent can only read files the index holds and, when folders are given, only under them. Nothing writes, moves or deletes. Settings → Storage → Agents copies the config for Claude Desktop, Claude Code and Cursor (the executable, index, chosen folders and model location as absolute paths), and digup mcp --print-config prints the same for a terminal.
Fixed along the way:
- A helper started just to rescan or re-read a folder lost the request and exited before doing it; it now applies the work and only then decides there is nothing to do.
- A folder's Re-read could sit behind a long indexing pass; it now yields to it at the first file boundary.
read_snippetwithout a segment id answered with the file's name entry — the folder path — instead of its text, and answered the same for pictures; it now returns the matched passage, or says there is no text.
The plans, measurements and checks behind these changes are in docs/per-folder-rules-plan.md, docs/kensaku-ideas-plan.md and docs/agent-access.md.