Zotero-arXiv-Daily 完整指南:每天自动收到个性化 arXiv 论文推荐
【免费下载链接】zotero-arxiv-dailyRecommend new arxiv papers of your interest daily according to your Zotero libarary.项目地址: https://gitcode.com/GitHub_Trending/zo/zotero-arxiv-daily
每天手动刷 arXiv 新提交列表挑论文很耗时,静态搜索关键词也跟不上兴趣的变化。Zotero-arXiv-Daily 以你 Zotero 图书馆的内容作为研究兴趣画像,每天自动筛选出与你相关的 arXiv 新论文并推送到邮箱。全程依托 GitHub Actions 运行,零费用,也不需要你自己维护服务器。
背景与价值:它替你做了三件事
科研信息获取常见三个麻烦:
- 每天的新论文太多,热门分类动辄几十篇,人工筛选成本很高。
- 你关注什么,取决于你最近读什么。手动设定的关键词是静态的,而兴趣是动态的。
- 想自动化就得自己写脚本、部署定时任务,对只想收结果的人来说是额外负担。
这个项目的思路是:既然你的 Zotero 图书馆本身就记录了"你读过什么",那它天然就是最准确的兴趣画像。项目每天拉取你的图书馆、计算每篇新论文与你的相似程度,把相关度最高的那部分直接发到邮箱。你不需要写代码,也不需要跑任何服务,配置一次即可长期生效。
工作原理:从你的图书馆到你的邮箱
整个过程是一条单向流水线,每天自动执行一次。系统先通过 Zotero API 拉取你图书馆里所有带摘要的论文,按你配置的集合路径过滤出真正代表兴趣的部分;然后从 arXiv、bioRxiv、medRxiv 等你勾选的来源抓取前一日的新论文;接着用嵌入模型计算每篇新论文与你全部藏书的加权相似度——最近加入的论文权重更高,保证推荐跟着你的新方向走;最后由 LLM 为候选论文生成 TLDR 摘要和作者单位,渲染成 HTML 邮件通过 SMTP 发出。
快速上手:四步完成部署
第 1 步:获取仓库并 Fork 到账号下
部署依赖 GitHub Actions 工作流,所以需要把仓库 Fork 到你自己的账号下(顺手点个 Star)。如果你想在本地先跑一遍体验,可以用下面这条命令克隆代码:
git clone https://gitcode.com/GitHub_Trending/zo/zotero-arxiv-daily第 2 步:设置 GitHub Secrets
进入仓库 Settings → Secrets and variables → Actions,点 New repository secret,依次添加:ZOTERO_ID、ZOTERO_KEY、SENDER、SENDER_PASSWORD、RECEIVER、OPENAI_API_KEY、OPENAI_API_BASE。Secrets 设置后加密存储、任何人不可见,适合放密钥类信息。
第 3 步:设置 CUSTOM_CONFIG 变量
在同一页面的 Variables 选项卡中新建名为CUSTOM_CONFIG的变量,值填入 README 提供的 YAML 模板。模板里用${oc.env:XXX}语法引用上一步的 Secrets,这样密钥不用明文写进配置;其余项(邮箱服务器、论文来源、LLM 模型等)直接在 YAML 里填写。
第 4 步:手动触发测试工作流
打开 Actions 页面,选择Test-Workflow,点 Run workflow 手动运行。这个测试流是调试版本,无论日期都会固定抓取 5 篇 arXiv 论文,方便你端到端验证配置是否正确。运行完成后查看日志和收件箱即可。
正式工作流Send-emails-daily默认每天 22:00(UTC)自动运行,抓取前一天发布的新论文,无需任何手动操作。
关键配置详解:真正影响效果的参数
| 参数 | 含义 | 示例 |
|---|---|---|
ZOTERO_ID | Zotero 账号的用户 ID,是一串数字而非用户名 | 12345678 |
ZOTERO_KEY | 具有读取权限的 Zotero API 密钥 | AB5tZ877P2j7… |
SENDER/SENDER_PASSWORD | SMTP 发件账号及其授权码(不是登录密码) | abc@qq.com |
RECEIVER | 接收论文推荐邮件的地址 | abc@outlook.com |
source.arxiv.category | 订阅的 arXiv 分类缩写列表 | ["cs.AI","cs.CL"] |
executor.source | 启用的论文来源,可多源组合 | ['arxiv','biorxiv'] |
zotero.include_path | 只把指定集合下的论文计入兴趣画像 | ["2026/survey/**"] |
zotero.ignore_path | 排除指定集合下的论文 | ["**/misc/**"] |
executor.max_paper_num | 单次邮件最多推送的论文数 | 20 |
llm…model | 生成 TLDR 所用的 LLM 模型 | gpt-4o-mini |
其中ZOTERO_ID最容易填错:它不是注册用户名,而是 Zotero 官网 Applications 页面里那串数字 ID。
另外注意:Variables 与 Secrets 的展示方式不同,变量是明文可见的,所以一切密钥类内容都应放进 Secrets,配置类内容才放 Variables。
完整的配置项说明(包括 bioRxiv/medRxiv 分类、嵌入模型选择、语言设置等)可直接参考 默认配置模板 中的注释。
效果展示:推荐邮件长这样
每天到达你邮箱的是一封排版好的 HTML 邮件,按相关度排序。每篇论文包含:
- 标题与作者列表,以及解析出的作者单位
- 五星相关度评分,直观反映与你兴趣画像的贴合程度
- arXiv 编号,方便检索
- LLM 生成的 TLDR 摘要,扫一眼就知道论文核心
- PDF 和 Code 按钮,直达原文与代码仓库(如有)
进阶定制:可以深挖的模块入口
如果你对算法本身感兴趣,仓库结构相当清晰,几个主要扩展点:
- 检索器模块:已内置 arXiv、bioRxiv、medRxiv 三个来源,用
@register_retriever装饰器即可注册一个新来源。 - 重排模块:默认使用本地 sentence-transformers 嵌入模型,也可切换为嵌入 API 方式,二者实现了同一接口。
- 邮件构建模块:邮件 HTML 模板在这里渲染,改样式或加字段只需动这一个文件。
- 调度时间写在 .github/workflows/main.yml,默认每天 22:00(UTC),可按自己的习惯修改。
避坑提示:三条真实易错点
- ZOTERO_ID 填成用户名:工作流会直接查不到图书馆。去 Zotero 官网 Applications 页面复制那串数字 ID,密钥在同一页面创建并勾选读权限。
- SMTP 密码用了邮箱登录密码:QQ、Gmail 等邮箱的 SMTP 发信需要单独的授权码,用登录密码会静默发信失败。
- 周末日志显示 No new papers found:这是正常现象,arXiv 周末不更新,不是配置出错。想验证流程请手动运行 Test-Workflow,它固定抓 5 篇论文,任何时间都能测通。
两个补充建议:max_paper_num不要设得过高,论文太多加上 TLDR 生成会拖长运行时间,可能超出 Actions 的免费额度;fork 之后建议对上游仓库开启 Watch,新版本发布时及时把更新合并进你的分支,避免功能停更。
结语
配置完成后,"每天刷一遍 arXiv"这件事就从你的日程里消失了——图书馆里新增的每篇论文都会悄悄修正推荐口味,邮箱里到的只剩值得读的那几篇。剩下的时间,可以留给论文本身。
【免费下载链接】zotero-arxiv-dailyRecommend new arxiv papers of your interest daily according to your Zotero libarary.项目地址: https://gitcode.com/GitHub_Trending/zo/zotero-arxiv-daily
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考