MCPcopy Index your code
hub / github.com/clusterzx/paperless-ai

github.com/clusterzx/paperless-ai @v3.0.9 sqlite

repository ↗ · DeepWiki ↗ · release v3.0.9 ↗
509 symbols 1,075 edges 37 files 77 documented · 15%
README

📄 Paperless-AI

GitHub commit activity Docker Pulls GitHub Stars License


Paperless-AI is an AI-powered extension for Paperless-ngx that brings automatic document classification, smart tagging, and semantic search using OpenAI-compatible APIs and Ollama.

It enables fully automated document workflows, contextual chat, and powerful customization — all via an intuitive web interface.

💡 Just ask:
“When did I sign my rental agreement?”
“What was the amount of the last electricity bill?”
“Which documents mention my health insurance?”

Powered by Retrieval-Augmented Generation (RAG), you can now search semantically across your full archive and get precise, natural language answers.


✨ Features

🔄 Automated Document Processing

  • Detects new documents in Paperless-ngx automatically
  • Analyzes content using OpenAI API, Ollama, and other compatible backends
  • Assigns title, tags, document type, and correspondent
  • Built-in support for:
  • Ollama (Mistral, Llama, Phi-3, Gemma-2)
  • OpenAI
  • DeepSeek.ai
  • OpenRouter.ai
  • Perplexity.ai
  • Together.ai
  • LiteLLM
  • VLLM
  • Fastchat
  • Gemini (Google)
  • ...and more!

🧠 RAG-Based AI Chat

  • Natural language document search and Q&A
  • Understands full document context (not just keywords)
  • Semantic memory powered by your own data
  • Fast, intelligent, privacy-friendly document queries
    RAG_CHAT_DEMO

⚙️ Manual Processing

  • Web interface for manual AI tagging
  • Useful when reviewing sensitive documents
  • Accessible via /manual

🧩 Smart Tagging & Rules

  • Define rules to limit which documents are processed
  • Disable prompts and apply tags automatically
  • Set custom output tags for tracked classification
    PPAI_SHOWCASE3

🚀 Installation

⚠️ First-time install: Restart the container after completing setup (API keys, preferences) to build RAG index.
🔁 Not required for updates.

📘 Installation Wiki


🐳 Docker Support

  • Health monitoring and auto-restart
  • Persistent volumes and graceful shutdown
  • Works out of the box with minimal setup

🔧 Local Development

# Install dependencies
npm install

# Start development/test mode
npm run test

🧭 Roadmap Highlights

  • ✅ Multi-AI model support
  • ✅ Multilingual document analysis
  • ✅ Tag rules and filters
  • ✅ Integrated document chat with RAG
  • ✅ Responsive web interface

🤝 Contributing

We welcome PRs and contributions!

# Fork, clone, then:
git checkout -b feature/YourFeature
# After changes:
git commit -m "Add YourFeature"
git push origin feature/YourFeature

Then open a Pull Request via GitHub.


🆘 Support & Community


📄 License

This project is licensed under the MIT License. See LICENSE for details.


🙏 Support Development

Patreon PayPal BuyMeACoffee Ko-Fi

Core symbols most depended-on inside this repo

initialize
called by 26
services/paperlessService.js
save_state
called by 22
main.py
initialize
called by 14
main.py
normalizeArray
called by 12
routes/setup.js
getDocument
called by 10
services/paperlessService.js
processRestrictionsInPrompt
called by 10
services/restrictionPromptService.js
truncateToTokenLimit
called by 9
services/serviceUtils.js
getTags
called by 9
services/paperlessService.js

Shape

Method 317
Function 95
Class 89
Route 8

Languages

TypeScript88%
Python12%

Modules by API surface

main.py59 symbols
public/js/setup.js57 symbols
public/js/settings.js53 symbols
services/paperlessService.js43 symbols
public/js/playground-analyzer.js26 symbols
public/js/manual.js26 symbols
public/js/dashboard.js26 symbols
models/document.js25 symbols
public/js/history.js23 symbols
services/ollamaService.js22 symbols
services/setupService.js14 symbols
services/loggerService.js13 symbols

Dependencies from manifests, versioned

@eslint/js9.22.0 · 1×
axios1.8.2 · 1×
bcryptjs3.0.2 · 1×
better-sqlite311.8.1 · 1×
body-parser1.20.3 · 1×
cheerio1.0.0 · 1×
cookie-parser1.4.7 · 1×
cors2.8.5 · 1×
date-fns4.1.0 · 1×
dockerode4.0.6 · 1×
dotenv16.4.7 · 1×
ejs3.1.10 · 1×

For agents

$ claude mcp add paperless-ai \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact