Xueyang-Song/paper-pilot
Research-paper workflow tool for literature triage and structured reading
Paper Pilot – 以本地优先的 AI 研究助手
是什么 – Paper Pilot 是一个桌面应用程序(Electron + React),帮助科学家收集、存储和整合学术论文。它会同时爬取多个开放获取的学术数据库,下载 PDF,将其转换为纯文本,使用全文和向量搜索对内容进行索引,并允许你向本地或托管的 LLM(例如 Ollama、OpenAI 兼容 API)提出自然语言问题。所有数据都保留在你的机器上,除非你主动向远程模型发送请求。
核心功能
| 功能 | 工作方式 |
|---|---|
| 多源爬取 | 同时查询 8+ 个来源(OpenAlex、Crossref、Semantic Scholar、PubMed/PMC、arXiv、Europe PMC、CORE、Unpaywall,以及一个实验性的 Google Scholar 爬虫)。 |
| PDF → 知识管道 | 通过 Unpaywall 获取开放获取的 PDF,使用 MarkItDown 工具转换为 Markdown,并将文本存储在 SQLite 数据库中。 |
| 本地存储与搜索 | 使用 SQLite 内置的 FTS5 引擎进行关键词搜索,使用 sqlite‑vec 扩展进行向量相似度搜索。项目相互隔离,可分别管理不同的研究上下文。 |
| AI 辅助整合 | 将用户的查询和相关检索段落发送给本地 Ollama 模型或任何 OpenAI 兼容端点。支持流式聊天、"基于证据" 模式(仅返回可追溯到来源的信息)和 "探索性" 模式(允许更推测性的回答)。 |
| 可审计的证据审查 | 每个回答都链接到确切的引用;UI 显示推理轨迹,允许你接受或拒绝 AI 建议,并导出可复现的证据包(RIS、BibTeX、CSV)。 |
| 安全凭证 | API 密钥使用 Electron 的 safeStorage API 存储,确保在磁盘上加密。 |
架构概览
paper‑pilot/
├─ src/electron/ # Node.js 主进程
│ ├─ crawlers/ # 各学术 API 的适配器
│ ├─ db/ # SQLite + FTS5 + sqlite‑vec 层
│ ├─ agent/ # LLM 协调(工具调用、流式传输)
│ └─ python/ # MarkItDown 转换及 Playwright 桥接
├─ src/renderer/ # React 19 UI(Vite、Tailwind、TanStack Query)
│ ├─ workspace/ # 聊天界面
│ ├─ projects/ # 项目管理
│ ├─ artifacts/ # 论文列表与 PDF 查看器
│ └─ settings/ # API 密钥、策略、模型选择
└─ tests/ # Vitest 测试套件
整个技术栈完全开源:TypeScript 5、React 19、Vite、SQLite,以及用于 PDF 处理的轻量级 Python 环境。
快速入门(快速运行)
# 1. 克隆
git clone https://github.com/Xueyang-Song/paper-pilot.git
cd paper-pilot
# 2. 安装 Node 依赖
npm install
# 3. 运行开发服务器(UI 在 http://127.0.0.1:5173 打开)
npm run dev
# 4. 构建生产包
npm run build
# 5. 打包为原生桌面应用(macOS/Linux – 尚未测试)
npm run package
前提条件:Node ≥ 22.18,Python 3.11+,以及可选的 Ollama(如需完全离线的 LLM 推理)。
哪些人可能受益?
- 需要从多个仓库提取文献但不想在浏览器中打开几十个标签页的研究人员
- 希望为每个主张提供可复现审计轨迹的文献综述者
- 有严格数据隐私政策的团队(所有 PDF 和嵌入向量都保留在本地磁盘)
- 任何正在尝试使用本地 LLM(Ollama)进行学术问答的人
当前成熟度
- 核心爬虫、SQLite 索引和 AI 聊天工作区已标记为 稳定。
- Google‑Scholar 爬虫为 实验性。
- macOS/Linux 打包尚未完全测试;云同步协作 不计划。
贡献指南
仓库包含完整的 Vitest 测试套件、代码格式化和类型检查脚本。鼓励贡献;维护者建议在提交大型 PR 前先打开 Issue。详见 CONTRIBUTING.md 了解受保护分支工作流和发布标签规则。
TL;DR
Paper Pilot 将学术来源爬取、本地 PDF 接入、可搜索的 SQLite 存储和 LLM 驱动的聊天界面整合到一个桌面应用中,同时保护你的数据隐私。对于希望在不将研究资料移至云端的前提下获得 AI 协助的科学家来说,这是一个实用工具。
相关
- 项目
- 项目
- 项目
- 项目