{% extends "base.html" %} {% from "_help.html" import info %} {% from "_miss_surface.html" import status_icon, verify_stamp %} {% from "_icon_btn.html" import icon_button %} {% from "_job_status.html" import job_status %} {% block title %}Wanted — Paperful{% endblock %} {% block body_attrs %}{% if request.query_params.get('run') or request.query_params.get('poll') %} data-poll-run="{{ request.query_params.get('run') or request.query_params.get('poll') }}"{% endif %}{% endblock %} {% block content %}
PDFs for items in {{ prefs.collection or 'the collection in the header' }}. Missing has no file yet; Held has a file that is not attached or does not match; Have is done. Preview shows what would happen, Grab downloads to out/, Attach writes held files into the library.
Have {{ counts.have }} · Held {{ counts.held }} · Missing {{ counts.missing }}{% if prefs.collection %} · Report{% endif %}{% if pending and pending.total %} · Waiting from Discover {{ pending.total }}{% endif %}
{% if not prefs.collection %}Wanted works on one collection at a time. Open Library and press the target icon next to the collection you want to fill.
This collection has no items, or the library did not return any. Try another collection on Library, or add papers on Discover.
{% if attach_mode == 'auto' %}Grab saves PDFs to out/ and attaches them when the library can be written (Zotero 10 or newer; on 7–9 the files stay on disk). Change this under Settings.{% else %}Grab saves PDFs to out/ only. Press Attach for the copies you trust.{% if show_auto_attach_setting %} Settings can make Grab attach automatically.{% endif %}{% endif %} Tick rows below to work on a subset; with nothing ticked, Preview and Grab use the whole Missing list.
Tick rows to limit Fetch (and Advanced attach, recover, handoff, or reachout) to those items. The icon on the right says why an item is missing or held — hover or focus it.
| Select | Title | Detail |
|---|---|---|
| {{ row.title }}
{% if row.miss_plain %}{{ row.miss_plain }}{% endif %}
{{ row.title }} Key {{ row.key }}{% if row.year %} · {{ row.year }}{% endif %} {% if row.doi %}DOI {{ row.doi }} {% endif %} {% if row.source %}Source {{ row.source }} {% endif %} {% if row.state %}Verification {{ row.state }}{% if row.reason %} ({{ row.reason }}){% endif %} {% endif %} {% if row.miss_plain %}{{ row.miss_plain }} {% endif %} {% if row.has_summary %} {% endif %} {% if prefs.advanced and briefs.llm_on and tab != 'missing' %} {% endif %} |
{% if row.miss_plain %}{{ status_icon(row.miss_surface, row.miss_plain, row.miss_detail) }} {% elif row.state %}{{ verify_stamp(row.stamp) }}{{ status_icon(row.state, row.verify_plain, row.verify_tip) }} {% endif %} {% if row.has_summary %}summary{% endif %} {{ icon_button('Detail', 'detail', drawer='d-' ~ row.key) }} | |
| No {{ tab }} items{% if wanted_pagination.q %} match “{{ wanted_pagination.q }}”{% endif %}. | ||
These can attach a PDF that is the wrong paper, or open many browser tabs. Preview first when a Preview button is offered.
Attach {{ info("Write held PDFs into the library, including files the usual Attach button would refuse.") }}
Use these only when you have looked at the held file and still want it on the item.
Recover {{ info("Re-run the browser agent on items a Grab already missed. Needs LLM config and the browser-agent extra.") }}
This opens a real browser and tries publisher pages one by one. It is slower than Grab and can hit captchas.
Papers you kept on Discover, or that a watch or keepup digest proposed, that are not in this collection yet. Preview add → Apply add creates metadata parents here; they then appear under Missing. These come from every topic run, not only ones about this collection. Open queue · Following
{% if pending.total %} {% endif %}