Tswoen/Paper-Agent

Paper-Agent 是一个面向科研人员和学生的智能论文检索与调研工具。项目基于多智能体协作架构(LangGraph),通过自然语言处理(NLP)、自动化搜索,帮助用户高效查找学术论文、分析文献内容,并进行论文调研。Paper-Agent 支持多平台集成、关键词搜索、自动分析、论文调研,提升了学术研究的效率。适用于论文写作、学术调研、科研项目管理等多种场景,是学术调研的理想助手。

Paper‑Agent – An AI‑powered research assistant

What it does

  • You type a research topic and the system automatically searches for papers, reads them, analyses the findings, and drafts a full‑length literature review you can follow step‑by‑step.
  • The whole pipeline is built from a set of specialized agents (search, read, analyse, outline, write) that talk to large‑language‑model (LLM) providers such as OpenAI or Anthropic.
  • Results, progress and intermediate artefacts are shown in a web‑based workbench that updates in real time via Server‑Sent Events and stores everything in a local SQLite + file system so you can pause and resume later.

Key technical pieces

Layer Technology Role
Runtime Python 3.12+, uv package manager Runs the backend services
API FastAPI (Uvicorn) Exposes REST endpoints and SSE streams
Workflow engine LangGraph (typed‑dict shared state) Orchestrates the multi‑agent pipeline
Agents Custom Python agents (Search, Read, Analyse, WritingOutline, Writing) Each handles a distinct stage of the research workflow
LLM integration OpenAI‑compatible and Anthropic‑compatible providers Generates prompts, extracts information, writes text
Paper sources arXiv, OpenAlex, Semantic Scholar connectors Retrieves metadata and PDFs
PDF processing pypdf → Markdown → text chunking Turns PDFs into searchable text
Vector store ChromaDB Stores chunk embeddings for fast similarity search
Persistence SQLite + JSON/Markdown files Saves sessions, intermediate results, and final drafts
Frontend Vue 3 + TypeScript + Vite Interactive UI showing progress, model configuration, and chat‑style session view
Package management uv (Python) & npm (frontend) One‑command install of all dependencies

How you use it

  1. Install – run uv sync (Python deps) and npm run front:install (frontend deps).
  2. Configure – create config/model.json (or use the web UI) with your LLM provider URL, API key, and model “tiers” for each agent.
  3. Startuv run python main.py launches the FastAPI server (http://127.0.0.1:8000/docs for API docs).
  4. Run the UInpm run front:dev (or front:dev:network for LAN access) opens the Vue app at http://127.0.0.1:5173/.
  5. Create a session – enter a research topic, watch the SSE‑driven progress bar as the system searches three sources, reads abstracts, downloads PDFs, chunks them, analyses sub‑topics, builds an outline, and writes each section.
  6. Save & resume – all state is persisted; you can close the browser and later continue where you left off.

Why it matters

  • End‑to‑end automation: replaces the manual loop of searching, reading, note‑taking, outlining, and drafting.
  • Cost awareness: each stage can use a different model tier, and the UI shows token usage per step.
  • Transparency: real‑time SSE updates let you see exactly what the system is doing and intervene if needed.
  • Extensible: built on LangGraph, so new agents or custom prompts can be added without rewriting the whole stack.

Getting involved

  • Issues and pull requests are welcomed. Tests live in test/ and can be run with uv run python -m unittest discover -s test -v.
  • Front‑end changes should pass npm run front:build before merging.
  • The project is open‑source under the repository https://github.com/Tswoen/Paper-Agent.

Paper‑Agent aims to make literature review faster and more systematic by letting LLMs handle the heavy lifting while keeping the whole process visible and controllable.

Related

  • Project
  • Project
  • Project
  • Project
  • Project