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
- 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. - Embedding – runs the
nomic-embed-text:latestmodel via Ollama to create vector embeddings for each document. - 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.
- 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
.vsdor 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