{% extends "base.html" %} {% from "_help.html" import info %} {% from "_icon_btn.html" import icon_button %} {% from "_job_status.html" import job_status %} {% block title %}Discover — Paperful{% endblock %} {% block body_attrs %}{% if poll_run %} data-poll-run="{{ poll_run }}"{% endif %}{% endblock %} {% block content %}
Find papers that are not in the library yet. Topic search grows a citation and keyword graph from OpenAlex. Web search finds grey PDFs and landings via SearXNG (IUCN, undocs, PrepCom). People watches authors. Nothing is added to Zotero until you Preview apply and then Add selected. Filling PDFs happens on Wanted after items exist.
{% if error %}{% endif %} {{ job_status(job) }}Paste a DOI or paper name to open a citation map immediately. Hop on the map, add papers to the library, or use Seed search on a node to start a full snowball from that work.
{% if explore_picks %} {% endif %}Start from a keyword (or, in Advanced, a DOI, ORCID, or collection). Search is a dry-run: candidates land in the Queue. Save a profile if you will re-run the same graph later.
{% if prefs.advanced and profiles %} {% endif %} {% if deferred_run %} {% endif %} {% if run_id %} {% endif %}Three more ways to add works: papers cited by PDFs you already have, a DOI list, or frequent authors in the current collection. Each path is Preview then Apply, like Topic.
Ingest DOIs {{ info("Create Zotero parents from a DOI file or from a refs-gap pack. Does not fetch PDFs.") }}
Creates metadata records only. After Apply, use Wanted to fill PDFs.
The briefing or digest just generated for this page.
{{ note.markdown }}
Search the open web through SearXNG for grey literature (IUCN, undocs, PrepCom, author PDFs). Hits are ranked toward PDFs and known playbook hosts. Preview apply then Add selected creates metadata parents. PDFs still need Wanted / paperful run.
Saved grey watches. Run is pull-only (inbox on disk). Apply from the CLI with search watch apply -C.
| Name | Query | Due | Inbox | |
|---|---|---|---|---|
| {{ w.name }} | {{ w.query }} | {% if w.days_until_due == 0 %}now{% else %}{{ w.days_until_due }}d{% endif %} | {{ w.inbox }} |
Run {{ search_bundle.run_id }} · kept {{ search_bundle.summary.kept or 0 }} · new {{ search_bundle.summary.new or 0 }} · exists {{ search_bundle.summary.exists or 0 }}{% if search_bundle.partial %} · partial (SearXNG returned no hits){% endif %}
{% endif %}Watch lists of researchers. Paperful polls OpenAlex for new papers by those ORCIDs. It does not scrape social sites. New hits land in Person inbox until you Apply them into Zotero.
List actions {{ info("Resolve fills missing ORCIDs. Briefing writes a reading note. Delete removes the list and its ledger files.") }}
Saved people lists. Inbox is new papers waiting to be applied. Baseline means the first poll has already run.
Tick who to add to the current list. Names marked resolve still need an ORCID before they can be polled.
People on the current list. Save edits in place. Remove drops them from the list; it does not delete Zotero items.
| Name | ORCID | Status | |
|---|---|---|---|
| {{ p.orcid }} | {{ p.status }} |
New papers from the last people poll. Preview apply shows what would be created; Apply inbox writes those items into Zotero. PDFs still need Wanted.
| List | Title | DOI |
|---|---|---|
| {{ row.list }} | {{ row.title }} | {{ row.doi }} |
Apply {{ info("Create Zotero parents for inbox rows. Does not fetch PDFs.") }}
An ORCID ego co-authorship map, sliced by negotiation phase. Nodes are people, not papers. This is not the Queue citation map. Metrics other than degree need the optional paperful[network] extra.
The briefing or digest just generated for this page.
{{ note.markdown }}
The briefing or digest just generated for this page.
{{ note.markdown }}
Not every paper deserves the same time. Older and highly cited work is likely foundational. Recent and highly cited work is influential now. Recent work with fewer citations may be emerging. Keyword and similar neighbours appear without citation links. Expand a node to see who it cites and who cites it, then Keep what you will read.
Run {{ run_id }}{% if run_label.when %} · {{ run_label.when }}{% endif %}{% if run_label.collection %} · for {{ run_label.collection }}{% endif %}{% if run_label.collection and prefs.collection and run_label.collection != prefs.collection %} · the header chip is {{ prefs.collection }}{% endif %}
{% endif %}Candidates from the last topic search. Keep or Skip each row, then Preview apply and Add selected to create library items. Fill PDFs on Wanted afterwards. Keep an eye on this remembers the topic and checks it again later.
{% if run_id %}Apply this run {{ info("Create Zotero parents for rows you kept. Does not fetch PDFs unless Fetch PDFs was set on the search.") }}
{% if stop_pending %} {% endif %} {% if stop_note %}{{ stop_note }}
{% endif %}| Title | DOI | Keep |
|---|---|---|
| {{ row.title }}{% if row.why %}Why suggested: {{ row.why }}{% endif %} | {{ row.doi }} | |
| No candidates yet. Run a search on Topic or open a map on Explore. | ||
Saved topic watches and people lists. Check again re-runs the poll. Briefing and digest are reading notes, not Apply.
No saved topic watches or people lists yet. Create a watch from Queue after a topic search, or a list under People.
The briefing or digest just generated for this page.
{{ note.markdown }}