Navigate the sea of academic papers — with AI as your co-pilot.
Features • Quick Start • Sources • Architecture • Contributing
Paper Pilot is a local-first desktop research assistant built for scientists who are tired of switching between 10 browser tabs to find, read, and synthesize academic papers.
Everything runs on your machine — your papers, your notes, your AI conversations. No cloud lock-in, no subscription fees, no data leaving your computer.
You ──▶ Ask a research question
│
▼
Paper Pilot crawls 8+ academic sources simultaneously
│
▼
Papers downloaded → converted → indexed (FTS5 + vector search)
│
▼
AI synthesizes insights from your local corpus
│
▼
You ──▶ Get answers grounded in real papers, not hallucinations
|
Simultaneously queries 8+ academic databases:
|
|
|
|
Requirements:
- Node.js
>= 22.18.0 - Python 3.11+
- (Optional) Ollama for local AI
# Clone and install
git clone https://github.com/Xueyang-Song/paper-pilot.git
cd paper-pilot
npm install
# Run in development
npm run dev
# Build for production
npm run build
# Package as desktop app
npm run packageNote: Dev server must use
http://127.0.0.1:5173. If that port is busy, free it before running.
| Source | Type | API Key Required |
|---|---|---|
| OpenAlex | Multidisciplinary | Optional (email) |
| Crossref | Multidisciplinary | Optional (email) |
| Semantic Scholar | CS + Science | Recommended |
| PubMed / PMC | Biomedical | No |
| arXiv | Physics/CS/Math | No |
| Europe PMC | Life Sciences | No |
| CORE | Open Access | Required |
| Unpaywall | Open Access PDFs | Optional (email) |
| Google Scholar | All fields | No (experimental |
paper-pilot/
├── src/
│ ├── electron/ # Main process (Node.js)
│ │ ├── crawlers/ # Academic source adapters
│ │ ├── db/ # SQLite + FTS5 + sqlite-vec
│ │ ├── agent/ # AI tool-calling agent
│ │ └── python/ # MarkItDown + Playwright bridge
│ └── renderer/ # React 19 + Vite UI
│ ├── workspace/ # ChatGPT-style chat interface
│ ├── projects/ # Project management rail
│ ├── artifacts/ # Paper & artifact panel
│ └── settings/ # API keys, policies
├── tests/ # Vitest test suite
└── package.json
Tech Stack:
This is an early v1 — buildable, test-covered, but still hardening for production-level reliability.
| Area | Status |
|---|---|
| Core crawlers (OpenAlex, Crossref, arXiv, PubMed) | ✅ Stable |
| SQLite + FTS5 + vector search | ✅ Stable |
| AI agent (Ollama / OpenAI-compatible) | ✅ Stable |
| Google Scholar crawler | |
| macOS / Linux packaging | |
| Cloud sync / collaboration | ❌ Not planned |
Contributions welcome. Please open an issue before large PRs to discuss approach.
npm run verify # Typecheck, tests, and production build
npm run test # Run test suite (Vitest)
npm run typecheck # TypeScript strict checks
npm run test:crawlers:api # Live no-key HTTP source smoke
npm run test:crawlers:browser # Playwright browser crawler smoke