Plugins / AI & summaries

Awesome GPT

by MuiseDestiny · github.com/MuiseDestiny/zotero-gpt

A floating GPT chat window: ask about the open PDF or selected text, summarize papers and search your library, with shareable command tags that save prompts as one-click buttons.

View source
Downloads a .xpi file (4.8 MB). In Zotero, open Tools → Plugins and install it from the file.
StarsPeople who starred the repository on GitHub: a rough measure of interest.
7,430
DownloadsAll-time downloads of its release files from GitHub. Installs from elsewhere aren't counted.
602,741
ContributorsPeople who have committed code to the repository.
11
LicenceThe licence the code is published under, as GitHub reports it.
AGPL-3.0
C
Atlas gradeNot recommended
because it runs encrypted code we can't read, and 3 more findings
Applies to v3.1.142, released 1 May 2026Code checked · in Zotero 10.0.3 on 27 Sep 2026 it did something its card didn't describe
Another plugin uses the same IDOne other plugin shares this add-on ID. Zotero can only install one of them.
What we found in the codeSets the gradeThe worst finding in these three areas sets the grade.
Code transparencyMinified (compressed) code; not yet checked against the published sourceThe developer uploaded the release file from the MuiseDestiny account. We haven't yet checked whether this file matches the public source code.UnknownWe couldn't check this yet.
Updates
Updates come from MuiseDestiny/plugins on GiteeZotero will update it to version 3.1.177 from MuiseDestiny/plugins on Gitee (rated: Serious concerns found)
Where your data goesContacts a server we couldn't identify: 124.156.114.12440 addresses in 6 groups.MediumMedium concern: worth reading before you install. One medium finding makes the grade B.
Developer's servers (1)
pro.muisedestiny.xyz
Cloud functions (1)
ethereal-plugins-pro.muisedestiny.workers.dev
Not identified (1)
124.156.114.124
AI services (27)
api-inference.modelscope.cnnamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.api.anthropic.comnamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.api.baichuan-ai.comnamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.api.cerebras.ainamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.api.deepseek.comnamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.api.fireworks.ainamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.api.groq.comnamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.api.hunyuan.cloud.tencent.comnamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.api.longcat.chatnamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.api.minimax.ionamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.api.minimaxi.comnamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.api.mistral.ainamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.api.moonshot.cnnamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.api.openai.comapi.perplexity.ainamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.api.siliconflow.cnnamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.api.stepfun.comnamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.api.together.ainamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.api.x.ainamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.api.xiaomimimo.comnamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.ark.cn-beijing.volces.comnamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.dashscope.aliyuncs.comnamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.generativelanguage.googleapis.comopen.bigmodel.cnnamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.openrouter.ainamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.qianfan.baidubce.comnamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.router.huggingface.conamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.
Scholarly services (9)
api.crossref.orgnamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.api.datacite.orgnamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.api.openalex.orgnamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.api.semanticscholar.orgnamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.doi.orgnamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.europepmc.orgnamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.openalex.orgnamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.www.ebi.ac.uknamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.www.semanticscholar.orgnamed 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)
scriptcat.org
Where we found it
pro.muisedestiny.xyzchrome/content/scripts/zoterogpt.js · line 1520
ing"?e.trim().length>0:typeof e=="number"?e!==0&&!Number.isNaN(e):e===!0}var Yu="https://pro.muisedestiny.xyz",Et=Object.freeze({capability:"pro.bootstrap.capability",capabilityFetchedAt:"pro.bootstra
ethereal-plugins-pro.muisedestiny.workers.devchrome/content/scripts/zoterogpt.js · line 1520
strap.lastError"}),$2=Object.freeze(["https://pro.muisedestiny.xyz/v1/activate","https://ethereal-plugins-pro.muisedestiny.workers.dev/v1/activate","http://124.156.114.124:5000/v1/activate"]),ia="http
124.156.114.124chrome/content/scripts/zoterogpt.js · line 445
h4,Jg,x4,DE,Ft,$n,Cc,Ec,sh=Y(()=>{"use strict";Yr();zn();Nr();wc();Kg();wc();g4="http://124.156.114.124/extension/stable.json",Xg="ZoteroGPTConnector.extensionDir",h4="ZoteroGPTConnector.extensionUpda
Powerful capabilitiesRuns encrypted code we can't read, and 11 moreHighHigh concern: a serious problem. One high finding makes the grade C.
Runs encrypted code we can't readhighHigh concern: a serious problem.Installs other add-onshighHigh concern: a serious problem.A zotero:// link (a web page can open one) can make it run code without asking youhighHigh concern: a serious problem.Runs the AI model's replies as codehighHigh concern: a serious problem.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.Updates itself outside Zotero's updatermediumMedium concern: worth reading before you install.Sends your text or keys unencrypted (http://) to 124.156.114.124mediumMedium concern: worth reading before you install.Uses the clipboardlowLow concern.Stores API keys or passwordslowLow concern.Runs code it assembles while runninglowLow concern.Works with files on your computerlowLow concern.Uses Zotero's password managerlowLow concern.
Where we found it
Runs encrypted code we can't readchrome/content/scripts/zoterogpt.js · line 124

Encrypted file: pro-entry.enc

pt:function(W,k,Q){return L(k).encrypt(N,W,k,Q)},decrypt:function(W,k,Q){return L(k).decrypt(N,W,k,Q)}}}}()}),f=n.StreamCipher=p.extend({_doFinalize:function(){var L=this._process(!0);return L},blockS
Installs other add-onschrome/content/scripts/zoterogpt.js · line 418

From a file it finds on a web page at ftp.zotero-chinese.com, without asking, not checked against a hash; from a fixed address at gitee.com, after asking you

, do you want to install\u300CActions and Tags for Zotero\u300D?")&&await(await r.getInstallForURL("https://gitee.com/zotero-chinese-x/zotero-plugins/raw/gh-pages/xpi/301033439.xpi")).install()}let t=
A zotero:// link (a web page can open one) can make it run code with…chrome/content/scripts/zoterogpt.js · line 1150

zotero://meet-awesome-gpt, zotero://ztoolkit-debug (asks first)

},r=Services.io.getProtocolHandler("zotero").wrappedJSObject;r&&r._extensions&&(r._extensions["zotero://meet-awesome-gpt"]=t)}}});var C1=Y(()=>{"use strict"});function S1(e){return String(e||"").trim(
Runs the AI model's replies as codechrome/content/scripts/zoterogpt.js · line 1150
\`\`\``,"markdown"));let f=await window.eval(`window.Meet.Zotero.${u.function.name}(...Object.values(${d[0].function.arguments}))`);f=typeof f=="string"?f:JSON.stringify(f),q.Global.popupWin?.createLi
A zotero:// link (a web page can open one) can make it install add-o…chrome/content/scripts/zoterogpt.js · line 1285

