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

相關

  • 專案
  • 專案
  • 專案
  • 專案