Plugins / Reading & PDFs

Style Custom

by JAEYOONSUNG · github.com/JAEYOONSUNG/zotero-plugins

ZotPoP (Publish or Perish-style search and import) and Style Custom (research workbench) for Zotero 7/8/9

View source
Downloads a .xpi file (13 MB). In Zotero, open Tools → Plugins and install it from the file.
StarsPeople who starred the repository on GitHub: a rough measure of interest.
0
DownloadsAll-time downloads of its release files from GitHub. Installs from elsewhere aren't counted.
5
ContributorsPeople who have committed code to the repository.
3
LicenceThe licence the code is published under, as GitHub reports it.
MIT
B
Atlas gradeUse with care
because updates itself outside Zotero's updater
Applies to v0.52.0, released 22 Sep 2026Code checked · in Zotero 9.0.6 on 27 Sep 2026 it did something its card didn't describe
Doesn't work with the current Zotero (10)Works with Zotero 9.
What we found in the codeSets the gradeThe worst finding in these three areas sets the grade.
Code transparencyReadable code; not yet checked against the published sourceThe developer uploaded the release file from the JAEYOONSUNG account. We haven't yet checked whether this file matches the public source code.UnknownWe couldn't check this yet.
Updates
Updates come from this project's GitHub repositoryZotero will update it on Zotero 9 to version 0.53.10 from JAEYOONSUNG/zotero-plugins on GitHub (rated: Review the details)
Where your data goesOnly contacts services we could identify14 addresses in 5 groups.LowLow concern: normal for plugins that do this job. Listed so you know.
AI services (1)
api.openai.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.
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.openalex.orgseen when we ran itIt contacted this address when we ran it in Zotero.api.uspto.govdoi.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.orcid.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.patents.google.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.pub.orcid.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.easyscholar.ccwww.ebi.ac.ukseen when we ran itIt contacted this address when we ran it in Zotero.
Zotero (1)
Zotero lookup services
Code hosting (2)
github.comseen when we ran itIt contacted this address when we ran it in Zotero.raw.githubusercontent.comseen when we ran itIt contacted this address when we ran it in Zotero.
On your computer (1)
localhostnamed in its codeThe address is in its code, but we didn't trace a request to it. It may be a link or unused.
Where we found it
api.uspto.govsrc/patents.js · line 15
const API = 'https://api.uspto.gov/api/v1/patent/applications/search';
www.easyscholar.ccsrc/runtime.js · line 1285
const response=await win.fetch('https://www.easyscholar.cc/open/getPublicationRank?secretKey='+encodeURIComponent(secret)+'&publicationName='+encodeURIComponent(journal),{signal:controller.sig
Powerful capabilitiesUpdates itself outside Zotero's updater, and 3 moreMediumMedium concern: worth reading before you install. One medium finding makes the grade B.
Updates itself outside Zotero's updatermediumMedium concern: worth reading before you install.Uses the clipboardlowLow concern.Stores API keys or passwordslowLow concern.Works with files on your computerlowLow concern.
Where we found it
Updates itself outside Zotero's updatersrc/runtime.js · line 235

From its own update feed at raw.githubusercontent.com, by itself, checked against a hash

const install = await AddonManager.getInstallForURL(entry.update_link, { hash: entry.update_hash, name: 'Style Custom', version: entry.version });
Before you installShown, not gradedFacts to help you decide. They don't change the grade.
Works withZotero 9 · not 10, 11 betaDoesn't work with the current Zotero (10)MediumMedium concern: worth reading before you install. One medium finding makes the grade B.
Zotero 9 ✓ worksZotero 10 ✗ doesn't workZotero 11 beta ✗ doesn't work
What you'll needAn API key for some featuresDetected automatically from its code
No further detail for this area yet.
MaintenanceActive · last release 22 Sep 20263 contributors
No further detail for this area yet.
LanguagesDocumentation in EnglishInterface language not declared
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 key for some featuresWorks without one: ZotPoP search/import and Style Custom panel, columns and metrics work without any key. Needs a key (OpenAlex, easyScholar, USPTO and An OpenAI-compatible AI endpoint): OpenAlex key (higher allowance), AI endpoint key (translation, summaries, paper comparison in Style Custom), easyScholar key and USPTO key (extra journal grades, patents).
  • Or: a model on your own computerIt can use a local model such as Ollama
  • Zotero 9Not working with Zotero 10

Where your data goes

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

AI services (1)
api.openai.comnamed in its code
Scholarly services (9)
api.crossref.orgnamed in its codeapi.openalex.orgseen when we ran itapi.uspto.govdoi.orgnamed in its codeorcid.orgnamed in its codepatents.google.comnamed in its codepub.orcid.orgnamed in its codewww.easyscholar.ccwww.ebi.ac.ukseen when we ran it
Zotero (1)
Zotero lookup services
Code hosting (2)
github.comseen when we ran itraw.githubusercontent.comseen when we ran it
On your computer (1)
localhostnamed in its code
Evidence · file and line
api.uspto.govsrc/patents.js · line 15
const API = 'https://api.uspto.gov/api/v1/patent/applications/search';
www.easyscholar.ccsrc/runtime.js · line 1285
const response=await win.fetch('https://www.easyscholar.cc/open/getPublicationRank?secretKey='+encodeURIComponent(secret)+'&publicationName='+encodeURIComponent(journal),{signal:controller.sig

Forks and alternatives

No forks listed.

Plugins for the same job
  • NoteroReading & PDFs · Files, sync & backupA+Recommended, tested in Zotero
  • Google Scholar Citation CountCiting & writing · Import & metadataA+Recommended, tested in Zotero
  • Bionic for ZoteroReading & PDFsA+Recommended, tested in Zotero
  • ZotLitReading & PDFs · Citing & writingA+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 Style Custom
BUse with care
Before you install: Updates itself outside Zotero's updater.Read the finding
Compare with similar plugins