clusterzx/paperless-ai
An automated document analyzer for Paperless-ngx using OpenAI API, Ollama, Deepseek-r1, Azure and all OpenAI API compatible Services to automatically analyze and tag your documents.
📄 Paperless‑AI – AI‑enhanced document management for Paperless‑ngx
What it is – An open‑source add‑on that plugs into the self‑hosted document archive Paperless‑ngx. It watches for newly uploaded files, sends their text to an LLM (OpenAI‑compatible services, Ollama, Gemini, etc.) and automatically:
- Generates a title and selects tags / document type
- Stores the LLM‑derived metadata back in Paperless‑ngx
- Builds a vector index so you can ask natural‑language questions about the whole archive (RAG chat)
Why it matters – Turns a static PDF repository into a searchable knowledge base without manual labeling. The heavy lifting (embedding, classification, chat) is done by any compatible LLM you point it at, so you can keep data on‑premise (Ollama) or use cloud APIs.
Core features
| Feature | What you get |
|---|---|
| Automated processing | Detects new docs, extracts text, calls the chosen LLM, writes back title, tags, correspondent, etc. |
| Multi‑model support | Works with Ollama (Mistral, Llama, Phi‑3, Gemma‑2 …), OpenAI, DeepSeek, OpenRouter, Perplexity, Together, LiteLLM, VLLM, FastChat, Gemini and any OpenAI‑compatible endpoint. |
| RAG‑based chat | Semantic vector store built from your documents; ask questions like “When did I sign my rental agreement?” and receive natural‑language answers with source citations. |
| Manual UI | /manual page lets you run the AI on a single document, useful for sensitive files you want to review before saving metadata. |
| Smart tagging & rules | Define filters to limit which docs are processed, turn prompts on/off, and map LLM output to custom tags. |
| Docker ready | Official image with health‑checks, persistent volumes and auto‑restart; simple one‑click deployment. |
| Web interface | Responsive UI integrated into Paperless‑ngx for configuring models, API keys, and viewing RAG chat. |
Quick start (Docker)
- Create a container – pull
clusterzx/paperless-aiand mount the same volumes you use for Paperless‑ngx so the add‑on can read the PDFs. - Configure – open the UI, add your LLM API key (OpenAI, Ollama endpoint, etc.) and set any tag‑rules you want.
- First run – after saving settings, restart the container; it will scan existing docs, generate embeddings, and build the RAG index.
- Use – New files are processed automatically. Visit the chat page to ask natural‑language queries across the whole archive.
For detailed steps see the Installation Wiki.
Development & contribution
- Clone the repo, run
npm installthennpm run testto start a local dev server. - The project welcomes PRs; the README lists the usual fork‑branch‑PR workflow.
- Community support lives on GitHub Issues and a Discord server.
License & support
- MIT‑licensed – free to use, modify, and redistribute.
- The author is looking for contributors; a Patreon/PayPal/Ko‑fi page is provided for optional donations.
Bottom line – Paperless‑AI adds LLM‑driven classification, tagging, and semantic search to a self‑hosted document archive, letting you retrieve information from PDFs with plain English questions while keeping the data under your control.
Related
- Project
- Project
- Dispatch
- Project
- Project