Metadata-Version: 2.4
Name: paperpilot
Version: 0.2.0
Summary: A CLI research agent for AI-related paper search, code discovery, PDF collection, and bilingual reports.
Keywords: literature-review,research-agent,papers,arxiv,openalex,openreview
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: reportlab>=4.0

# PaperPilot

A CLI AI literature search agent that follows a Planner + Tool Pipeline + Reflection + Report Writer architecture.

## Quick Start

```bash
pip install -e .
PaperPilot
```

Command mode:

```bash
PaperPilot "LLM agent" --auto-confirm --max-papers 30 --since-year 2021
```

## LLM Config

Recommended:

```bash
PaperPilot config set --base-url https://api.deepseek.com --model deepseek-chat
PaperPilot config show
```

The config is stored at `~/.paperpilot/config.json` with file mode `600` where supported.

Priority:

1. Environment variables: `OPENAI_API_KEY`, `OPENAI_BASE_URL`, `OPENAI_MODEL`
2. User config: `~/.paperpilot/config.json`
3. Legacy project file: `llmapi.txt`

Without an LLM key, the CLI still runs with deterministic fallback query planning and templated reports.

## Outputs

Each run writes:

- `task.json`
- `query_understanding.md`
- `plan.json`
- `metadata.json`
- `ranked_papers.json`
- `reflection.json`
- `report.zh.md`
- `report.en.md`
- `report.zh.pdf`
- `report.en.pdf`
- `download_log.json`
- `pdfs/`

## GitHub Filter

```bash
literature-agent "retrieval augmented generation" --auto-confirm --github-filter required
```

- `any`: keep all papers and annotate code availability.
- `required`: keep papers with a detected public code link.
- `none`: keep papers without detected public code links.
