Zotero-arXiv-Daily
综合介绍
Zotero-arXiv-Daily 是一个开源工具,旨在帮助科研人员自动发现感兴趣的最新论文。它通过分析用户Zotero文献库中的收藏,了解用户的研究兴趣,并以此为基础,每日从arXiv数据库中筛选出相关的最新论文。该工具会生成论文的简短摘要(TL;DR),并连同原文链接、作者单位、代码地址等信息,通过电子邮件发送给用户。整个流程完全自动化,部署在免费的GitHub Actions上,无需个人服务器或复杂的本地配置。用户只需将项目仓库(fork)到自己的GitHub账户,并进行简单的几步配置,即可拥有一个个性化的论文推荐系统。这个工具利用语言模型计算论文摘要的向量相似度,从而判断新论文与用户兴趣的匹配度,Zotero库中越新的文献权重越高,推荐结果也因此更贴近用户近期的研究方向。
功能列表
- 个性化论文推荐:根据Zotero文献库的内容,精准推荐用户可能感兴趣的arXiv新论文。
- 每日邮件推送:自动化地将推荐结果每日发送到指定邮箱,方便用户及时跟进最新研究。
- AI生成摘要:利用大语言模型(LLM)为每篇推荐的论文生成“一句话摘要”(TL;DR),帮助用户快速筛选和理解论文核心内容。
- 免费且易于部署:项目可作为GitHub Action工作流免费运行,只需复刻(fork)仓库并设置环境变量即可完成部署,无需服务器或本地安装。
- 信息全面:邮件内容不仅包含论文标题和摘要,还提供作者单位、PDF链接以及相关的代码实现链接(如果有)。
- 排序和筛选:推荐的论文列表根据与用户研究兴趣的相关性进行排序,并支持通过关键词过滤不需要的Zotero收藏。
- 高度可定制:用户可以自定义目标arXiv论文的类别,并选择不同的大语言模型API来生成摘要。
- 持续更新:项目处于活跃开发状态,用户可以通过简单配置,使其自动同步上游仓库的最新代码,无需手动更新。
使用帮助
zotero-arxiv-daily的设计目标是简化配置,让用户可以快速搭建起属于自己的个性化论文推荐服务。整个过程在GitHub上完成,无需编程知识。
第一步:复刻(Fork)项目仓库
- 打开浏览器,访问项目主页:
https://github.com/TideDr/zotero-arxiv-daily
- 点击页面右上角的 Fork 按钮,将该项目仓库复制到你自己的GitHub账户下。
- (可选)点击 Star 按钮支持该项目。
第二步:设置GitHub Action环境变量
这是最关键的一步,你需要提供一些密钥和配置信息,以便程序能够访问你的Zotero库并发送邮件。这些信息将作为仓库的加密Secrets
进行存储,确保安全。
- 在你刚刚复刻的仓库页面,点击上方的 Settings 标签。
- 在左侧菜单中,依次选择 Secrets and variables -> Actions。
- 点击绿色的 New repository secret 按钮,逐一添加以下必须的变量:
密钥 (Key) | 是否必须 | 描述 | 示例 |
---|---|---|---|
ZOTERO_ID |
✓ | 你的Zotero账户用户ID。这是一个数字串,可以在Zotero官网的Feeds/API页面找到。 | 12345678 |
ZOTERO_KEY |
✓ | Zotero API密钥,需要有读权限。你可以在Zotero官网的Feeds/API页面创建一个。 | AB5tZ877P2j7Sm2Mragq041H |
ARXIV_QUERY |
✓ | 你感兴趣的arXiv论文分类。多个分类用 + 连接。分类简称可以从arXiv官网查找。 |
cs.AI+cs.CV+cs.LG (人工智能、计算机视觉、机器学习) |
SMTP_SERVER |
✓ | 用于发送邮件的SMTP服务器地址。建议使用一个不常用的邮箱。 | smtp.qq.com |
SMTP_PORT |
✓ | SMTP服务器的端口。 | 465 |
SMTP_USERNAME |
✓ | 你的邮箱地址。 | your_email@qq.com |
SMTP_PASSWORD |
✓ | 你的邮箱SMTP服务的授权码或密码,注意:通常不是邮箱登录密码,而是需要单独生成的授权码。 | your_email_password_or_auth_code |
TARGET_EMAIL |
✓ | 接收推荐论文的邮箱地址。 | target_email@example.com |
第三步:启用并运行工作流(GitHub Actions)
- 在你复刻的仓库页面,点击顶部的 Actions 标签。
- 如果出现提示,点击 I understand my workflows, go ahead and enable them 按钮,启用工作流。
- 工作流
Send-emails-daily
会每天自动触发一次。如果你想立即测试是否配置成功,可以手动触发Test-Workflow
:- 在左侧工作流列表中点击 Test-Workflow。
- 在右侧会出现一个 Run workflow 的下拉按钮,点击它即可运行测试。测试工作流会查找5篇论文进行推荐,无论当天是否有新论文发布。
工作原理
程序运行时,会执行以下操作:
- 通过Zotero API获取你文献库中所有论文的摘要信息。
- 获取前一天在arXiv上发布的所有新论文。
- 使用一个嵌入模型(Embedding Model)计算每篇论文摘要的向量表示。
- 通过加权平均算法,计算每篇新论文与你Zotero库中所有论文的相似度得分。你最近添加到库中的论文会有更高的权重,从而使推荐结果更贴近你当下的研究兴趣。
- 对于得分最高的几篇论文,使用大语言模型(如
Qwen
或gpt-4o
)提取其标题、摘要、引言和结论,并生成一个简短的摘要(TL;DR)。 - 最后,将整理好的论文列表(包含标题、摘要、作者、PDF链接、代码链接等)格式化成一封邮件,并通过你配置的SMTP服务发送到指定邮箱。
应用场景
- 博士生与青年学者刚进入研究领域或需要广泛跟踪前沿动态的研究人员,可以利用该工具自动过滤海量新论文,只关注与自己研究方向最相关的内容,极大地节省了文献追踪的时间。
- 跨学科研究人员对于研究涉及多个领域的学者,可以方便地在
ARXIV_QUERY
中设置多个学科分类,系统会自动聚合相关领域的最新进展,并根据Zotero库中的文献进行个性化推荐,帮助研究者发现不同领域之间的潜在联系。 - 企业研发团队企业的研究团队需要快速跟进最新的技术成果。通过为团队配置一个共享的Zotero库,并部署该工具,可以为整个团队提供每日的技术动态简报,确保团队成员都能及时了解到可能影响产品研发方向的前沿技术。
QA
- 这个工具是免费的吗?是的,该工具完全免费。 它运行在GitHub Actions上,利用其为开源项目提供的免费计算配额,你无需支付任何服务器或计算费用。
- 我的Zotero API密钥和邮箱密码安全吗?是的,这些敏感信息被存储为GitHub仓库的加密
Secrets
。 这意味着一旦设置,包括你本人在内的任何人都无法再次查看这些信息,只有在GitHub Actions工作流运行时才能被程序调用,安全性很高。 - 为什么我收不到邮件?最常见的原因是SMTP配置错误。请检查
SMTP_SERVER
、SMTP_PORT
以及SMTP_PASSWORD
是否正确。特别是SMTP_PASSWORD
,许多邮箱(如QQ邮箱、Gmail)要求使用专门的“授权码”而非登录密码来进行SMTP认证。 - 推荐的论文不准怎么办?推荐的准确性依赖于你Zotero库的质量和数量。一个内容丰富且能反映你真实研究兴趣的文献库,会带来更精准的推荐。此外,该工具的推荐算法相对简单,可能会有偏差。 你可以通过在Zotero中添加更多相关论文来“训练”它。
- 周末是不是没有新论文推荐?是的,arXiv通常在工作日发布新论文,周末和节假日没有更新。因此,如果在这些天运行工作流,你可能会在日志中看到“No new papers found”的提示,这是正常现象。