An AI-powered academic paper analysis system with hierarchical multi-agent architecture and interactive web interface.
Python
5
38 commits
updated Mar 14, 2026
Hierarchical Multi-Agent System for Academic Paper Deep Analysis & AI-Powered Web Research
中文文档 | English
Quick Links: Paper Reader | Deep Research | Documentation
Paper Reader Agent is an advanced AI system designed to read, analyze, and synthesize academic papers with a depth that matches human researchers.
Deep Research is a powerful AI-powered web research tool that leverages Tavily and Valyu APIs to conduct comprehensive, real-time research on any topic, generating detailed reports with citations from online sources.
Together, they form a complete research workflow: Paper Reader for deep paper analysis, and Deep Research for broad topic exploration.
| Modern Web UI (Bilingual) | Real-time Progress Tracking |
|---|---|
![]() | ![]() |
| Clean interface with EN/ZH switching | Visualize the 5-agent team in action |
| Publication-Quality Reports | Specialist Deep Dives |
|---|---|
![]() | ![]() |
| Auto-embedded figures & formulas | Rich details from specific domains |
| Independent Research Page | Real-time Streaming Results |
|---|---|
![]() | ![]() |
| Clean, focused research interface | Live streaming with progress tracking |
| Research Dashboard |
|---|
![]() |
| Manage research history, export to Notion |
Paper Reader Agent goes beyond simple summarization...
Unlike standard summary tools, it employs a Hierarchical Multi-Agent Architecture (1+3+1) to mimic a professional research team:
Key Feature: The system detects, extracts, and literally sees figures, embedding them directly into the analysis where they are discussed, maintaining full visual context.
The system operates using a "Divide and Conquer" strategy orchestrated by a central planner.
Simple: Quick architect + math check.Hierarchical: Full 5-agent deep dive./researcher page for Deep Research with isolated history.git clone https://github.com/GoDiao/Paper-Reader.git
cd Paper-Reader
python -m venv .venv
# macOS / Linux
source .venv/bin/activate
# Windows (PowerShell)
.venv\Scripts\Activate.ps1
pip install -r requirements.txt
Optional dependencies:
# PDF export (Windows needs extra system dependencies; see weasyprint docs)
pip install weasyprint
Copy the env template and fill in your keys (do not commit .env):
# macOS / Linux
cp .env.example .env
# Windows (PowerShell)
Copy-Item .env.example .env
Minimal .env (Paper Reader):
DEEPSEEK_API_KEY=sk-your-key
# OR
OPENAI_API_KEY=sk-your-key
Deep Research Configuration (add to .env):
# Tavily API (required for Deep Research)
TAVILY_API_KEY=tvly-your_api_key_here
# Valyu API (alternative provider for Deep Research)
VALYU_API_KEY=your_valyu_api_key_here
# Notion Export (optional)
NOTION_SECRET=your_notion_secret
NOTION_PARENT_PAGE_ID=your_parent_page_id
IMGBB_API_KEY=your_imgbb_api_key
Optional settings (web search enrichment + extra providers):
SILICONFLOW_API_KEY=your_siliconflow_api_key_here
ENABLE_WEB_SEARCH=false
GITHUB_TOKEN=your_github_token_here
HUGGINGFACE_TOKEN=your_huggingface_token_here
SERPER_API_KEY=your_serper_api_key_here
Start the server to enjoy the full interactive experience.
python web_server.py
Open http://localhost:8000 in your browser for Paper Reader, or visit http://localhost:8000/researcher for Deep Research.
Note (Simple mode in Web UI)
TheSimplemode in the web UI is currently a placeholder and returns a brief message. UseHierarchicalmode for full reports.
Note (Parser Backend in Web Mode)
The web server currently uses theautostrategy by default:
- If MinerU (
pip install mineru) is installed, it will try the MinerU backend first.- If MinerU is not installed or fails, it will automatically fall back to the PyMuPDF backend.
Access the dedicated Deep Research page at http://localhost:8000/researcher:
Deep Research Features:
- ✅ Real-time SSE streaming with progress tracking
- ✅ Markdown rendering with tables and LaTeX equations
- ✅ Persistent research history with search and delete
- ✅ One-click export to Notion with full formatting
# Full hierarchical analysis (Default, auto parser backend)
python main.py paper.pdf
# Force fast PyMuPDF backend
python main.py paper.pdf --parser pymupdf
# Force high-fidelity MinerU backend (requires: pip install mineru)
python main.py paper.pdf --parser mineru
# Save intermediate agent outputs
python main.py paper.pdf --verbose
# Use OpenAI instead of DeepSeek
python main.py paper.pdf --provider openai --model gpt-4o
# Output Chinese only (can reduce cost)
python main.py paper.pdf --language zh
Note: Deep Research is currently only available through the web interface (
/researcher). CLI support is planned for future releases.
PyMuPDF (Default, Fast)
pymupdf.MinerU (Optional, High-Fidelity)
pip install mineru (and follow MinerU's own docs for GPU/driver requirements).ParsedDocument format as PyMuPDF, so downstream agents and UI work identically.Repository Note
This project supportspip install mineruas an optional parsing backend; MinerU manages its own model cache (usually under your user/cache directory).
This repository also contains the upstreamMinerU/source tree (licensed under AGPL-3.0). If you want a permissive license for your app code, avoid shipping MinerU source in the same repo.
python web_server.py)outputs/
└── {upload_id}/
├── paper_analysis.md
├── paper_analysis_zh.md
├── images/
├── specialists/
└── figure_index.json
data/
└── reports.json
python main.py ...)output/
└── {pdf_stem}/
├── paper_analysis.md
├── paper_analysis_zh.md
├── images/
├── parsed/
├── specialists/
└── figure_index.json
/researcher)data/
└── researches.json # Independent research history storage
Research results are stored separately from paper analysis reports and include:
paper_reader/
├── agents/ # 🤖 The Brains
│ ├── hierarchical_orchestrator.py
│ ├── hierarchical_prompts.py
│ └── ...
├── parsers/ # 👁️ The Eyes
│ └── pdf_parser.py # Custom Layout Analysis
├── generators/ # 📝 The Scribe
│ └── report_generator.py # Report Assembly
├── backend/ # 🔌 API Server
│ ├── app.py # Main FastAPI application
│ ├── research_store.py # Deep Research storage
│ ├── deep_research_utils.py # Deep Research utilities
│ └── ...
├── frontend/ # 🖥️ Web UI
│ ├── index.html # Paper Reader UI
│ └── researcher.html # Deep Research UI (Independent page)
├── services/ # 🌐 External Services
│ ├── tavily_service.py # Tavily Deep Research API wrapper
│ ├── valyu_service.py # Valyu Deep Research API wrapper
│ └── ...
└── deep_research/ # 📚 Documentation
├── tavily/ # Tavily API documentation
└── valyu/ # Valyu API documentation
🎉 Major Addition: Deep Research - AI-Powered Web Research Tool
🌐 Deep Research Feature:
/researcher with dedicated UI🔧 Backend Infrastructure:
ResearchStore for independent research storageTavilyService and ValyuService wrappers🖥️ Frontend Features:
researcher.html page with modern glassmorphism design📊 API Endpoints:
POST /api/deep-research - Start research via WebSocketGET /api/deep-research/stream - SSE streaming endpointGET /api/research - List research historyPOST /api/research/save - Save researchDELETE /api/research/{id} - Delete researchPOST /api/research/{id}/export/notion - Export to Notion📚 Documentation:
🎉 Major Announcement: Starting from v1.7.0, Paper Reader officially supports one-click export to Notion!
🔄 Iterative Analysis:
<TENTATIVE_GAPS>), triggering automatic refinement cycles.max_iterations), with each round resolving requests from the previous iteration.🧩 Gap Agent (Gap Analysis Specialist):
unified_requests list, auto-classified as section_needed, cross_reference, clarification, or figure_detail.📊 Frontend Enhancements:
max_iterations=0 no longer incorrectly shows as "2".🛠️ Backend Optimizations:
max_iterations=N now truly executes N+1 specialist rounds (initial + N refinements).json-repair fallback to handle unescaped quotes, newlines, and other malformed JSON from LLMs.unknown for PDF identification, improving success rate for complex PDFs.📦 New Dependency:
json-repair>=0.55.0: Automatically repairs malformed JSON from LLM outputs.--parser auto|pymupdf|mineru) and web mode, so you can choose fast PyMuPDF, high-quality MinerU, or an auto strategy that tries MinerU first and falls back to PyMuPDF if unavailable or failing.ParsedDocument + figure index flow so that downstream LLM agents, report generation, and UI work seamlessly regardless of which parser backend you choose.LLM_TIMEOUT_S, LLM_MAX_RETRIES, LLM_MAX_CONCURRENCY) for fine-tuning API behavior.\[...\], \(...\)) from Markdown processing.For detailed information about Deep Research features:
Contributions are welcome! Whether it's a new specialist agent, better parsing logic, or UI improvements.
This repository includes MinerU/ (AGPL-3.0), so redistribution must follow AGPL-3.0. See LICENSE.md.
38 commits
Python
86.9%
HTML
6.1%
JavaScript
4.3%
CSS
2.0%
An AI-powered academic paper analysis system with hierarchical multi-agent architecture and interactive web interface.
Python
5
38 commits
updated Mar 14, 2026
Hierarchical Multi-Agent System for Academic Paper Deep Analysis & AI-Powered Web Research
中文文档 | English
Quick Links: Paper Reader | Deep Research | Documentation
Paper Reader Agent is an advanced AI system designed to read, analyze, and synthesize academic papers with a depth that matches human researchers.
Deep Research is a powerful AI-powered web research tool that leverages Tavily and Valyu APIs to conduct comprehensive, real-time research on any topic, generating detailed reports with citations from online sources.
Together, they form a complete research workflow: Paper Reader for deep paper analysis, and Deep Research for broad topic exploration.
| Modern Web UI (Bilingual) | Real-time Progress Tracking |
|---|---|
![]() | ![]() |
| Clean interface with EN/ZH switching | Visualize the 5-agent team in action |
| Publication-Quality Reports | Specialist Deep Dives |
|---|---|
![]() | ![]() |
| Auto-embedded figures & formulas | Rich details from specific domains |
| Independent Research Page | Real-time Streaming Results |
|---|---|
![]() | ![]() |
| Clean, focused research interface | Live streaming with progress tracking |
| Research Dashboard |
|---|
![]() |
| Manage research history, export to Notion |
Paper Reader Agent goes beyond simple summarization...
Unlike standard summary tools, it employs a Hierarchical Multi-Agent Architecture (1+3+1) to mimic a professional research team:
Key Feature: The system detects, extracts, and literally sees figures, embedding them directly into the analysis where they are discussed, maintaining full visual context.
The system operates using a "Divide and Conquer" strategy orchestrated by a central planner.
Simple: Quick architect + math check.Hierarchical: Full 5-agent deep dive./researcher page for Deep Research with isolated history.git clone https://github.com/GoDiao/Paper-Reader.git
cd Paper-Reader
python -m venv .venv
# macOS / Linux
source .venv/bin/activate
# Windows (PowerShell)
.venv\Scripts\Activate.ps1
pip install -r requirements.txt
Optional dependencies:
# PDF export (Windows needs extra system dependencies; see weasyprint docs)
pip install weasyprint
Copy the env template and fill in your keys (do not commit .env):
# macOS / Linux
cp .env.example .env
# Windows (PowerShell)
Copy-Item .env.example .env
Minimal .env (Paper Reader):
DEEPSEEK_API_KEY=sk-your-key
# OR
OPENAI_API_KEY=sk-your-key
Deep Research Configuration (add to .env):
# Tavily API (required for Deep Research)
TAVILY_API_KEY=tvly-your_api_key_here
# Valyu API (alternative provider for Deep Research)
VALYU_API_KEY=your_valyu_api_key_here
# Notion Export (optional)
NOTION_SECRET=your_notion_secret
NOTION_PARENT_PAGE_ID=your_parent_page_id
IMGBB_API_KEY=your_imgbb_api_key
Optional settings (web search enrichment + extra providers):
SILICONFLOW_API_KEY=your_siliconflow_api_key_here
ENABLE_WEB_SEARCH=false
GITHUB_TOKEN=your_github_token_here
HUGGINGFACE_TOKEN=your_huggingface_token_here
SERPER_API_KEY=your_serper_api_key_here
Start the server to enjoy the full interactive experience.
python web_server.py
Open http://localhost:8000 in your browser for Paper Reader, or visit http://localhost:8000/researcher for Deep Research.
Note (Simple mode in Web UI)
TheSimplemode in the web UI is currently a placeholder and returns a brief message. UseHierarchicalmode for full reports.
Note (Parser Backend in Web Mode)
The web server currently uses theautostrategy by default:
- If MinerU (
pip install mineru) is installed, it will try the MinerU backend first.- If MinerU is not installed or fails, it will automatically fall back to the PyMuPDF backend.
Access the dedicated Deep Research page at http://localhost:8000/researcher:
Deep Research Features:
- ✅ Real-time SSE streaming with progress tracking
- ✅ Markdown rendering with tables and LaTeX equations
- ✅ Persistent research history with search and delete
- ✅ One-click export to Notion with full formatting
# Full hierarchical analysis (Default, auto parser backend)
python main.py paper.pdf
# Force fast PyMuPDF backend
python main.py paper.pdf --parser pymupdf
# Force high-fidelity MinerU backend (requires: pip install mineru)
python main.py paper.pdf --parser mineru
# Save intermediate agent outputs
python main.py paper.pdf --verbose
# Use OpenAI instead of DeepSeek
python main.py paper.pdf --provider openai --model gpt-4o
# Output Chinese only (can reduce cost)
python main.py paper.pdf --language zh
Note: Deep Research is currently only available through the web interface (
/researcher). CLI support is planned for future releases.
PyMuPDF (Default, Fast)
pymupdf.MinerU (Optional, High-Fidelity)
pip install mineru (and follow MinerU's own docs for GPU/driver requirements).ParsedDocument format as PyMuPDF, so downstream agents and UI work identically.Repository Note
This project supportspip install mineruas an optional parsing backend; MinerU manages its own model cache (usually under your user/cache directory).
This repository also contains the upstreamMinerU/source tree (licensed under AGPL-3.0). If you want a permissive license for your app code, avoid shipping MinerU source in the same repo.
python web_server.py)outputs/
└── {upload_id}/
├── paper_analysis.md
├── paper_analysis_zh.md
├── images/
├── specialists/
└── figure_index.json
data/
└── reports.json
python main.py ...)output/
└── {pdf_stem}/
├── paper_analysis.md
├── paper_analysis_zh.md
├── images/
├── parsed/
├── specialists/
└── figure_index.json
/researcher)data/
└── researches.json # Independent research history storage
Research results are stored separately from paper analysis reports and include:
paper_reader/
├── agents/ # 🤖 The Brains
│ ├── hierarchical_orchestrator.py
│ ├── hierarchical_prompts.py
│ └── ...
├── parsers/ # 👁️ The Eyes
│ └── pdf_parser.py # Custom Layout Analysis
├── generators/ # 📝 The Scribe
│ └── report_generator.py # Report Assembly
├── backend/ # 🔌 API Server
│ ├── app.py # Main FastAPI application
│ ├── research_store.py # Deep Research storage
│ ├── deep_research_utils.py # Deep Research utilities
│ └── ...
├── frontend/ # 🖥️ Web UI
│ ├── index.html # Paper Reader UI
│ └── researcher.html # Deep Research UI (Independent page)
├── services/ # 🌐 External Services
│ ├── tavily_service.py # Tavily Deep Research API wrapper
│ ├── valyu_service.py # Valyu Deep Research API wrapper
│ └── ...
└── deep_research/ # 📚 Documentation
├── tavily/ # Tavily API documentation
└── valyu/ # Valyu API documentation
🎉 Major Addition: Deep Research - AI-Powered Web Research Tool
🌐 Deep Research Feature:
/researcher with dedicated UI🔧 Backend Infrastructure:
ResearchStore for independent research storageTavilyService and ValyuService wrappers🖥️ Frontend Features:
researcher.html page with modern glassmorphism design📊 API Endpoints:
POST /api/deep-research - Start research via WebSocketGET /api/deep-research/stream - SSE streaming endpointGET /api/research - List research historyPOST /api/research/save - Save researchDELETE /api/research/{id} - Delete researchPOST /api/research/{id}/export/notion - Export to Notion📚 Documentation:
🎉 Major Announcement: Starting from v1.7.0, Paper Reader officially supports one-click export to Notion!
🔄 Iterative Analysis:
<TENTATIVE_GAPS>), triggering automatic refinement cycles.max_iterations), with each round resolving requests from the previous iteration.🧩 Gap Agent (Gap Analysis Specialist):
unified_requests list, auto-classified as section_needed, cross_reference, clarification, or figure_detail.📊 Frontend Enhancements:
max_iterations=0 no longer incorrectly shows as "2".🛠️ Backend Optimizations:
max_iterations=N now truly executes N+1 specialist rounds (initial + N refinements).json-repair fallback to handle unescaped quotes, newlines, and other malformed JSON from LLMs.unknown for PDF identification, improving success rate for complex PDFs.📦 New Dependency:
json-repair>=0.55.0: Automatically repairs malformed JSON from LLM outputs.--parser auto|pymupdf|mineru) and web mode, so you can choose fast PyMuPDF, high-quality MinerU, or an auto strategy that tries MinerU first and falls back to PyMuPDF if unavailable or failing.ParsedDocument + figure index flow so that downstream LLM agents, report generation, and UI work seamlessly regardless of which parser backend you choose.LLM_TIMEOUT_S, LLM_MAX_RETRIES, LLM_MAX_CONCURRENCY) for fine-tuning API behavior.\[...\], \(...\)) from Markdown processing.For detailed information about Deep Research features:
Contributions are welcome! Whether it's a new specialist agent, better parsing logic, or UI improvements.
This repository includes MinerU/ (AGPL-3.0), so redistribution must follow AGPL-3.0. See LICENSE.md.
38 commits
Python
86.9%
HTML
6.1%
JavaScript
4.3%
CSS
2.0%