Turn Your Zotero Library Into an AI-Powered Reading Room—AIZotero in Plain English
Why Add AI to Zotero?
If you have ever stared at a forty-page PDF and wondered, “What does this paper actually say?” you are not alone.
Zotero already helps millions of users collect, tag, and cite research. The missing piece is conversation: the ability to ask the paper questions and get straight answers.
AIZotero fills that gap. It connects your local Zotero library to any OpenAI-compatible service and gives you a chat window next to every PDF. Nothing leaves your computer unless you want it to.
What Is AIZotero, Exactly?
One-sentence summary:
AIZotero = your existing Zotero library + a private AI assistant + full-text search + local memory.
-
Local first. Your PDFs stay on your hard drive. -
Offline ready. Swap in a local LLM and you can work without the internet. -
Lightweight. A single SQLite file stores every conversation and cache entry. -
Open source. MIT license; audit or fork as you wish.
Core Features at a Glance
Feature | What it does for you | Under the hood |
---|---|---|
Zotero Integration | Lists every paper already in your library | aiohttp async calls to Zotero 7’s local API |
AI Chat | Ask questions, get summaries, dig into formulas | OpenAI-compatible endpoints |
Full-Text Search | Instant results on title, abstract, tags | SQLite FTS5 + FastAPI |
PDF Preview | Draggable split view: PDF left, chat right | Vue 3 + Tailwind CSS |
Math Support | LaTeX rendered correctly inline | KaTeX |
Persistent Memory | Yesterday’s questions appear today | SQLite table chat_records |
Quick-Start Checklist (5 Minutes)
1. Check Versions
Tool | Min Version | How to Verify |
---|---|---|
Python | 3.13 | python --version |
Node.js | 18 | node -v |
Zotero | 7+ | Help → About |
Package Managers | UV + PNPM | uv --version && pnpm -v |
Common question: My Python is 3.11. Is that okay?
Answer: Create a 3.13 environment with pyenv
or conda
; your current projects remain untouched.
2. Install
# 1. Clone the repository
git clone https://github.com/your-org/aizotero.git
cd aizotero
# 2. Back-end dependencies
uv sync # like pip install, but faster
# 3. Front-end dependencies
cd frontend
pnpm install
3. Launch
Open two terminal tabs:
# Tab A – back-end (FastAPI)
uv run uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
# Tab B – front-end (Vite)
cd frontend && pnpm dev
Visit http://localhost:5173. The first page asks for your AI endpoint and key; after that you will see your entire Zotero library ready for chat.
First-Time Setup in Three Clicks
-
Connect AI.
Settings icon → paste your OpenAI (or local Ollama) URL and key → Save. -
Link Zotero.
If Zotero 7 is installed, AIZotero detects it automatically. Click Allow in the pop-up. -
Start Reading.
-
Browse papers by title, author, or tag. -
Click any paper → PDF on the left, AI chat on the right. -
Ask, “What problem does this solve?” or “Explain Equation 3.”
-
Deep Dive: Seven Questions Users Ask Most
1. Does the AI really understand my paper?
Flow:
PDF → markitdown → Markdown → AI → Answer
-
Figures are converted to alt-text. -
Equations become LaTeX. -
OCR runs if the PDF is a scan.
2. Where do my chat logs live?
-
Location: aizotero/data/cache/chat.db
-
Format: SQLite, plain text, human-readable. -
Portability: Copy the whole folder to another machine and pick up where you left off.
3. How do I export a conversation?
Inside the chat panel → Export as Markdown → a single .md
file ready for Obsidian, Notion, or Word.
4. How fast is search?
Benchmark on an M2 Mac with 3,000 papers: keyword queries return in < 200 ms.
Tech: SQLite FTS5 with FastAPI’s async endpoints.
5. Will math formulas break?
No. KaTeX renders inline and display math correctly, including calligraphic symbols like 𝓗.
6. Can I stay completely offline?
Yes. Replace the remote AI endpoint with a local LLM (Ollama, LM Studio, etc.). PDF processing itself is always local.
7. Is my data sent to third parties?
Only the Markdown text is sent to the AI endpoint you choose. Self-hosting is one command away. The codebase is open for review.
Architecture in One Picture
Layer | Technology | Responsibility |
---|---|---|
Front-End | Vue 3 + TypeScript + Tailwind v4 | User interface, drag-and-drop layout |
Back-End | FastAPI + SQLite + aiohttp | REST API, search, caching |
PDF Parser | markitdown + ThreadPoolExecutor | Async PDF → Markdown |
AI Layer | OpenAI-compatible | Q&A, summarization |
Storage | SQLite | Chat history, processed cache |
Daily Commands for Developers
# Run tests
uv run pytest -v
# Auto-format Python
uv run black . && uv run ruff check . --fix
# Type-check TypeScript
cd frontend && pnpm type-check
# Pre-commit hooks (runs lint + tests)
git add .
uv run lefthook run pre-commit
git commit -m "feat: add tag filter"
Real-World Usage: Three Personas, One Day
Persona | Task | Old Workflow | AIZotero Workflow | Time Saved |
---|---|---|---|---|
Graduate Student | Draft proposal | Open 20 PDFs → manual notes | Select 20 → AI bulk summary | 2 h → 15 min |
ML Engineer | Reproduce paper | Copy equations by hand | Ask AI: “Explain derivation of Eq 3” | 30 min → 3 min |
Product Manager | Competitive scan | Evernote + email snippets | Chat while reading, export .md | 1 day → 2 h |
Frequently Asked Questions (Updated Live)
Q: Does it work on Windows?
A: Yes. Windows 10/11 fully supported; installation steps identical.
Q: M1 / M2 Macs?
A: No extra steps. UV and PNPM install ARM-native binaries automatically.
Q: Zotero 6 support?
A: No. The local API changed between Zotero 6 and 7; upgrade is recommended.
Q: 100 MB PDFs?
A: Converted in ~30 s on a 2022 MacBook Air using four worker threads.
Q: How do I uninstall?
A: Delete the aizotero
folder. No registry keys or hidden files remain.
Next Steps: Make AIZotero Your Second Brain
-
Design a Tag Taxonomy
Use three buckets: Method / Dataset / Baseline. The AI will cite tags in answers. -
Weekly Export Routine
Every Friday, export that week’s chats to Obsidian. Over time you will have a searchable knowledge graph. -
Layer Your Own Notes
After each AI answer, add a bullet with extra context. The next time you open the paper, the history is intact.
Closing Thoughts
AIZotero is not “yet another AI tool.” It is a quiet, always-available research assistant that turns the library you already curate into a place you can have conversations with.
If you read papers for a living—or for curiosity—clone it, try it, and open an issue if something feels off. The code is yours.
Repository & Installation Guide:
github.com/your-org/aizotero