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 協助的科學家來說,這是一個實用工具。
相關
- 專案
- 專案
- 專案
- 專案