🚀 Auto Paper Digest (APD): 自动AI论文解读与发布系统
摘要
Auto Paper Digest (APD) 是一个一站式AI论文自动化处理平台,能够自动抓取前沿AI论文、生成视频讲解、并发布到HuggingFace和抖音等平台,让科研成果更广泛地传播。
功能亮点
📚 论文获取
APD能够自动抓取Hugging Face每周热门AI论文,支持通过周URL进行精准获取。系统会自动解析论文信息,包括标题、作者、摘要等关键内容,为后续处理提供基础数据。
📄 PDF下载
从arXiv下载论文PDF文件时,系统采用了幂等操作和SHA256校验机制,确保文件下载的完整性和准确性。已下载的论文会自动进行缓存,避免重复下载相同文件,提高处理效率。
🎬 视频生成
通过NotebookLM平台,APD能够自动生成论文的视频讲解。系统会将论文内容转化为适合视频呈现的形式,包括语音解说、字幕展示等,让复杂的学术内容变得更加通俗易懂。
📤 自动发布
生成的视频可以自动上传到HuggingFace Dataset,方便用户在平台上进行分享和传播。系统会自动更新metadata.json文件,确保视频信息的准确性和完整性。
📱 抖音发布
APD还支持将视频自动发布到抖音创作者平台。用户只需完成一次登录,系统就会持久化保存登录状态,后续发布无需重复登录。发布过程中,系统会自动填写视频标题、添加话题标签等信息,简化发布流程。
🌐 门户网站
通过Gradio门户网站,用户可以在线播放生成的视频。门户网站提供了友好的用户界面,支持按周、按日等多种方式浏览和搜索视频内容,让用户能够快速找到自己感兴趣的论文解读。
💾 断点续传
系统采用SQLite数据库进行状态追踪,支持断点续传功能。即使在处理过程中出现中断,用户也可以在后续继续完成未处理的论文,避免重复劳动。
🔐 登录复用
Google和抖音的登录状态会被持久化保存,用户只需完成一次登录,后续使用无需重复登录。这不仅提高了使用效率,还减少了用户的操作负担。
架构设计
APD的架构设计分为三个主要阶段:上传、下载和发布。系统通过SQLite数据库进行状态管理,确保各个阶段的协同工作。
┌─────────────────────────────────────────────────────────────────────┐
│ Auto Paper Digest │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ Phase 1: Upload Phase 2: Download Phase 3: Publish │
│ ┌─────────┐ ┌─────────┐ ┌─────────────┐ ┌──────────────┐ │
│ │ HF │───▶│ arXiv │───▶│ NotebookLM │───▶│ HuggingFace │ │
│ │ Papers │ │ PDFs │ │ Videos │ │ Dataset │ │
│ └─────────┘ └─────────┘ └─────────────┘ └──────────────┘ │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ SQLite Database │ │
│ │ (status: NEW → PDF_OK → NBLM_OK → VIDEO_OK) │ │
│ └─────────────────────────────────────────────────────────────┘ │
│ │ │
│ ┌───────────────┼───────────────┐ │
│ ▼ ▼ ▼ │
│ ┌─────────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Portal Website │ │ Douyin │ │ Other │ │
│ │ (HF Spaces) │ │ Creator │ │ Platforms │ │
│ └─────────────────┘ └─────────────┘ └─────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────┘
快速开始
1. 安装
# 克隆仓库
git clone https://github.com/brianxiadong/auto-paper-digest.git
cd auto-paper-digest
# 安装依赖
pip install -e .
# 安装浏览器
playwright install chromium
2. 配置环境变量
# 复制配置模板
cp .env.example .env
# 编辑 .env 填入 HuggingFace 配置
# HF_TOKEN=hf_xxx
# HF_USERNAME=your-username
# HF_DATASET_NAME=paper-digest-videos
3. 首次登录 Google
apd login
浏览器会打开NotebookLM登录页面,完成Google登录后,会话将被保存。这样后续使用时就无需重复登录,提高使用效率。
三阶段工作流
Phase 1: 上传并触发视频生成
apd upload --week 2026-01 --headful --max 10
该命令会执行以下操作:
-
获取HuggingFace本周论文(使用 /week/YYYY-WXXURL) -
下载arXiv PDF(支持缓存,已下载的跳过) -
上传到NotebookLM -
触发视频生成(不等待完成)
Phase 2: 下载生成的视频
等待几分钟后(视频生成需要时间),运行以下命令:
apd download-video --week 2026-01 --headful
系统支持缓存功能,已下载的视频会自动跳过。如果需要重新下载,可以使用 --force 参数强制重新下载。
Phase 3: 发布到HuggingFace
apd publish --week 2026-01
该命令会执行以下操作:
-
上传视频到HuggingFace Dataset -
更新metadata.json -
生成Markdown摘要
Phase 3b: 发布到抖音(可选)
首次使用需要先登录抖音:
apd douyin-login
浏览器会打开抖音创作者中心登录页面,使用抖音APP扫码登录后,登录状态将被保存。后续发布视频时无需重复登录。
然后发布视频到抖音:
apd publish-douyin --week 2026-01 --headful
该命令会执行以下操作:
-
自动上传视频到抖音创作者平台 -
填写视频标题(论文标题) -
添加话题标签(AI、论文解读等) -
自动点击发布
首次使用建议添加 --headful 参数观察发布过程,确认无误后可去掉该参数。这样可以确保发布过程的顺利进行,避免出现意外情况。
按日处理(可选)
除了按周处理外,APD还支持按日期处理论文:
# 获取指定日期的论文
apd fetch --date 2026-01-08 --max 10
# 上传并生成视频
apd upload --date 2026-01-08 --headful --max 10
# 下载视频
apd download-video --date 2026-01-08 --headful
# 发布到抖音
apd publish-douyin --date 2026-01-08 --headful
需要注意的是,周末和节假日通常没有新的论文发布,系统会提示错误而非继续处理。这可以避免不必要的资源浪费,提高系统的运行效率。
文件夹结构
按日和按周的数据分开存放,方便用户进行管理和查找:
-
data/pdfs/weekly/2026-01/– 按周处理的PDF -
data/pdfs/daily/2026-01-08/– 按日处理的PDF -
data/videos/weekly/2026-01/– 按周处理的视频 -
data/videos/daily/2026-01-08/– 按日处理的视频
🌐 门户网站
视频发布后,可在HuggingFace Spaces门户网站直接观看:
https://huggingface.co/spaces/your-username/paper-digest
门户网站提供了友好的用户界面,支持按周、按日等多种方式浏览和搜索视频内容,让用户能够快速找到自己感兴趣的论文解读。
命令大全
常用参数
--week, -w 指定周ID(如2026-01),默认当前周
--max, -m 最大论文数量
--headful 显示浏览器窗口(调试时使用)
--force, -f 强制重新处理(忽略缓存)
--debug 开启调试日志
目录结构
auto-paper-digest/
├── apd/ # 主程序包
│ ├── cli.py # 命令行入口
│ ├── config.py # 配置常量
│ ├── db.py # SQLite数据库
│ ├── hf_fetcher.py # HF论文抓取(支持周URL)
│ ├── pdf_downloader.py # PDF下载器
│ ├── nblm_bot.py # NotebookLM自动化
│ ├── douyin_bot.py # 抖音创作者平台自动化
│ ├── publisher.py # HuggingFace发布
│ ├── digest.py # 周报生成
│ └── utils.py # 工具函数
├── portal/ # HuggingFace Spaces门户
│ ├── app.py # Gradio应用
│ ├── requirements.txt
│ └── README.md
├── data/
│ ├── apd.db # SQLite数据库
│ ├── .douyin_auth.json # 抖音登录状态
│ ├── pdfs/ # 下载的PDF(按周分目录)
│ ├── videos/ # 生成的视频(按周分目录)
│ ├── digests/ # 周报文件
│ └── profiles/ # 浏览器配置(含登录态)
├── .env.example # 环境变量模板
└── pyproject.toml
缓存机制
PDF缓存
已下载的PDF通过SHA256校验,确保文件的完整性和准确性。相同文件会自动跳过下载,避免重复劳动,提高处理效率。
视频缓存
使用文件名前缀匹配({paper_id}_*.mp4),支持新的命名格式:{paper_id}_{video_title}.mp4。如果需要重新下载视频,可以使用 --force 参数强制重新下载。
发布缓存
metadata.json中记录已发布的论文,重复发布时会自动跳过,避免重复发布相同内容,提高发布效率。
状态追踪
NEW → PDF_OK → NBLM_OK → VIDEO_OK
│ │
└──────── ERROR ◄──────────┘
查看状态:
apd status --week 2026-01
apd status --week 2026-01 --status ERROR
故障排除
登录问题
如果遇到登录问题,可以重新运行以下命令:
apd login
NotebookLM界面变化
如果NotebookLM界面发生变化,可以查看截图:
ls data/profiles/screenshots/
视频未生成
视频生成需要一定的时间,如果视频未生成,可以等待几分钟后重试:
apd download-video --week 2026-01 --headful
HuggingFace Token问题
确保 .env 文件配置正确:
cat .env
# 检查HF_TOKEN和HF_USERNAME
技术栈
-
Python 3.11+ – 核心语言 -
Playwright – 浏览器自动化 -
SQLite – 状态持久化 -
Click – CLI框架 -
Requests + BeautifulSoup – 网页抓取 -
huggingface_hub – HF API -
Gradio – 门户网站 -
python-dotenv – 环境变量管理

