Tswoen/Paper-Agent
Paper-Agent 是一个面向科研人员和学生的智能论文检索与调研工具。项目基于多智能体协作架构(LangGraph),通过自然语言处理(NLP)、自动化搜索,帮助用户高效查找学术论文、分析文献内容,并进行论文调研。Paper-Agent 支持多平台集成、关键词搜索、自动分析、论文调研,提升了学术研究的效率。适用于论文写作、学术调研、科研项目管理等多种场景,是学术调研的理想助手。
Paper‑Agent – 基于AI的研究助手
它能做什么
- 你输入一个研究主题,系统会自动搜索论文、阅读论文、分析发现,并生成一份可逐步跟随的完整文献综述。
- 整个流程由一组专业代理(搜索、阅读、分析、大纲、写作)构成,这些代理与 OpenAI 或 Anthropic 等大型语言模型(LLM)提供商通信。
- 结果、进度和中间成果通过基于 Web 的工作台实时显示,通过服务器发送事件(SSE)更新,并将所有内容保存在本地 SQLite + 文件系统中,以便你可以暂停并稍后继续。
关键技术组件
| 层级 | 技术 | 作用 |
|---|---|---|
| 运行时 | Python 3.12+, uv 包管理器 |
运行后端服务 |
| API | FastAPI (Uvicorn) | 暴露 REST 端点和 SSE 流 |
| 工作流引擎 | LangGraph (typed-dict 共享状态) | 协调多代理流水线 |
| 代理 | 自定义 Python 代理(Search, Read, Analyse, WritingOutline, Writing) | 每个代理负责研究流程中的一个阶段 |
| LLM 集成 | OpenAI 兼容和 Anthropic 兼容提供方 | 生成提示、提取信息、撰写文本 |
| 论文来源 | arXiv、OpenAlex、Semantic Scholar 连接器 | 检索元数据和 PDF |
| PDF 处理 | pypdf → Markdown → 文本分块 |
将 PDF 转换为可搜索文本 |
| 向量存储 | ChromaDB | 存储分块嵌入以实现快速相似性搜索 |
| 持久化 | SQLite + JSON/Markdown 文件 | 保存会话、中间结果和最终草稿 |
| 前端 | Vue 3 + TypeScript + Vite | 交互式 UI,显示进度、模型配置和聊天式会话视图 |
| 包管理 | uv (Python) & npm (前端) |
一键安装所有依赖 |
如何使用
- 安装 – 运行
uv sync(Python 依赖)和npm run front:install(前端依赖)。 - 配置 – 创建
config/model.json(或使用 Web UI),配置你的 LLM 提供商 URL、API 密钥和每个代理的模型“层级”。 - 启动 – 运行
uv run python main.py启动 FastAPI 服务器(API 文档在http://127.0.0.1:8000/docs)。 - 运行 UI – 运行
npm run front:dev(或front:dev:network用于局域网访问)在http://127.0.0.1:5173/打开 Vue 应用。 - 创建会话 – 输入研究主题,观察 SSE 驱动的进度条,系统将搜索三个来源、阅读摘要、下载 PDF、分块处理、分析子主题、构建大纲并撰写每个部分。
- 保存并恢复 – 所有状态均被持久化;你可以关闭浏览器,稍后继续之前的工作。
为何重要
- 端到端自动化:取代手动搜索、阅读、记笔记、列大纲和撰写草稿的循环。
- 成本意识:每个阶段可使用不同模型层级,UI 显示每一步的 token 使用量。
- 透明性:实时 SSE 更新让你清楚看到系统正在做什么,必要时可干预。
- 可扩展性:基于 LangGraph 构建,因此可轻松添加新代理或自定义提示,无需重写整个系统。
如何参与
- 欢迎提交问题和拉取请求。测试位于
test/目录,可通过uv run python -m unittest discover -s test -v运行。 - 前端更改在合并前需通过
npm run front:build。 - 项目开源,托管于仓库 https://github.com/Tswoen/Paper-Agent。
Paper‑Agent 旨在通过让 LLM 承担繁重工作,同时保持整个过程可见且可控,使文献综述更快、更系统化。
相关
- 项目
- 项目
- 项目
- 项目
- 项目