Paper2Any 科研内容工作台
将论文、文本和图片转成可编辑科研图、Draw.io 图表与演示文稿。
文档明确列出文本、图像、OCR、MinerU、Supabase、SAM3、ONLYOFFICE 等外部服务及持久化输出,且区分开源仓库与托管商业实现,因此数据流、外部效果和来源说明有一定透明度。扣分在于上传的论文、图片及密钥会进入多个可配置服务,但未提供数据保留、日志脱敏、隐私边界或供应商处理说明;前端 VITE_API_KEY 与后端密钥共用会使其进入客户端构建;未见细粒度权限模型、安全审计、依赖漏洞治理或系统级回滚。仅视频脚本确认、提纲编辑和版本历史体现有限的人机确认与恢复能力。未验证发布者身份本身不作负面推断。
手工冒烟脚本覆盖健康检查、HTTP 状态、响应结构、空产物及缺失环境变量,并给出较具体的失败消息;依赖和外部系统要求也有较清楚的安装边界。扣分在于这些测试位于归档的 manual 目录、依赖真实后端和外部模型,且部分断言只检查路径类型或非空。README 要求 Python 3.11+,而 pyproject 声明 >=3.9;README 的 Paper2Any 产品定位也与 pyproject 的 dataflow-agent 包名和描述不完全一致,削弱静态自洽性。
证据清楚覆盖论文、文本、主题、PDF、图片和幻灯片等输入,以及科研图、路线图、PPT、海报、视频、引文和知识库等具体场景,语言、样式、复杂度、分辨率、模型和提供商也可配置,故受众与场景充分。扣分在于部分能力需要 SAM3、MinerU、OCR、TTS、ONLYOFFICE 或商业托管层,边界虽有披露但分散;工作流触发主要靠用户选择和 API 参数,未见更系统的适用性判定、冲突消解或输入风险约束。
README 具有目录、功能分区、展示、快速开始、项目结构入口、路线图和贡献入口,信息架构较强;Docker 与 Linux 安装说明区分基础、论文、CUDA 和系统依赖,并完整附有 Apache-2.0 许可证。扣分在于给定 README 内容在环境变量部分截断,完整故障排查和 FAQ 证据不足;README、包名 dataflow-agent、命令 dfa 与产品名 Paper2Any 存在命名漂移;新闻记录可充当变更摘要,但未展示正式发布标签、迁移策略或稳定版本政策;作者邮箱和贡献入口只能部分说明维护责任,组织发布者身份仍未知。
可编辑 PPTX、SVG、DrawIO XML、PNG、视频及批量下载等产物直接面向后续编辑和交付,展示和接口脚本也表明产物格式明确;将论文内容转换为多种可编辑研究传播材料,相对手工绘制和排版具有明显增量价值。扣分在于一键生成、准确布局和速度等效能主张主要来自 README 展示,未提供静态质量基准;多模型 API、GPU 分割、Office 服务及大量系统工具带来费用、部署时间和运维成本,因此成本收益并非全面优越。
功能主张可部分追溯到具体 API 路径、环境变量、输出字段、截图和手工冒烟用例;文档也明确区分开源仓库与未完整开源的 Studio/Nexus,较好地区分了实现范围。扣分在于许多展示性和质量性主张没有对应实现文件、自动测试结果或基准证据;现有测试来自归档手工目录,部分仅作弱断言,而且 pyproject 的名称、描述和 Python 范围与 README 不一致,跨来源佐证有限。
- 在处理未公开论文或敏感材料前,应确认每个模型、OCR、MinerU、TTS 和托管服务的数据保留、训练使用及日志政策。
- 不要把 VITE_API_KEY 视为秘密;前端构建变量通常可被客户端读取。生产部署应采用用户级认证、短期令牌、服务端代理和密钥轮换。
- 启用 ONLYOFFICE 示例中的 JWT_ENABLED=false、私网访问或公开下载地址前,应进行独立的生产安全加固。
- README 展示的托管 Studio/Nexus 与本仓库并非同一实现,评估或采购时不要把托管功能自动归因于开源版本。
- 安装前应核对 Python 版本、系统工具、GPU 服务及依赖兼容性,并对依赖执行独立漏洞扫描。
这个 Agent 能做什么,适合哪些场景?
Paper2Any 是面向科研多模态内容生产的开源工作台,由 dataflow_agent 核心代码、FastAPI 后端、React 前端、命令行脚本和测试组成。它接收论文 PDF、长文档、文本主题、图片或截图,可生成模型架构图、技术路线图、实验图、可编辑幻灯片、学术海报、视频脚本和技术报告。Paper2Figure、Paper2Diagram、Paper2PPT、PDF2PPT、Image2PPT、PPTPolish 和知识库工作流分别承担不同转换任务,并可输出 PPTX、SVG、Draw.io、PNG 等格式。项目既提供浏览器界面,也提供独立 CLI;模型通过可配置的 API URL、密钥和模型名称调用,可使用 OpenAI API 或兼容网关。它可以通过 Docker 自托管,也能在 Linux、WSL 或原生 Windows 环境安装,但部分图像分割、文档转换和排版功能需要额外系统工具或 GPU 服务。公开仓库不包含线上 Paper to Any Studio / Nexus 的完整商业实现,因此不能把托管演示中的所有体验视为自托管版本的一部分。
Paper2Any 先从 PDF、图片、截图、文本或主题读取内容,再由 dataflow_agent 中的 agentroles、workflow、promptstemplates 和 toolkits 编排具体任务。Paper2Figure 生成 model_arch、tech_route 或 exp_data 三类科研图;Paper2Diagram / Image2Drawio 将论文、文本或图片转成可聊天修改的 Draw.io 画布,并导出 drawio、PNG 或 SVG。Paper2PPT 处理论文、长文档和主题,抽取表格与插图,辅助编辑大纲并生成可编辑幻灯片;PDF2PPT 和 Image2PPT 分别执行保留布局的 PDF 转换与图片结构化重建。PPTPolish 对既有 PPT 做布局优化和风格迁移,Paper2Poster、Paper2Video、Paper2Rebuttal、Paper2Citation 和 Paper2Technical 则覆盖海报、视频脚本、审稿回复、引文探索和技术总结。知识库模块执行摄取、嵌入和语义检索,并据此生成 PPT、播客或思维导图。Web 模式通过 frontend-workflow 调用 fastapi_app 的 /api/v1/ 接口;CLI 模式可直接运行 script/run_paper2figure_cli.py、script/run_paper2ppt_cli.py、script/run_pdf2ppt_cli.py、script/run_image2ppt_cli.py 和 script/run_ppt2polish_cli.py。
- 研究人员准备组会或会议报告时,把论文 PDF 转成包含抽取表格和插图的可编辑 PPT,并在画布中继续修改。
- 论文作者需要绘制方法图时,用 Paper2Figure 从论文或方法描述生成模型架构图、技术路线图或实验数据图。
- 工程团队需要复刻现有示意图时,将截图交给 Image2Drawio,获得可编辑的 Draw.io 结构并通过对话调整。
- 实验室需要维护内部资料库时,摄取多份文档并进行嵌入和语义检索,再生成知识库驱动的 PPT、播客或思维导图。
- 作者准备投稿或答辩材料时,从论文生成可编辑学术海报,或用 Paper2Rebuttal起草带有论点—证据关联的回复。
- 需要改造旧课件的教师或技术传播人员,可用 PDF2PPT、Image2PPT 或 PPTPolish重建布局并统一视觉风格。
这个 Agent 有哪些优点和局限?
- 输出强调可编辑性:科研图可导出 PPT、SVG,Draw.io 工作流支持 drawio、PNG、SVG,而演示工作流提供可编辑 PPTX。
- 输入和任务覆盖面较广,同一代码库可以处理论文、长文档、文本主题、PDF、图片和截图,并提供 Web 与 CLI 两类入口。
- 模型配置并非绑定单一固定模型:后端支持统一文本和图像入口,也支持按工作流选择 API URL、密钥与模型。
- 知识库不仅提供摄取和语义检索,还能将检索内容直接用于 PPT、播客和思维导图生成。
- Docker 脚本覆盖构建、启动、日志、停止和持久化目录,方便部署完整前后端。
- 完整安装涉及较重的系统依赖,包括 LibreOffice、Inkscape、ffmpeg、Poppler、wkhtmltopdf 和 Tectonic;并非纯 Python 包即可运行全部功能。
- PDF2PPT、Image2PPT 和 Image2Drawio 依赖 SAM3 分割服务,本地运行可能需要 NVIDIA GPU、模型资产和额外端口配置。
- 多数生成工作流需要外部文本或图像模型 API,因此会产生网络、凭据、服务可用性和潜在调用费用方面的依赖。
- Windows 原生环境不是首选部署路径,项目明确建议优先使用 Linux 或 WSL,且 CUDA 加速包在 Windows 上需要单独匹配版本。
- 线上 Studio / Nexus 是托管商业体验,完整实现未包含在该仓库中,自托管用户不能假定获得相同的 Spaces、Labs、Credits 或桌面端能力。
- 路线图显示部分功能尚未完全成熟,例如 Paper2PPT 为 70%、PPTPolish 为 60%、Paper2Video 为 40%,其中部分优化与资产功能仍标为进行中。
如何安装或部署这个 Agent?
推荐的自托管方式是 Docker:
- 运行
git clone https://github.com/OpenDCAI/Paper2Any.git,然后cd Paper2Any。 - 运行
cp fastapi_app/.env.simple.example fastapi_app/.env、cp frontend-workflow/.env.simple.example frontend-workflow/.env和cp deploy/docker.env.example deploy/docker.env。 - 在后端环境文件中设置
BACKEND_API_KEY、SIMPLE_TEXT_API_URL和SIMPLE_TEXT_API_KEY;如果需要图像生成,再设置SIMPLE_IMAGE_API_URL与SIMPLE_IMAGE_API_KEY。 - 在前端环境文件中令
VITE_API_KEY与BACKEND_API_KEY完全一致。 - 运行
bash deploy/docker-up.sh,访问http://localhost:3000,并通过http://localhost:8000/health检查后端。
Linux 手动安装可使用 conda create -n paper2any python=3.11 -y、conda activate paper2any、pip install -r requirements-base.txt、pip install -e . 和 pip install -r requirements-paper.txt。Ubuntu/Debian 还需安装 ffmpeg inkscape libreoffice poppler-utils wkhtmltopdf,并建议通过 Conda 安装 Tectonic。PDF2PPT、Image2PPT 和 Image2Drawio 还需配置外部 SAM3_SERVER_URLS,或运行 DOCKER_WITH_SAM3=1 bash deploy/docker-up.sh 启动可选的本地 SAM3 服务。
如何使用这个 Agent?
最短的 CLI 路径是先设置 export DF_API_URL=https://api.openai.com/v1、export DF_API_KEY=sk-xxx 和 export DF_MODEL=gpt-4o。生成 15 页论文演示稿可运行 python script/run_paper2ppt_cli.py --input paper.pdf --api-key sk-xxx --page-count 15;生成模型架构图可运行 python script/run_paper2figure_cli.py --input paper.pdf --graph-type model_arch --api-key sk-xxx。从 PDF 创建可编辑 PPT 可运行 python script/run_pdf2ppt_cli.py --input slides.pdf,若需 AI 增强则加上 --use-ai-edit --api-key sk-xxx。Web 用户启动服务后访问 http://localhost:3000,选择相应的 Paper2Figure、Paper2PPT、Drawio 或转换工作流并上传输入。需要图片分割的三项工作流必须先确保 SAM3 服务可用;ONLYOFFICE 在线编辑属于可选层,需要另行启动 ONLYOFFICE Document Server 并配置对应后端变量。
这个 Agent 与同类方案有什么区别?
相较于托管的 Paper to Any Studio / Nexus,本仓库提供可自行部署的开源 Paper2Any 代码、Web 前后端和 CLI,但不包含完整商业 Studio 实现。相比简单模式的统一文本与图像入口,高级 .env.example 模式允许针对不同工作流覆盖模型和服务商,代价是配置项更多。