linuxrebel/DocuBrowser

A local AI powered Document search engine. That turns that pile of documents on your system into a manageable searchable info store.

DocuBrowse – Local AI‑powered document search

What it is

  • A desktop/web app that indexes a collection of files (PDF, Word, e‑books, code, etc.) and lets you search them by keywords and by semantic meaning using locally‑run AI models (Ollama).
  • All processing happens on your machine – no cloud service, no API keys, and no per‑query costs.

Key capabilities

  • Dual search modes – fast SQLite FTS5 keyword search, AI‑generated embeddings for semantic search, and a hybrid mode that combines both.
  • Deep Links – after a result is found, you can jump to the exact passage inside the document (page/line/section) without re‑indexing.
  • AI Synopsis – on‑demand, AI‑written summary of any document (cached after first generation).
  • Broad format support – PDFs, DOCX, PPTX, XLSX, ODT/ODS/ODP, Visio, draw.io, PlantUML, Mermaid, HTML/Markdown, e‑books (EPUB, MOBI, AZW3), DjVu, emails, RTF, CSV/TSV, config files, and many markup languages.
  • PII protection – scans newly indexed files for common personal‑information patterns and removes matching documents.
  • Cross‑platform – packaged for Linux (RPM/DEB/tar), Windows (zip) and macOS (dmg). A Docker experiment branch exists but is not recommended for production.

How it works

  1. Indexing – extracts text and metadata from supported files (using libraries like pdfplumber, python-docx, openpyxl, ebooklib, etc.) and stores it in a SQLite database with full‑text search tables.
  2. Embedding – runs the nomic-embed-text:latest model via Ollama to create vector embeddings for each document.
  3. Search – keyword queries hit the FTS5 index; semantic queries compute an embedding for the query and perform a cosine‑similarity lookup against the stored vectors. The hybrid mode merges the two scores.
  4. Result UI – shows relevance scores, deep‑link buttons, and an “AI synopsis” button. Clicking a result opens the file in the system’s default viewer.

Typical workflow

# Install (example for Ubuntu)
sudo apt install python3-pip calibre libvisio-tools djvulibre
pip install -r requirements.txt   # includes pdfplumber, python‑docx, etc.
# Start the server (default port 8000)
python -m docubrowse
# Open http://localhost:8000 in a browser, add directories to index, and start searching.

Limitations & known issues

  • Requires at least 8 GB RAM; GPU acceleration is optional but speeds up synopsis generation.
  • 32‑bit CPUs are unsupported because Ollama does not provide 32‑bit builds.
  • Some legacy formats (e.g., old Visio .vsd or image‑only PDFs/DjVu) are indexed only for metadata unless the optional external tools are installed.
  • The experimental Docker build cannot open files from the container’s sandboxed browser.

Roadmap highlights

  • Full Docker support with desktop integration.
  • Faster incremental indexing and background re‑embedding.
  • Additional language models for multilingual summarisation.

License

  • Open‑source, see the repository’s LICENSE file for details.

DocuBrowse is a genuine, locally‑run AI application that brings semantic search and AI‑generated summaries to personal document collections, fitting squarely within the AI/LLM tooling space.

Related

  • Dispatch
  • Project
  • Project
  • Project
  • Project