English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Français
🌐 Website: https://visterainer.github.io/aidea-zotero/en/
A free, open-source AI assistant plugin for Zotero
🔐 OAuth login with OpenAI (ChatGPT), Google Gemini, and GitHub Copilot
⚙️ OpenAI-compatible APIs and local or self-hosted models via Ollama, LM Studio, vLLM, and similar runtimes
Features | Installation | Getting Started | Configuration | License
Chat with AI directly in Zotero's side panel, available in the Library view and the PDF or EPUB Reader. Ask questions, get summaries, and stay inside the same research workflow. EPUB conversations use the book's EPUB 2/3 publisher structure and bounded local retrieval to select relevant sections without an additional planning-model request.
Select text in the PDF or EPUB reader and click Add Text to attach the selected passage to the context area. AIdea can then answer against the selected passage instead of relying on a generic summary.
Translate selected text directly in Zotero's PDF or EPUB reader popup. AIdea detects the active format automatically, with no manual switch required. Selection translation uses the same OAuth/API model list as the chat panel, but can be configured with its own enable switch, model, source language, and target language.
For PDFs, the first selection translation creates a local cold-start cache with a compact paper overview and terminology summary. EPUB selections instead use bounded, selection-anchored book context without a separate warm-up request. Translated passages can be added back to Zotero notes.
Use one-click shortcuts for common tasks such as Summarize, Explain, and Translate. Shortcuts can be added, edited, reordered, or removed to match your workflow.
Attach screenshots, figures, and charts to your messages. AIdea supports drag and drop, clipboard paste, and screenshot capture directly from PDF content.
Sign in with your existing account through OAuth. AIdea supports multiple providers with provider-specific OAuth flows, so you can start without managing an API key manually.
Translate full papers directly inside Zotero and export either a bilingual dual-column PDF or a single-language PDF. The translation workflow supports model selection, output path configuration, and end-to-end execution in the side panel.
Example outputs:
| Provider | Auth Method | Extra Setup |
|---|---|---|
| OpenAI (ChatGPT) | OAuth via Codex CLI | Node.js (auto-installed) |
| Google Gemini | In-plugin OAuth (PKCE) | Node.js (auto-installed) |
| GitHub Copilot | In-plugin OAuth (Device Code) | None |
Save AI responses as Zotero notes with one click. Responses are stored in Markdown and support LaTeX math rendering.
All conversations are stored locally in Zotero's database. You can switch between conversations, continue previous threads, and manage local chat history.
AIdea captures and recalls useful information across conversations to improve continuity and context awareness over time.
- Auto-capture detects preferences, decisions, facts, and key entities from natural conversation
- Per-library isolation keeps memories scoped to each Zotero library
- Smart deduplication uses Jaccard token similarity to prevent redundant memories
- Relevance-ranked retrieval combines overlap, substring match, recency, and importance
- Prompt injection defense blocks malicious or irrelevant content from being stored
- Fully local storage keeps memory data inside Zotero's SQLite database
- Full Markdown rendering, including headings, lists, code blocks, and tables
- LaTeX math support via KaTeX
- Syntax highlighting for code blocks
- Smooth streaming responses
The plugin interface now supports 12 UI languages: English, 简体中文, 繁體中文, 日本語, 한국어, Français, Deutsch, Español, Русский, Português, العربية, and हिन्दी. Full-document translation keeps its broader target-language list independent from the UI language list.
- Zotero 7 or later
- Node.js, required for OpenAI and Gemini, can be installed automatically by the plugin when needed
- Download the latest
AIdea-x.x.x.xpifrom Releases - In Zotero, go to Tools → Add-ons
- Click the gear icon ⚙️ and choose Install Add-on From File...
- Select the downloaded
.xpifile - Restart Zotero
Install the newer .xpi package over the existing one. Chat history, stored memory, and local settings are preserved.
Go to Tools → Add-ons → AIdea → Settings. On older Zotero builds, the path may appear under Edit → Settings → AIdea.
AIdea supports two connection modes. You can use either one or combine both.
For each provider card, the typical setup order is:
①
Install/Update Env→ ②OAuth Login→ ③Refresh Models
| Button | What it does |
|---|---|
Install/Update Env |
Installs and configures the required CLI tools and runtime, including Node.js and npm when needed. GitHub Copilot does not require this step. |
OAuth Login |
Starts the provider-specific login flow. OpenAI and Gemini open the browser directly. GitHub Copilot shows a device code, copies it, and opens the browser for authorization. |
Refresh Models |
Loads the list of available models for the provider after login. |
Remove Auth |
Clears the locally stored OAuth token for that provider. |
💡 Tip: Each provider only needs to be configured once. The login session is stored locally and remains available after Zotero restarts.
AIdea can also connect to any OpenAI-compatible chat endpoint, including local, self-hosted, or third-party services such as Ollama, LM Studio, vLLM, DeepSeek, OpenRouter, or Groq.
In Settings, switch to API Mode and fill in:
| Field | Required | Description |
|---|---|---|
| API Base URL | Yes | The base URL of the compatible endpoint, such as https://api.openai.com/v1 or http://localhost:11434/v1 |
| API Key | No | Required only when the endpoint expects authentication |
| Model | Yes | Enter the model manually or click Auto Fetch Models to detect available models |
Note: API mode targets compatible
/chat/completionsendpoints. It does not guarantee support for provider-specific features beyond standard chat completion.
- In the Library Panel, select an item and use the AIdea panel in the right sidebar
- In the PDF or EPUB Reader, open a document and use the AIdea panel in the reader sidebar
- Type your question and press Send or hit
Enter
Click shortcut buttons such as Summarize, Explain, or Translate for one-click actions. Right-click a shortcut to edit or remove it.
| Setting | Description | Default |
|---|---|---|
| UI Language | Plugin interface language | Auto-detected, fallback EN |
| System Prompt | Custom instructions for the model | Empty |
| Show "Add Text" | Show the Add Text option in the reader selection popup | On |
| Selection Translation | Translate selected reader text with automatic bounded document context | On |
| Selection Translation Model | Dedicated model for reader selection translation | First available model unless changed |
| Show All Models | Show all available models instead of a curated subset | Off |
| Tab Bar | Show or hide the tab navigation bar | Hidden |
- OAuth tokens are stored locally only
- API requests are sent directly to the selected provider or configured endpoint
- AIdea does not collect usage telemetry or user data
- Chat history and memory remain in Zotero's local database
- The code is fully available for inspection on GitHub
Planned directions for future releases include:
- One-click architecture diagrams, for generating structural visualizations from paper content
💡 Feature requests are welcome through Issues.
# Install dependencies
npm install
# Development mode
npm start
# Build production XPI
npm run build
# Run tests
npm run test:unitThis project is derived from llm-for-zotero by Yile Wang. See THIRD_PARTY_NOTICES.md for attribution details.
Author: zhile








