For developers / psiQAQ

Zotero Agent

github.com/psiQAQ/zotero-agent
Public grade · v2.2.2BUse with care
To reach A
Changes Zotero settings that aren't its owncontent/scripts/zotero-agent.js · line 15400Zotero.Prefs.set(PREF_KEY, JSON.stringify(next), true);Reply
Installs other add-onscontent/scripts/zotero-agent.js · line 11375const install = await AddonManager.getInstallForURL(url);Reply
A zotero:// link (a web page can open one) can make it install add-ons without asking youcontent/scripts/zotero-agent.js · line 17982Services.io.getProtocolHandler("zotero").wrappedJSObject._extensions["zotero://plugin"] = pluginBridgeExtension;Reply
A zotero:// link can make it run code if you approve a promptcontent/scripts/zotero-agent.js · line 17938Services.io.getProtocolHandler("zotero").wrappedJSObject._extensions["zotero://ztoolkit-debug"] = debugBridgeExtension;Reply
Runs a local server; a setting (off by default) opens it to your networkcontent/scripts/zotero-agent.js · line 21977this.serverSocket = Cc["@mozilla.org/network/server-socket;1"].createInstance(Ci.nsIServerSocket);Reply
Runs code other programs on this computer send itcontent/scripts/zotero-agent.js · line 11260const fn = new AsyncFunction(...names, code);Reply
Contacts servers we couldn't identify: sci-hub.usualwant.com, www.pismin.com and 2 morecontent/scripts/zotero-agent.js · line 12262{ url: "https://sci-hub.usualwant.com/{doi}" },Reply
✓Readable code, uploaded by the project's automated GitHub build
✓Works with Zotero 10
Then A+
Pass the live test in Zotero 10We install it in a fresh Zotero and record what it does. Every plugin at A is tested.
README badgePlugins Atlas grade B[![Plugins Atlas grade](https://zoteroplugins.org/badge/zotero-agent.svg)](https://zoteroplugins.org/p/zotero-agent)Updates itself when the grade changes.
Disagree with a finding?Respond on GitHub from an account that maintains the repository. Your response is published next to the card, with our reply.Respond to the card
See the public plugin page