A CLI research agent for AI-related paper search, code discovery, PDF collection, and bilingual reports.
Project description
PaperPilot
A CLI AI literature search agent that follows a v1.0 research workflow:
Intake -> Protocol -> Search -> Corpus -> Screening -> Verification -> Synthesis -> Review -> Report
Quick Start
pip install -e .
PaperPilot
Command mode:
PaperPilot "LLM agent" --auto-confirm --max-papers 30 --since-year 2021
PaperPilot "RNA inverse folding sequence design" --github-filter required --mode apa --quality balanced
PaperPilot inspect runs/<task-id>
PaperPilot resume runs/<task-id>
LLM Config
Recommended:
PaperPilot config set --base-url https://api.deepseek.com --model deepseek-chat
PaperPilot config import ./api.json
PaperPilot config show
PaperPilot config list
PaperPilot config use deepseek
The config is stored at ~/.paperpilot/config.json with file mode 600 where supported. Running PaperPilot without an LLM config starts a setup wizard. The app requires a working LLM configuration before running searches. Inside the interactive shell, use /model to add, import, switch, test, or delete model profiles.
Priority:
- Environment variables:
OPENAI_API_KEY,OPENAI_BASE_URL,OPENAI_MODEL - User config:
~/.paperpilot/config.json - Legacy project file:
llmapi.txt
Without a working LLM config, PaperPilot will pause and ask you to configure one first.
Outputs
Each run writes:
task.jsonstate.jsonmanifest.jsonquery_understanding.mdplan.jsonprotocol.jsonmetadata.jsoncorpus.jsoncore_papers.jsonadjacent_papers.jsonexcluded_papers.jsonranked_papers.jsonverification.jsonquality_gate.jsonliterature_matrix.jsonsynthesis.jsonreport.canonical.jsonreflection.jsonreport.zh.mdreport.en.mdreport.zh.htmlreport.en.htmlreport.zh.pdfreport.en.pdfdownload_log.jsonpdfs/fulltext/paper_notes.json
The Chinese and English Markdown, HTML, and PDF reports are rendered from the same report.canonical.json, so paper lists and conclusions stay aligned.
GitHub Filter
literature-agent "retrieval augmented generation" --auto-confirm --github-filter required
any: keep all papers and annotate code availability.required: the final report view keeps papers with a detected public code link; the full screened corpus is still saved.none: keep papers without detected public code links.
v1.0 Quality Layer
protocol.jsonrecords research question, inclusion/exclusion rules, sources, and negative keywords.corpus.jsonstores every screened paper withcore,adjacent, orexcludedecisions.verification.jsonrecords DOI, URL, PDF, and code confidence status.quality_gate.jsonemitspass,retry, orneeds_user_attention.literature_matrix.jsonandsynthesis.jsonsupport APA-style reports with evidence limits and AI disclosure.- Reports include a real review narrative: field background, method families, representative paper summaries, method comparison, trends, and open questions.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file paperpilot-1.0.2.tar.gz.
File metadata
- Download URL: paperpilot-1.0.2.tar.gz
- Upload date:
- Size: 58.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5546dbe3a44232efdacb55420ff2976907f2626bbef5a890b479525d0739c5dc
|
|
| MD5 |
3d7ae6b682d4b3a724a1d97695bffe03
|
|
| BLAKE2b-256 |
fa9d69abd0dd84bc312411e28c226f3268b2cec31f7e9393e3f81bb286c8e5c1
|
File details
Details for the file paperpilot-1.0.2-py3-none-any.whl.
File metadata
- Download URL: paperpilot-1.0.2-py3-none-any.whl
- Upload date:
- Size: 61.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45d72c4f0e7c0acc7c83882a82053cbe1e5590f9e24dcc41d793af9d3e0ac079
|
|
| MD5 |
16d7e01772db056700978857e5c95f9e
|
|
| BLAKE2b-256 |
217395d82d6d1a417db8b642f1ba5be120f07cb8c4fc75c24398e799fb4785e9
|