omp packages

pi-literature-review0.1.1

Local, login-free literature review for the Pi coding agent: multi-source search (arXiv, Crossref, OpenAlex, Semantic Scholar) with HTTP-verified identifiers, legal open-access PDF selection, and grounded synthesis over local PDFs with page-exact citation

flindenberger Published 21 days ago MIT ~478 downloads/mo

Untested on omp

This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.

Did it work for you?

Result

One report per person. A new report replaces your old one.

Reports 0

No reports yet.

Readme

pi-literature-review

DOI

Search, select, synthesize: the three stages of pi-literature-review

Local, open, login-free academic literature review for the Pi coding agent.

One package, three tools:

  • /lit-search — search the literature
  • /lit-selection — download selected papers
  • /lit-synthesis — read, discuss and synthesize papers

It uses the public APIs of arXiv, CrossRef and OpenAlex, plus Semantic Scholar when you add a free API key. No account, API key or paid service is required. The workflow can run locally with a small LLM and embedding model. See Requirements.

The central design rule: models never modify or generate paper data.

Metadata, abstracts, PDF text, filtering, verification and citations are handled by APIs and deterministic code. The embedding model only retrieves relevant passages. The LLM suggests search variants and writes answers, summaries and syntheses from those passages.

How it works

The workflow has three stages:

Stage Command What it does Creates
Literature search /lit-search Searches arXiv, CrossRef, OpenAlex (and Semantic Scholar with an API key); filters, deduplicates, verifies, enriches and labels the records One HTML page + JSON file per run in lit-search/
Literature selection /lit-selection Downloads the papers you ticked on the results page (legal open access only) A PDF library in lit-selection/
Literature synthesis /lit-synthesis Chats about one paper or builds a report across one or several papers (PDFs), with page-exact citations HTML reports and chat protocols in lit-synthesis/

Each command opens its wizard-dialog directly in Pi. Dialogs can be cancelled with Esc before anything is sent.

You can also just describe the task in chat and let the agent invoke the same tools:

I want to conduct a literature review on the use of satellite remote sensing for estimating water levels in rivers.
Which cameras do Blanch et al. (2026) use in their paper
"Image-based method for real-time water level monitoring"?

The stages connect through the HTML-page, generated by lit-search: there you select papers, copy the download request, and pass it to /lit-selection in Pi. Once downloaded, you can chat about, summarize or synthesize the papers (PDFs) by using /lit-synthesis.

Features

Search Assistance

The /lit-search wizard: keyword blocks, query variants, filters, then the search

The /lit-search-wizard starts from user defined keyword blocks or free text. The model can suggest query variants that you can edit or select.

It can also help identify relevant journals and authors, and lets you filter the results. Each result shows which query found it and which terms matched.

HTML literature-search report

Search results: sorting, an abstract, the search documentation with the PRISMA flow diagram

Each search run produces a sortable HTML results page and a JSON file.

Results include bibliographic metadata, verified DOI, BibTeX, citation and open-access metrics, and an on-target / adjacent label.

The page also contains the exact database queries, raw hit counts and a PRISMA-2020-style flow diagram.

Citation graphs

Citation graph of one result: hover for details, filter by cited and citing works

Each result can open a citation graph showing references, citing works and related literature.

The graph is fetched from OpenAlex when opened; only the DOI or title leaves your machine.

Papers with code

Results with code links: a repository opened from the Code / data column

Optionally search for papers with code using Hugging Face Papers, GitHub READMEs, curated awesome-lists and Google Earth Engine repositories.

Known repositories and data archives are shown directly in the results: links named in the abstract and archives the publisher deposited at CrossRef appear in every search, no tick needed.

Legal open-access downloads

Download selection: a paper ticked on the results page, the request pasted into Pi, the PDF downloaded

Select papers directly from the results page and copy a download request.

/lit-selection resolves legal open-access routes through the publisher, Unpaywall and arXiv. Papers that cannot be downloaded are reported with the reason and a browser link.

Page-exact citations

Page-exact citation: a citation in the report opens the PDF at the highlighted passage

Synthesis answers and reports cite the page containing the supporting passage.

Clicking a citation opens the PDF at the relevant page and highlights the cited text.

Synthesis across a paper library

Synthesis report: the /lit-synthesis wizard, the report card, then the HTML report and a cited passage

/lit-synthesis can work with one paper, several papers or an entire PDF library.

It can provide per-paper summaries, answer questions about individual or multiple papers, and optionally produce a cross-paper review synthesis.

Install

From npm:

pi install npm:pi-literature-review

Or directly from the repository:

pi install git:github.com/flindenberger/pi-literature-review

Search and selection work without a model selected in Pi.

Synthesis additionally needs an embedding model. On first use, /lit-synthesis can offer to fetch a local Ollama model (~1.2 GB). llama.cpp and remote backends can also be configured; see Configuration.

For tested hardware and model combinations, see Requirements.

Privacy

The package uses public, login-free endpoints. Search text and paper identifiers are sent to the relevant services.

Used services include:

  • arXiv, CrossRef, OpenAlex (and Semantic Scholar, only with an API key) for search and verification
  • Hugging Face Papers, GitHub and ecosyste.ms when code search is enabled
  • Unpaywall and the relevant publisher or repository for downloads
  • OpenAlex for citation graphs

There is no account requirement, scraping or telemetry.

An optional contact email (required by Unpaywall) is sent with every API request once it is set. Paper text is processed locally by the embedding server and by the model selected in Pi. With local models, the paper text stays on your machine. With a cloud model or remote backend, excerpts are sent to that provider.

Check the papers' licenses and your institution's rules before using a remote model. See Configuration.

Documentation

Document Purpose
Requirements Hardware, models and prerequisites
Search Search wizard, pipeline and results
Selection PDF downloads and resolution
Synthesis Indexing, chat and reports
Configuration Optional backends, models and keys
Command line Use without the Pi agent
Development and tests Development, testing and releases

Limits

  • Search runs on titles, abstracts and metadata; OpenAlex also matches full text where it has it. The on_target label only looks at title and abstract.
  • Scopus, Web of Science and Sci-Hub are not used.
  • Short result lists are not padded: if a query finds two papers, it returns two.
  • Source metadata is passed through as delivered, including broken characters.
  • Windows and macOS paths are implemented but currently untested.

Status

Version 0.1.1.

Developed and field-tested on Linux. See Requirements.

Contributing

This package grew out of the collaborative research project Satellite Remote Sensing and Field Data Fusion for Hydraulic Engineering, involving BAW, UPC and TU Dresden.

This extension was developed with substantial help from the Claude Code coding agent. It was used for code and test generation, refactoring, debugging against live APIs, comparing implementation approaches, discussing design decisions and writing documentation. The maintainer made the design decisions and critically tested generated changes. Generated documentation was proofread and corrected where necessary.

How to ask questions, report bugs, propose changes or fork the project: see CONTRIBUTING.md. Security problems: see SECURITY.md.

License and attribution

MIT — see LICENSE. If this package supports your academic work, please cite it using CITATION.cff or the Zenodo DOI 10.5281/zenodo.22954995. GitHub also provides APA and BibTeX entries under Cite this repository.

The package started from the wish to use OpenScholar (Asai et al., 2024, arXiv:2411.14199) on local PDFs.

The multi-source search design was inspired by paper-search-mcp, released under MIT by OPENAGS.