Paper Reader Agent 是一个先进的 AI 系统,旨在像人类研究员一样深度阅读、分析并综合学术论文。
Deep Research 是一个强大的 AI 驱动的网络研究工具,利用 Tavily 和 Valyu API 对任何主题进行全面、实时的研究,生成带有在线来源引用的详细报告。
两者结合形成了完整的研究工作流:Paper Reader 用于深度论文分析,Deep Research 用于广泛主题探索。
📸 点击查看功能截图 (Showcase)
| 现代化双语 Web 界面 | 实时 Agent 协作进度 |
|---|---|
![]() |
![]() |
| 支持中英文一键切换 | 可视化 1+3+1 Agent 团队工作流 |
| 出版级分析报告 | 专家深度分析 |
|---|---|
![]() |
![]() |
| 自动嵌入公式与插图 | 查看特定领域的深度洞察 |
| 独立研究页面 | 实时流式结果 |
|---|---|
![]() |
![]() |
| 简洁专注的研究界面 | 实时流式传输与进度追踪 |
| 研究管理面板 |
|---|
![]() |
| 管理研究历史、导出到 Notion |
Paper Reader Agent 与普通的摘要工具不同...
与普通的摘要工具不同,它采用 层级化多 Agent 架构 (1+3+1) 来模拟专业的研究团队:
- 架构师 (Architect):解构论文并规划阅读策略。
- 专家团队 (Specialist Team):并行专家分别分析背景、数学推导和数据实验。
- 主编 (Editor):综合生成出版级质量的报告,并自动嵌入相关图表。
核心特性:系统能够检测、提取并真正“看见”论文中的插图,将其直接嵌入到分析报告的相关讨论中,保留完整的视觉上下文。
系统采用由中心规划者编排的“分而治之”策略。
- 架构师 (Architect):战略性规划阅读重点和方向。
- 背景猎人 (Context Hunter):挖掘“真正”的研究动机和隐含假设。
- 数学专家 (Math Specialist):推导公式并解释数学背后的物理直觉。
- 数据审计员 (Data Auditor):批判性审查基线、方差和实验公平性。
- 智能提取:基于 PyMuPDF 的自定义 PDF 解析管线,精确分割文本和图像。
- 上下文保留:图片与其相关文本保持关联。
- 自动嵌入:AI 会在讨论具体内容时自动将图片插入到报告中。
- Web 界面:简洁响应式的 UI,支持实时分析进度展示。
- 双模式:
Simple:快速架构师 + 数学检查。Hierarchical:全功能 5-Agent 深度分析。
- 双语支持:同时生成原生质量的中文和英文报告。
- Python 3.8+
- API 密钥 (DeepSeek 或 OpenAI)
- (可选) CUDA GPU 用于加速布局分析
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可选依赖:
# PDF 导出(Windows 需要额外系统依赖,见 weasyprint 官方文档)
pip install weasyprint复制环境变量模板并填写密钥(不要把 .env 提交到仓库):
# macOS / Linux
cp .env.example .env
# Windows (PowerShell)
Copy-Item .env.example .env.env 最小配置(任选其一):
DEEPSEEK_API_KEY=sk-your-key
# 或
OPENAI_API_KEY=sk-your-key可选配置(Web 端“复现资源发现 / 网络搜索”与更多 Provider):
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启动服务器以获得完整的交互体验。
python web_server.py在浏览器中打开 http://localhost:8000。
说明(Web 的 Simple 模式)
Web UI 的Simple模式当前为占位实现,会返回提示文本;建议使用Hierarchical模式获得完整分析报告。
说明(Web 模式下的解析后端)
Web 服务当前默认使用auto策略:
- 如果本地已安装 MinerU(
pip install mineru),会优先尝试 MinerU 解析。- 如果 MinerU 未安装或解析失败,则自动回退到 PyMuPDF 后端。
# 全层级深度分析(默认,自动选择解析后端)
python main.py paper.pdf
# 强制使用快速的 PyMuPDF 解析后端
python main.py paper.pdf --parser pymupdf
# 强制使用高保真的 MinerU 解析后端(需要先安装:pip install mineru)
python main.py paper.pdf --parser mineru
# 保存所有 Agent 的中间输出
python main.py paper.pdf --verbose
# 使用 OpenAI 替代 DeepSeek
python main.py paper.pdf --provider openai --model gpt-4o
# 仅输出中文报告(可减少开销)
python main.py paper.pdf --language zh-
PyMuPDF(默认,速度快)
- 只依赖
pymupdf,无需额外安装大型模型。 - 解析速度快,对大部分普通论文已经足够。
- 在本项目中进行了增强:支持表格提取、数学区域启发式识别、更智能的图像检测与标题匹配。
- 只依赖
-
MinerU(可选,高保真)
- 通过
pip install mineru安装(并按 MinerU 官方文档配置 GPU / 驱动等环境)。 - 更擅长保留复杂版式、多栏结构、表格以及公式密集的页面。
- 本项目会将 MinerU 产出的 Markdown + 图片规范化为统一的
ParsedDocument结构,下游 Agent 和前端 UI 在不同解析后端之间无缝复用。
- 通过
仓库说明
本项目支持通过pip install mineru使用 MinerU 解析后端;MinerU 的模型缓存由其自身管理(通常在用户目录/缓存目录下)。
当前仓库同时包含MinerU/源码(许可证为 AGPL-3.0),如需以更宽松许可证开源你的业务代码,建议不要将 MinerU 源码一并发布到同一仓库。
系统将输出组织得井井有条:
outputs/
└── {upload_id}/
├── paper_analysis.md # 英文最终报告(如选择输出)
├── paper_analysis_zh.md # 中文最终报告(如选择输出)
├── images/ # 所有提取的插图
├── specialists/ # 中间专家报告
└── figure_index.json # 元数据
data/
└── reports.json # 历史记录索引
output/
└── {pdf_stem}/
├── paper_analysis.md
├── paper_analysis_zh.md
├── images/
├── parsed/ # PDF 解析中间产物(markdown/图片等)
├── specialists/
└── figure_index.json
paper_reader/
├── agents/ # 🤖 大脑
│ ├── hierarchical_orchestrator.py
│ ├── hierarchical_prompts.py
│ └── ...
├── parsers/ # 👁️ 眼睛
│ └── pdf_parser.py # 自定义布局分析
├── generators/ # 📝 记录员
│ └── report_generator.py # 报告组装
├── backend/ # 🔌 API 服务端
└── frontend/ # 🖥️ Web 前端
🎉 重要公告:从 v1.7.0 开始,Paper Reader 正式支持一键导出到 Notion!
-
🔄 迭代分析 (Iterative Analysis):
- 专家可主动提出信息缺口(
<TENTATIVE_GAPS>),系统自动进入迭代 refinement 流程。 - 支持配置迭代轮数(
max_iterations),每轮解决上一轮遗留的信息请求。 - 前端新增迭代面板,实时展示每轮请求类型、内容与解决状态。
- 专家可主动提出信息缺口(
-
🧩 Gap Agent(差距分析专家):
- 新增独立 Gap Agent,统一审查三位专家的报告,识别跨领域信息缺口。
- 生成全局置信度评分(0.0–1.0),并给出是否建议迭代的自然语言解释。
- 输出标准化的信息请求列表(
unified_requests),自动分类为section_needed、cross_reference、clarification、figure_detail。
-
📊 前端增强:
- Gap Agent 面板:展示各专家评估(完整性、连贯性、发现缺口)、全局置信度、迭代建议与请求列表。
- 轮次追踪修复:WebSocket 事件携带正确轮次,前端显示 "Round N" 与实际迭代一致。
- 配置显示修复:
max_iterations=0时不再错误显示为 "2"。
-
🛠️ 后端优化:
- 轮次逻辑修正:
max_iterations=N现在真正执行N+1轮专家分析(初始 + N 次 refinement)。 - JSON 解析增强:引入
json-repair兜底,修复 LLM 输出的未转义引号、换行符等畸形 JSON。 - 缓存优化:空解析结果(0 字符)不再写入缓存,避免无效缓存污染。
- MinerU 兼容性:处理 Magika 返回
unknown的 PDF 识别,提升复杂 PDF 的解析成功率。
- 轮次逻辑修正:
-
📦 新增依赖:
json-repair>=0.55.0:自动修复 LLM 生成的畸形 JSON。
-
📝 原生 Notion 导出: 一键导出为 Notion 页面,深度优化内容呈现:
- 原生表格: 使用 Notion Table Block 替代图片/公式,支持编辑与复制。
-
公式渲染: 完美支持行内公式 (
$...$ ) 与块级公式 ($$...$$ ) 的 LaTeX 渲染。 - 列表嵌套: 修复复杂嵌套列表的缩进与层级关系。
- 🖼️ 图像优化: 提升导出时的图片清晰度与题注匹配准确性。
- ⚡ 稳定性修复: 解决部分边缘情况下的解析错误。
- 🗂️ 历史记录: 分析报告持久化存储,支持浏览/搜索/删除,并可随时打开旧报告、查看专家报告与聊天记录。
- 📤 一键导出: 支持导出 Markdown/DOCX,打包下载论文图片(ZIP)(PDF 导出后端已支持,依赖可选)。
- ⚡ 解析缓存: 基于文件 SHA256 的解析缓存(正文 + 插图),重复分析显著提速。
- 🌐 网络搜索开关: Web 端提供启用/禁用开关,支持 GitHub/HuggingFace Token,自动补全复现资源。
- 🤝 新增 SiliconFlow: Web 端新增 SiliconFlow Provider,并对并发做自适应调整以减少 429 等限流错误。
- 🈯 输出语言选择: 可选择只生成中文或英文报告,减少开销并避免空白 Tab。
- 🎨 UI 视觉升级: 全新基于 Zinc 色系的深色主题,高对比度表格样式,以及更优的排版体验。
- 🔍 资源发现服务: 集成 GitHub 代码库和 HuggingFace 模型/数据集的自动搜索功能,辅助论文复现。
- 📋 复现清单 (Reproduction Checklist): 新增专门板块,自动提取并核对硬件要求、超参数设置及数据集信息。
- 📉 变量追踪: 支持追踪论文中的数学符号及其定义。
- ⚡ 交互优化: 精简了 Agent 进度展示,移除冗余的架构师 (Architect) 栏目,更聚焦于专家分析内容。
- 🧠 MinerU 解析后端: 集成 MinerU(Magic-PDF 2.x pipeline)作为高保真 PDF 解析器,更好保留复杂论文的版式结构、表格与数学区域。
- ⚙️ 可切换解析后端: 支持在命令行通过
--parser auto|pymupdf|mineru以及 Web 模式中选择解析策略,可在更快的 PyMuPDF 与更高质量的 MinerU 之间自由切换,或使用auto先尝试 MinerU 失败后自动回退到 PyMuPDF。 - 📂 统一输出管线: 将 MinerU 的输出规整为统一的
ParsedDocument+ 图像索引格式,下游 LLM Agent、报告生成和前端 UI 在不同解析后端之间无缝复用。
- 🔧 统一 LLM 客户端工厂: 集中管理所有 Agent 的 LLM 配置、重试/退避和超时处理。新增可选的全局并发限流,防止 API 速率限制。
- 📊 细粒度进度事件: 为每个 Agent(架构师、背景猎人、数学专家、数据审计员、编辑)提供实时进度更新,在 LLM 调用和重试期间显示详细状态信息。
- ⚡ 并发优化: 消除嵌套线程池,统一执行器管理,改进资源利用,提升并发负载下的性能。
- 📄 PDF 解析器增强: 改进的 PyMuPDF 实现,支持表格提取(Markdown 格式)、数学公式区域识别、更好的文本结构保留,以及更智能的图像标题检测(上下搜索)。
- 🔧 配置选项: 新增环境变量(
LLM_TIMEOUT_S、LLM_MAX_RETRIES、LLM_MAX_CONCURRENCY)用于微调 API 行为。 - 📡 实时流式传输: 为专家 Agent(数学、数据、背景)实现了流式响应,允许用户逐字查看生成过程中的分析报告。
- 📐 数学公式修复: 解决了流式传输中 LaTeX 公式渲染问题,通过保护定界符(
\[...\],\(...\))防止 Markdown 转义错误。 - 🏗️ 架构师报告: 新增独立的“架构师”标签页,在规划阶段完成后立即展示阅读计划和 Agent 任务分配。
- 🖥️ UI UX 改进: 将专家报告版块移至主分析视图以提高可见性,并添加了跟随活跃 Agent 的自动聚焦逻辑。
- ✨ 全新 UI: 引入“深空”毛玻璃主题,提供沉浸式阅读体验。
- 🤖 智能对话: 聊天功能新增上下文总结记忆,支持更长、更连贯的论文探讨。
- 📊 专家报告: 新增独立标签页展示背景调查、数学分析和数据审计报告。
- 🌐 双语支持: 完整支持中英文界面一键切换。
- 🐛 问题修复: 修复了表格渲染问题,优化了聊天界面的滚动交互。
欢迎提交 PR!无论是新的专家 Agent、更好的解析逻辑,还是 UI 改进。
- Fork 本项目
- 创建您的特性分支
- 提交您的更改
- 推送到分支
- 开启 Pull Request
本仓库包含 MinerU/(AGPL-3.0),整体分发需遵循 AGPL-3.0。详见 LICENSE.md。








