An LLM (Large Language Model) assistant plugin for Zotero 7+.
The main feature is a new LLM assistant tab in the side panel, and by default the assistant will have all the context of the current item you're reading, so you don't have to copy paste information. It's a more seamless experience for people who use Zotero to read papers, and use LLM regularly to ask questions about the paper being read.
This is an early prototype and mainly developed with Cursor.
Option 1: Using zip directly (recommended)
cd zotero-llm-assistant
mkdir -p dist
cd addon
zip -r ../dist/zotero-llm-assistant.xpi .Option 2: Using npm build script
cd zotero-llm-assistant
npm run buildBoth methods will create dist/zotero-llm-assistant.xpi.
- Open Zotero (version 7.0 or later)
- Go to
Tools→Add-ons(orPluginsin Zotero 7) - Click the gear icon (⚙️) in the upper right corner of the Add-ons Manager window
- Select "Install Add-on From File..."
- Navigate to and select the
dist/zotero-llm-assistant.xpifile - Restart Zotero if prompted
After installation, you should see "Zotero LLM Assistant" in the list of installed plugins. You can also check the console for initialization messages:
- Open Zotero
- Press
Cmd+Shift+J(Mac) orCtrl+Shift+J(Windows/Linux) to open the Error Console - Look for "Starting Zotero LLM Assistant plugin" messages
zotero-llm-assistant/
├── addon/ # Plugin files
│ ├── bootstrap.js # Plugin lifecycle handlers
│ ├── manifest.json # Plugin metadata (Zotero 7)
│ ├── install.rdf # Legacy install metadata
│ ├── chrome.manifest # Chrome resource mappings
│ └── content/ # Main JavaScript code
│ └── main.js
├── scripts/
│ └── build.js # Build script for XPI
├── dist/ # Build output directory
└── package.json # Node.js configuration
addon/content/main.js: Add your LLM assistant functionality hereaddon/bootstrap.js: Plugin lifecycle events (startup, shutdown, etc.)addon/manifest.json: Plugin metadata (name, version, etc.)
- LLM-powered research assistant
- Basic QA
- Read pdf text into context by default
- Read html text into context by default
- Markdown rendering
- Latex rendering (Mathjax)
- Context compression
- Quick answer for selected text
- UI improvements
- Support search API
- Support files API
MIT
This plugin is available on GitHub: https://github.com/snie2012/zotero-llm-assistant
Contributions are welcome! Please feel free to submit a Pull Request.