RAG Assistant for Zotero
An open‑source desktop RAG application that enables semantic search across your Zotero library. Easily discover conceptually related papers and ideas within your PDF collection using local or cloud‑based LLMs. The app provides source attribution, metadata filtering, and seamless integration with Zotero.
What It Does
This tool indexes the PDFs in your Zotero library and uses retrieval-augmented generation (RAG) to answer questions based on their content. Every answer includes citations to the specific sources and page numbers used, making it easy to verify claims and follow up on interesting findings.
It is not a paper summariser — think of it as a library clerk. You describe whatever is on your mind, and it fetches semantically related passages across your collection to get you started, surfacing connections you might otherwise miss during a literature review.
The application can run entirely on your local machine. Your documents and queries stay private if you use local models.
Quick Installation
The app is available on macOS (Apple Silicon only), Windows, and Linux. You can always download the latest installer from Releases.
Or install it from a package manager:
macOS (Homebrew):
brew tap Quiet-Signals-Lab/rag-assistant-for-zotero
brew install --cask rag-assistant-for-zotero
Windows (winget):
winget install aahepburn.RAGAssistantForZotero
The app is not notarised on Windows and may throw a safety warning.
Linux (Debian/Ubuntu): download the .deb from Releases and install it with sudo apt install ./RAG-Assistant-*.deb — Python and all dependencies are bundled.
Key Features
- Hybrid search: Combines semantic embeddings and BM25 keyword search with cross-encoder reranking for high-precision retrieval
- Metadata filtering: Filter by year, tags, collections, authors, or item types through natural language queries or manual controls
- Cited answers: Responses include references to specific documents and page numbers from your library
- Conversational follow-ups: Ask follow-up questions that reference previous context without repeating information