News

DocuBrowse: A Local-First, AI-Powered Document Search Engine

DocuBrowse is an open-source tool that indexes local documents (PDFs, ebooks, Word docs, etc.) and enables semantic search and AI-generated synopses, all running locally via Ollama.

July 8, 2026· 2 min read· Source: GitHub
DocuBrowse: A Local-First, AI-Powered Document Search Engine

DocuBrowse v0.9.0 is a local-first document search engine that turns a messy pile of files into a searchable, AI-augmented library. It runs entirely on your machine with no internet connection, no accounts, and no API keys. Point it at your documents, and it builds a hybrid index combining SQLite FTS5 keyword search with AI-powered semantic similarity.

What It Does

DocuBrowse indexes PDFs, ebooks (EPUB, MOBI, AZW3), Word documents, presentations, spreadsheets, and plain text files. It extracts metadata and full text, then uses Ollama with the nomic-embed-text model for embeddings and dolphin3 for generating AI synopses on demand. The default hybrid search mode weights semantic similarity at 70% and keyword matches at 30%, re-ranked for relevance.

The tool is packaged for Linux (RPM, DEB, tarball), Windows (zip), and macOS (dmg). Installation is straightforward: on Linux, a single dnf install or apt install command; on Windows, an Install.bat script; on macOS, an Install.command script. All methods set up a Python virtualenv and CLI wrappers.

Key Features

  • Dual search modes: keyword-only, semantic-only, or hybrid (default 70/30 split).
  • AI synopsis: click any document title to get a Kindle-style summary, generated locally and cached.
  • Broad format support: PDF, DOCX, PPTX, XLSX, EPUB, MOBI, AZW3, HTML, TXT, Markdown. PDF extraction uses pdfplumber with pypdf fallback; scanned PDFs are detected and routed to an OCR list.
  • PII protection: a post-ingest scanner detects patterns like SSNs and credit card numbers, then removes and blacklists matching documents.
  • Performance: search latency under 150ms, parallel PDF extraction via ProcessPoolExecutor, and memory limits enforced via RLIMIT_AS (6 GB per worker).
  • Settings UI: a /settings page lets you manage document directories, ignored directories, and port configuration with live directory browsing.

Under the Hood

The architecture is simple: a Python backend serves a web UI (modern browser required). The index lives in SQLite with FTS5 for keyword search. Semantic embeddings and synopses are generated by Ollama models running locally. The tool also handles moved or deleted files gracefully, showing a dismissable modal when a file is missing on a mounted filesystem.

DocuBrowse is open-source (FOSS) and available on GitHub. It's a solid option for anyone who wants to search a local document collection with AI without sending data to the cloud.