Paper-Agent 智能论文调研与综述写作工作台
输入一个研究主题,自动检索多来源论文、阅读全文、分层分析并生成可追踪的领域综述。
证据显示后端默认仅绑定 127.0.0.1、前端默认只监听本机,外部副作用限于本地文件、SQLite 与向三个公开学术 API 的检索/下载,权限面收敛,least_privilege 给 2;但全自动下载 PDF、写本地向量库等动作未见用户确认机制,user_confirmation 仅 1。SSE 全流程进度与 token 用量展示支持 data_flow_transparency 给 2。密钥支持 api_key_env、model. 不入库是加分,但密钥在设置页可视化管理、传输与落盘细节无说明,sensitive_data_handling 2。依赖只有下限约束、无锁定文件与审计说明,dependency_security 1。默认本机绑定且无破坏性默认值,external_effects 2。SQLite/文件持久化与『依赖不可用时保存恢复现场』支持 rollback 2。chunkId 引用体系与致谢贡献者支持 source_attribution 2。
test_extraction_validation.py 锁定了引用校验、重试与结构化失败(extraction_failed/skipped_extraction_failed)等行为,front_to_back 网关联调测试覆盖会话/事件流/产物持久化,self_consistency 2。README 明确『依赖不可用时保存恢复现场』与 default_agent 缺失时的回退规则,dependency_availability 2。结构化错误消息(含 status、reason、ApiError)证据充分,failure_messages 2;但均为静态阅读与测试代码,未执行验证,故不给满分。
面向科研人员与学生的场景表清晰,install/配置/启动步骤具体,audience_and_scenarios 与 environment_fit 各 2(PowerShell 示例偏 Windows,跨平台说明不足)。Search/Read/Analyse/Outline/Writing 的分工与 fallback 规则使 trigger_precision 2。capability_boundaries 仅 1:README 提到的 EVAL_NOTES.md 未在源文件中出现,『证据核查覆盖率 39%』修复等声明无法在提供的文件内核实。
目录结构、工作流 mermaid 图、配置分层说明完整,information_architecture 3。安装说明可操作但 README 中同时出现 model.example. 与 settings.example. 两个示例文件名、且示例仅 PowerShell,install_notes 2。pyproject 名称 papers-agents、描述仍是占位符 'Add your description here',version 0.1.0 与 README『2.0 版本』叙事不一致,无 CHANGELOG,naming_stability 与 versioning_changelog 各 1。known_limitations 1:局限性论述依赖缺失的 EVAL_NOTES.md。license 完全缺失,0。贡献流程与维护者信息存在,maintenance_responsibility 2。examples_and_faq 2:配置示例充分但无 FAQ。
输出为带 chunkId 引用、证据映射和会话产物的综述正文,工作台可恢复,output_usability 2。相比单一 arXiv 摘要工具,三源去重、分层分析、证据约束写作构成实际增量,marginal_value 2。多档位模型与 token 用量展示支持成本控制,cost_benefit 2;未执行运行,效果不可实测。
引用必须为有效 chunkId 且有空引用豁免规则,并有回归测试锁定,claim_traceability 2。arXiv/OpenAlex/Semantic Scholar 三源检索与去重评分设计支持 cross_source_corroboration 2。抽取字段结构化、核查与重试分离事实与推断,fact_inference_separation 2;静态审查不执行,故不给 3。
- 仓库无任何许可证文件,使用、分发与贡献的法律状态不明,使用前需与作者确认。
- README 引用的 EVAL_NOTES.md 与质量数据(如 39% 覆盖率修复)未在源文件中,能力边界声明无法核实。
- pyproject 描述为占位符、版本 0.1.0 与『2.0 重写』叙事矛盾,维护规范性偏弱。
- API 密钥可在网页设置页明文查看/修改,且示例仅 PowerShell;注意本地密钥落盘与跨平台部署风险。
- 自动下载与全文解析无用户确认环节,注意磁盘占用与对第三方 API 的请求配额。
这个 Agent 能做什么,适合哪些场景?
Paper-Agent 是一个基于 LangGraph 多智能体协作架构的开源科研助手,仓库地址为 Tswoen/Paper-Agent。它通过 SearchAgent、ReadAgent、AnalyseAgent、WritingOutlineAgent 和 WritingAgent 五个智能体,串联起检索、阅读、分析、大纲和写作的完整调研流程。论文来源覆盖 arXiv、OpenAlex 和 Semantic Scholar 三个平台,全文经 pypdf 转 Markdown、分块后写入 ChromaDB 向量库供证据检索。后端使用 FastAPI 并通过 SSE 实时推送各阶段进度,前端为 Vue 3 + TypeScript + Vite 工作台,会话状态由 SQLite 与文件系统持久化。它适合愿意本地自部署、自行配置模型 Provider 的科研人员和学生,用于文献调研与综述初稿写作。
用户输入研究主题后,SearchAgent 生成关键词、子主题与检索约束;系统从 arXiv、OpenAlex、Semantic Scholar 检索并统一为 PaperDocument,按年份、来源、数量和排除词筛选去重。ReadAgent 先读摘要判断相关性,符合条件的论文走下载 → PDF 转 Markdown → 分块 → 抽取 → 写入 ChromaDB 本地向量库,依赖不可用时可保存恢复现场。AnalyseAgent 按子主题逐篇分析再做全局综合,输出研究现状、共识、争议、空白与时间演化等结构化内容。WritingOutlineAgent 生成章节大纲与证据映射,WritingAgent 逐节写作、证据不足时检索补充、完成后审查并限次修改,最终产出带引用的综述正文。全部进度经 SSE 推送到 Web 工作台,会话、运行状态与阶段产物持久化于 SQLite 和本地 JSON/Markdown/向量文件。
- 研究生初次进入陌生研究方向,需要快速获得一个领域的论文清单与结构化现状梳理
- 博士生撰写文献综述初稿,希望按证据映射逐节生成正文并追踪每条论断的出处
- 科研团队需要长期管理调研任务,依赖会话持久化随时中断并恢复进度
- 需要控制成本的团队,为不同阶段配置不同模型档位并查看实际 token 用量
- 使用 OpenAI 或 Anthropic 兼容网关的研究者,在浏览器中可视化配置并测试模型连通性
这个 Agent 有哪些优点和局限?
- 五智能体全流程覆盖检索到逐节写作,且每步进度经 SSE 实时可见,可中断恢复
- 三源检索(arXiv/OpenAlex/Semantic Scholar)加本地 ChromaDB 向量库,写作受证据映射约束,综述可溯源
- 每个 Agent 可独立指定模型档位(luna_agent/solar_agent/default_agent),支持 OpenAI 与 Anthropic 兼容协议,便于控制成本
- 无许可证信息,商用或二次分发前需与作者确认授权
- 需要 Python 3.12、uv、Node.js 本地自部署并自行配置模型 API 密钥,没有托管版本
- 全文下载/解析依赖外部论文源可用性,依赖不可用时只能保存现场等待修复配置后继续
如何安装或部署这个 Agent?
- 安装 Python 3.12+ 与 uv、Node.js/npm。
- 在项目根目录执行:
uv init
uv venv --python 3.12
uv sync
npm run front:install- 配置模型:拷贝 config/model.example. 为 config/model.(含密钥,不入库),至少配置一个 Provider 的 api_base、api_key 或 api_key_env、agents.default_agent,以及 embedding_profiles.default_embedding;示例见 config/settings.example.,系统参数见 config/system.yaml。也可在 Web「系统设置」页配置并一键测试连通性。
如何使用这个 Agent?
- 启动后端:uv run python main.py,默认监听 127.0.0.1:8000,API 文档在 http://127.0.0.1:8000/docs。
- 启动前端:npm run front:dev,打开 http://127.0.0.1:5173/。
- 在「模型设置」页测试模型连通性,然后进入会话工作台输入研究主题创建任务,实时追踪检索、阅读、分析、大纲与逐节写作进度。
- 如需局域网其他设备访问,使用 npm run front:dev:network。