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)에 자연어 질문을 던질 수 있습니다. 모든 데이터는 당신의 기계에 머물며, 원격 모델에 요청을 보낼 때만 외부로 전송됩니다.


핵심 기능

기능 작동 방식
다중 소스 크롤링 OpenAlex, Crossref, Semantic Scholar, PubMed/PMC, arXiv, Europe PMC, CORE, Unpaywall, 그리고 실험용 Google Scholar 스크래퍼를 포함한 8개 이상의 소스를 동시에 쿼리합니다.
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+, 그리고 완전히 오프라인 LLM 추론을 원한다면 Ollama(선택 사항).


누가 이 도구를 활용할 수 있을까?

  • 여러 리포지토리에서 문헌을 수집해야 하는 연구자
  • 모든 주장이 특정 논문에 연결되는 재현 가능한 감사 트레일을 원하는 문헌 리뷰어
  • 데이터 프라이버시 정책이 엄격한 팀 (모든 PDF와 임베딩은 로컬 디스크에 유지됨)
  • 로컬 LLM(Ollama)을 학술 Q&A에 실험해보고 싶은 누구나

현재 성숙도

  • 핵심 크롤러, SQLite 인덱싱, AI 채팅 워크스페이스는 안정적으로 표시됨.
  • Google‑Scholar 스크래퍼는 실험적임.
  • macOS/Linux 패키징은 완전히 테스트되지 않음. 클라우드 동기화 협업은 계획되지 않음.

기여 방법

리포지토리에는 완전한 Vitest 테스트 스위트, 린팅, 타입 체킹 스크립트가 포함되어 있습니다. 기여를 환영합니다. 대규모 PR를 제출하기 전에 먼저 이슈를 열어 주세요. 보호된 브랜치 워크플로우와 릴리스 라벨링에 대해서는 CONTRIBUTING.md를 참조하세요.


TL;DR

Paper Pilot는 학술 소스 크롤링, 로컬 PDF 인제스트, 검색 가능한 SQLite 저장소, LLM 기반 채팅 인터페이스를 하나의 데스크톱 앱으로 통합하여 데이터를 사생활 보호 상태로 유지합니다. 클라우드로 연구 코퍼스를 옮기지 않고도 AI 지원을 원하는 과학자에게 실용적인 도구입니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트