Plugins / Reading & PDFs

ChatPDF

by ruijie-xi · github.com/ruijie-xi/zotero-chat-pdf

Chat with your PDFs using LLMs in Zotero

View source
Downloads a .xpi file (0.9 MB). In Zotero, open Tools → Plugins and install it from the file.
StarsPeople who starred the repository on GitHub: a rough measure of interest.
3
DownloadsAll-time downloads of its release files from GitHub. Installs from elsewhere aren't counted.
41
ContributorsPeople who have committed code to the repository.
4
LicenceThe licence the code is published under, as GitHub reports it.
None stated
B
Atlas gradeUse with care
because a zotero:// link (a web page can open one) can make it install add-ons without asking you (from zotero-plugin-toolkit), and 2 more findings
Applies to v0.8.10, released 1 Sep 2026Code checked · tested installed in Zotero 10.0.3 on 27 Sep 2026
What we found in the codeSets the gradeThe worst finding in these three areas sets the grade.
Code transparencyReadable code, uploaded by the project's automated GitHub buildThe release file was uploaded by the project's automated GitHub build. We haven't yet rebuilt it from the source to compare.LowLow concern: normal for plugins that do this job. Listed so you know.
Updates
Updates come from this project's GitHub repositoryThe update address offers this version
Where your data goesOnly contacts services we could identify5 addresses in 3 groups.LowLow concern: normal for plugins that do this job. Listed so you know.
AI services (1)
api.deepseek.com
Apps you connect (3)
api.search.brave.comhtml.duckduckgo.commineru.netnamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.
Code hosting (1)
github.com
Where we found it
api.deepseek.comcontent/scripts/chatpdf.js · line 497
DEFAULT_API_BASE = "https://api.deepseek.com/v1";
api.search.brave.comcontent/scripts/chatpdf.js · line 40853
const url = `https://api.search.brave.com/res/v1/web/search?${params2}`;
html.duckduckgo.comcontent/scripts/chatpdf.js · line 40886
const url = `https://html.duckduckgo.com/html/?${params2}`;
Powerful capabilitiesA zotero:// link (a web page can open one) can make it install add-ons without asking you, and 6 moreMediumMedium concern: worth reading before you install. One medium finding makes the grade B.
A zotero:// link (a web page can open one) can make it install add-ons without asking you (from zotero-plugin-toolkit)mediumMedium concern: worth reading before you install.A zotero:// link can make it run code if you approve a prompt (from zotero-plugin-toolkit)mediumMedium concern: worth reading before you install.Launches programs on your computermediumMedium concern: worth reading before you install.Uses the clipboardlowLow concern.Stores API keys or passwordslowLow concern.Works with files on your computerlowLow concern.Lets programs on this computer connect through Zotero's built-in server
Where we found it
A zotero:// link (a web page can open one) can make it install add-o…content/scripts/chatpdf.js · line 42574

zotero://plugin

Services.io.getProtocolHandler("zotero").wrappedJSObject._extensions["zotero://plugin"] = pluginBridgeExtension;
A zotero:// link can make it run code if you approve a promptcontent/scripts/chatpdf.js · line 42530

zotero://ztoolkit-debug

Services.io.getProtocolHandler("zotero").wrappedJSObject._extensions["zotero://ztoolkit-debug"] = debugBridgeExtension;
Launches programs on your computercontent/scripts/chatpdf.js · line 38209

Programs it names include curl

const result = await Zotero.Utilities.Internal.exec(curlPath, args);
Before you installShown, not gradedFacts to help you decide. They don't change the grade.
Works withZotero 7, 8, 9, 10 · not 11 betaUpdates automatically
Zotero 7 ✓ worksZotero 8 ✓ worksZotero 9 ✓ worksZotero 10 ✓ worksZotero 11 beta ✗ doesn't work
What you'll needAn API keyDetected automatically from its code
No further detail for this area yet.
MaintenanceActive · last release 1 Sep 20264 contributors
No further detail for this area yet.
LanguagesDocumentation in EnglishInterface: English
No further detail for this area yet.
We report what we found in the code. Open any area for the evidence.How we gradeReport a problem

What it does

Description coming soon. We haven't written a summary yet. The line above is the developer's own description; the developer's README is linked above.

What you'll need

Detected automatically
  • An API keyNeeds a key you get from the service (MinerU and DeepSeek). What needs it: MinerU token for PDF conversion and an LLM API key (default DeepSeek).

Where your data goes

We found: only contacts services we could identify. 5 addresses in 3 groups.

AI services (1)
api.deepseek.com
Apps you connect (3)
api.search.brave.comhtml.duckduckgo.commineru.netnamed in its code
Code hosting (1)
github.com
Evidence · file and line
api.deepseek.comcontent/scripts/chatpdf.js · line 497
DEFAULT_API_BASE = "https://api.deepseek.com/v1";
api.search.brave.comcontent/scripts/chatpdf.js · line 40853
const url = `https://api.search.brave.com/res/v1/web/search?${params2}`;
html.duckduckgo.comcontent/scripts/chatpdf.js · line 40886
const url = `https://html.duckduckgo.com/html/?${params2}`;

Forks and alternatives

No forks listed.

Plugins for the same job
  • NoteroReading & PDFs · Files, sync & backupA+Recommended, tested in Zotero
  • Bionic for ZoteroReading & PDFsA+Recommended, tested in Zotero
  • ZotLitReading & PDFs · Citing & writingA+Recommended, tested in Zotero
  • Zotero Focused ModeReading & PDFsA+Recommended, tested in Zotero

The developer's response

The developer hasn't responded. Developers can reply here, and their reply sits next to our findings.I'm the developer
Install ChatPDF
BUse with care
Before you install: A zotero:// link (a web page can open one) can make it install add-ons without asking you (from zotero-plugin-toolkit), and 2 more findings.Read the finding
Compare with similar plugins