zotero://plugin

.`)}}catch(a){r.logError(a),eu(a.message,!1)}},newChannel(o){this.doAction(o)}};Services.io.getProtocolHandler("zotero").wrappedJSObject._extensions["zotero://plugin"]=n}},bn(Lr,"version",1),Lr);funct
Updates itself outside Zotero's updaterchrome/content/scripts/zoterogpt.js · line 447

From its own update feed at raw.giteeusercontent.com, plain http addresses accepted

Utils.importESModule("resource://gre/modules/AddonManager.sys.mjs");await(await t.getInstallForURL(e.updateLink)).install()}function ph(e){return _c(e).split(".").map(Number)}function Ke(e,t){return t
Sends your text or keys unencrypted (http://) to 124.156.114.124chrome/content/scripts/zoterogpt.js · line 1520

To 124.156.114.124 only if its https servers can't be reached, which someone on your network can arrange; anyone on the network in between can read it

1/activate","https://ethereal-plugins-pro.muisedestiny.workers.dev/v1/activate","http://124.156.114.124:5000/v1/activate"]),ia="https://my.feishu.cn/docx/Eur4d7XFXoZkUQxJqWfcAaDHnWf",U2=Object.freeze(
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 May 202611 contributors
No further detail for this area yet.
LanguagesDocumentation in EnglishInterface: English, Italian, Russian and Chinese
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

Written by AI from the README

A floating GPT chat window: ask about the open PDF or selected text, summarize papers and search your library, with shareable command tags that save prompts as one-click buttons. Needs an OpenAI-compatible API key.

One of the first ways to use GPT on papers without copying text out of Zotero. Command tags turn repeated prompts into a single click.

What you'll need

Detected automatically
  • An API keyNeeds a key you get from the service (OpenAI). What needs it: the GPT chat (OpenAI-style secret key, blank by default).

Where your data goes

We found: contacts a server we couldn't identify: 124.156.114.124. 40 addresses in 6 groups.

Developer's servers (1)
pro.muisedestiny.xyz
Cloud functions (1)
ethereal-plugins-pro.muisedestiny.workers.dev
Not identified (1)
124.156.114.124
AI services (27)
api-inference.modelscope.cnnamed in its codeapi.anthropic.comnamed in its codeapi.baichuan-ai.comnamed in its codeapi.cerebras.ainamed in its codeapi.deepseek.comnamed in its codeapi.fireworks.ainamed in its codeapi.groq.comnamed in its codeapi.hunyuan.cloud.tencent.comnamed in its codeapi.longcat.chatnamed in its codeapi.minimax.ionamed in its codeapi.minimaxi.comnamed in its codeapi.mistral.ainamed in its codeapi.moonshot.cnnamed in its codeapi.openai.comapi.perplexity.ainamed in its codeapi.siliconflow.cnnamed in its codeapi.stepfun.comnamed in its codeapi.together.ainamed in its codeapi.x.ainamed in its codeapi.xiaomimimo.comnamed in its codeark.cn-beijing.volces.comnamed in its codedashscope.aliyuncs.comnamed in its codegenerativelanguage.googleapis.comopen.bigmodel.cnnamed in its codeopenrouter.ainamed in its codeqianfan.baidubce.comnamed in its coderouter.huggingface.conamed in its code
Scholarly services (9)
api.crossref.orgnamed in its codeapi.datacite.orgnamed in its codeapi.openalex.orgnamed in its codeapi.semanticscholar.orgnamed in its codedoi.orgnamed in its codeeuropepmc.orgnamed in its codeopenalex.orgnamed in its codewww.ebi.ac.uknamed in its codewww.semanticscholar.orgnamed in its code
Code hosting (1)
scriptcat.org
Evidence · file and line
pro.muisedestiny.xyzchrome/content/scripts/zoterogpt.js · line 1520
ing"?e.trim().length>0:typeof e=="number"?e!==0&&!Number.isNaN(e):e===!0}var Yu="https://pro.muisedestiny.xyz",Et=Object.freeze({capability:"pro.bootstrap.capability",capabilityFetchedAt:"pro.bootstra
ethereal-plugins-pro.muisedestiny.workers.devchrome/content/scripts/zoterogpt.js · line 1520
strap.lastError"}),$2=Object.freeze(["https://pro.muisedestiny.xyz/v1/activate","https://ethereal-plugins-pro.muisedestiny.workers.dev/v1/activate","http://124.156.114.124:5000/v1/activate"]),ia="http
124.156.114.124chrome/content/scripts/zoterogpt.js · line 445
h4,Jg,x4,DE,Ft,$n,Cc,Ec,sh=Y(()=>{"use strict";Yr();zn();Nr();wc();Kg();wc();g4="http://124.156.114.124/extension/stable.json",Xg="ZoteroGPTConnector.extensionDir",h4="ZoteroGPTConnector.extensionUpda

Forks and alternatives

1 other plugin uses the same ID as this one. Every Zotero plugin carries an ID, a name tag Zotero uses to tell plugins apart. These 2 plugins carry the same one, because people copied Awesome GPT to make their own versions and kept its ID.Show what this means
  • You can only have one. Zotero sees them as the same plugin.
  • Installing another replaces it. If you install one of the others, it takes this one's place.
  • Check what you install. Several share this plugin's name, so make sure the file comes from the one you meant.
Awesome GPT · this pluginMuiseDestiny/zotero-gptCNot recommended602,7411 May 2026
See all 2 and how they differ →

2 listed forks.

Plugins for the same job
  • Add Items from TextAI & summaries · Import & metadataA+Recommended, tested in Zotero
  • MkteroReading & PDFs · Citing & writing · AI & summariesA+Recommended, tested in Zotero
  • Zotero 阅读模式沉浸式双语Reading & PDFs · Translation · AI & summariesA+Recommended, tested in Zotero
  • Zotero 标题翻译Reading & PDFs · Translation · Organising & tags · AI & summariesA+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 Awesome GPT
CNot recommended
We don't recommend itIt runs encrypted code we can't read, and 3 more findings.
Read what we found