DocuBrowse v0.9.1: Local AI-Powered Document Search Engine

DocuBrowse v0.9.1: Local AI-Powered Document Search Engine

DocuBrowse v0.9.1 is a local, open-source document search engine designed to transform unstructured piles of files into a searchable knowledge base. By combining traditional keyword search with AI-powered semantic similarity, it allows users to find documents based on meaning rather than just exact word matches, all while keeping data entirely on the local machine.

Core Search Capabilities

DocuBrowse employs a hybrid search algorithm to maximize retrieval accuracy. By default, it merges results from two distinct modes:

  • Keyword Search: Utilizes SQLite FTS5 for fast full-text search across titles, authors, subjects, tags, and content snippets. It uses BM25 scoring normalized to a 0–1 range.
  • Semantic Search: Uses Ollama embeddings (nomic-embed-text:latest) to calculate cosine similarity between the query and document embeddings. A minimum threshold of 0.30 is applied to filter out irrelevant results.
  • Hybrid Mode: The final relevance score is calculated as 0.3 × keyword_score + 0.7 × semantic_score.

AI-Powered Document Insights

Beyond search, DocuBrowse provides automated content summarization. Users can click any document title to generate a "Kindle-style" book-jacket synopsis via the dolphin3:latest model running through Ollama. These synopses are generated on demand and cached in the SQLite database to avoid redundant computation.

Supported Formats and Indexing

DocuBrowse supports a wide array of document types, including PDFs, Word documents (.docx), PowerPoint presentations (.pptx), Excel spreadsheets (.xlsx), OpenDocument formats (.odt, .ods, .odp), E-books (EPUB, MOBI, AZW3, AZW), HTML, and Markdown.

PDF Handling

Indexing is robust, using pdfplumber as the primary extractor with pypdf as a fallback for bloated files. The system automatically detects scanned (image-only) PDFs and routes them to a specific list (ocr_list_pdfs.txt) for the user to identify files needing OCR.

E-book and OpenDocument Support

As of version 0.9.1, the tool now natively supports OpenDocument formats (.odt, .ods, .odp) using Python's standard library. E-book indexing relies on ebooklib and Calibre for metadata and conversion of MOBI/AZW3 formats.

Privacy and Security

DocuBrowse is built with a "Your data. Your AI." philosophy, ensuring no internet connection, API keys, or cloud accounts are required.

PII Protection

The system includes a post-ingest scanner that detects patterns for Social Security Numbers (SSN), credit cards, bank routing/account numbers, dates of birth, and passport numbers. Documents containing PII are removed from the index and permanently blacklisted to prevent accidental exposure.

Local Hardening

To prevent unauthorized access from malicious web pages, the server binds to localhost and implements several security measures:

  • Host-header allow-list: Rejects requests unless the Host is localhost, 127.0.0.1, or [::1] to defeat DNS-rebinding attacks.
  • CSRF Tokens: All state-changing operations (e.g., /api/delete, /api/open) require a per-process X-CSRF-Token and a loopback origin.
  • Stored-XSS Prevention: Document fields are escaped for HTML, and card actions use delegated listeners rather than inline onclick handlers.

System Requirements and Installation

Hardware Requirements

  • Minimum: 8 GB RAM, x86_64 or ARM64 CPU. Works without a GPU, though synopsis generation will be slower.
  • Recommended: 16 GB RAM, 4 GB+ vRAM (NVIDIA or Apple Silicon) for GPU acceleration.

Installation

DocuBrowse is available as RPM, DEB, tarball for Linux, zip for Windows, and dmg for macOS. It requires Python 3.9+ and automatically handles the installation of Ollama and the required models (nomic-embed-text and dolphin3) during the first run.

Community Insights and Perspectives

Users and developers in the community have highlighted the value of local-first AI tools.

"Not a fan of pushing every personal document to someone else's cloud. Nice to see a tool that keeps everything on disk instead."

Some users have suggested future integrations with cloud storage providers like Google Drive or Dropbox, as well as Docker deployment options to simplify setup across different environments.

Sources