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
- Install – run
uv sync(Python deps) andnpm run front:install(frontend deps). - Configure – create
config/model.json(or use the web UI) with your LLM provider URL, API key, and model “tiers” for each agent. - Start –
uv run python main.pylaunches the FastAPI server (http://127.0.0.1:8000/docsfor API docs). - Run the UI –
npm run front:dev(orfront:dev:networkfor LAN access) opens the Vue app athttp://127.0.0.1:5173/. - 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.
- 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 withuv run python -m unittest discover -s test -v. - Front‑end changes should pass
npm run front:buildbefore 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