Zotero-arXiv-Daily是一个开源工具,旨在帮助研究人员通过GitHub Actions自动获取与Zotero文献库相关的arXiv论文推荐。用户只需在GitHub上fork该项目,配置Zotero API密钥和邮箱服务,即可每天收到符合研究兴趣的新论文列表。工具通过分析Zotero库中的文献,利用AI生成论文摘要(TL;DR),并按相关性排序推荐结果,发送至用户邮箱。该项目免费运行在GitHub Actions的公共仓库配额内,无需额外安装软件,适合需要跟踪学术前沿的研究者。
功能列表
- 自动从arXiv获取新论文,并根据用户Zotero库内容推荐相关论文。
- 使用AI生成每篇论文的简短摘要(TL;DR),方便快速筛选。
- 支持自定义arXiv论文类别,如AI、计算机视觉、自然语言处理等。
- 通过GitHub Actions每日自动运行,发送推荐论文到用户邮箱。
- 支持从medRxiv获取医学领域论文(需配置相关环境变量)。
- 提供调试模式(Test-Workflow),可随时检索固定数量的论文。
- 推荐结果按相关性排序,考虑Zotero库中论文的添加时间。
- 支持过滤不需要的Zotero文献集合,避免无关推荐。
使用帮助
安装与配置
Zotero-arXiv-Daily通过GitHub Actions运行,无需本地安装软件。以下是详细配置流程:
- Fork仓库
访问https://github.com/TideDr/zotero-arxiv-daily
,点击右上角的“Fork”按钮,将仓库复制到你的GitHub账户。Fork后,仓库会以<你的用户名>/zotero-arxiv-daily
形式存在。 - 获取Zotero API密钥
- 登录Zotero官网(
https://www.zotero.org
),进入“设置”页面。 - 在“API密钥”部分,生成一个新的API密钥,确保具有读取权限。
- 复制生成的密钥,保存以备后用。
- 登录Zotero官网(
- 配置GitHub Actions环境变量
- 进入你的Fork仓库,点击“Settings” > “Secrets and variables” > “Actions” > “New repository secret”。
- 添加以下环境变量:
ZOTERO_USER_ID
:你的Zotero用户ID,可在Zotero设置中找到。ZOTERO_API_KEY
:上一步生成的Zotero API密钥。ARXIV_QUERY
:目标arXiv论文类别,用“+”连接,例如cs.AI+cs.CV+cs.NLP
(参考arXiv官网的类别缩写)。SMTP_SERVER
:邮箱SMTP服务器地址(如Gmail为smtp.gmail.com
)。SMTP_PORT
:SMTP端口号(如Gmail为587
或465
)。SENDER_EMAIL
:发送邮件的邮箱地址。SENDER_PASSWORD
:邮箱SMTP服务的认证密码(注意:Gmail需使用“应用专用密码”)。RECEIVER_EMAIL
:接收推荐结果的邮箱地址。MAX_PAPER_NUM
:每次推荐的最大论文数量(建议设为5-10,生成TL;DR耗时较长)。- 可选:
MEDRXIV_DAYS
和MEDRXIV_SUBJECTS
,用于启用medRxiv论文推荐。
- 保存所有变量。
- 启用GitHub Actions
- 进入Fork仓库的“Actions”标签,启用工作流。
- 默认情况下,主分支(
main
)的工作流Send-emails-daily
每天自动运行,检索前一天发布的新论文。 - 可手动触发
Test-Workflow
调试,获取固定5篇论文的推荐。
- 检查日志
- 在“Actions”标签查看工作流运行日志。如果周末或节假日无新论文,日志可能显示“No new papers found”。
主要功能操作
- 每日论文推荐
工具每天从arXiv的Atom feed获取新论文,基于Zotero库中的文献摘要,使用SentenceTransformer模型(默认avsolatorio/GIST-small-Embedding-v0
)计算相关性。推荐结果按分数排序,包含论文标题、作者、摘要、AI生成的TL;DR和下载链接,发送到配置的邮箱。邮件内容以HTML格式组织,清晰展示每篇论文的信息。 - AI生成TL;DR
每篇论文的TL;DR由大型语言模型生成,约需70秒/篇。用户可通过MAX_PAPER_NUM
控制推荐数量,避免运行超时。TL;DR简洁概括论文核心内容,帮助用户快速判断是否需要深入阅读。 - 支持medRxiv
通过设置MEDRXIV_DAYS
(如7
表示过去7天)和MEDRXIV_SUBJECTS
(如Clinical Research
),工具可从medRxiv获取医学论文。推荐结果在邮件中按来源分组(arXiv和medRxiv),便于阅读。 - 调试模式
Test-Workflow
允许用户随时运行工作流,检索5篇固定论文,用于测试配置是否正确。运行结果同样发送到邮箱,日志可在GitHub Actions查看。
注意事项
- 确保Zotero库中有足够多的论文(特别是包含摘要的论文),以提高推荐准确性。
- SMTP配置需准确,建议使用不常使用的邮箱账户,避免安全问题。
- 定期检查Fork仓库,合并上游更新(
TideDra/zotero-arxiv-daily
),以获取新功能和修复。 - GitHub Actions公共仓库有运行时长限制,推荐设置较小的
MAX_PAPER_NUM
(如5)以确保任务完成。
应用场景
- 学术研究者跟踪领域动态
研究人员可通过工具每天接收与自己研究方向(如AI、物理学)相关的新论文推荐,节省手动浏览arXiv的时间,快速了解最新研究进展。 - 学生准备文献综述
研究生可利用工具收集相关领域的最新论文,结合AI生成的TL;DR快速筛选有价值的文献,辅助论文写作和综述准备。 - 跨学科研究者扩展阅读
跨学科研究者可配置多个arXiv类别(如cs.AI+physics.astro-ph
),获取不同领域的推荐论文,拓宽研究视野。 - 医学研究者关注medRxiv
医学领域研究者可启用medRxiv支持,获取临床研究或公共卫生相关论文,及时掌握医学前沿动态。
QA
- 如何确保推荐的论文与我的研究兴趣相关?
工具通过分析Zotero库中论文的摘要,结合SentenceTransformer模型计算新论文的相关性。确保Zotero库中包含与研究方向相关的论文,并定期清理无关文献以提高推荐准确性。 - 为什么周末没有收到邮件?
arXiv在周末和节假日通常不发布新论文,日志可能显示“No new papers found”。这是正常现象,工作日会恢复推荐。 - 如何添加medRxiv支持?
在GitHub Actions环境变量中设置MEDRXIV_DAYS
(如7
)和MEDRXIV_SUBJECTS
(如Epidemiology
),即可启用medRxiv论文推荐。邮件会将arXiv和medRxiv论文分开展示。 - 运行时间过长怎么办?
生成TL;DR耗时较长,建议将MAX_PAPER_NUM
设为5-10。若仍超时,可尝试降低论文数量或使用dev
分支的优化版本。 - 如何更新仓库以获取新功能?
定期访问https://github.com/TideDr/zotero-arxiv-daily
,检查更新。若有新功能,合并上游仓库到你的Fork仓库,具体操作可参考GitHub文档。