最近刷到一个挺有意思的开源项目,我自己配置后体验了一段时间,最大的感受就是:每天检索论文这件事,终于不用全靠手动完成了。
以前找新论文,我通常要打开 arXiv,按研究方向搜索,再从一大片英文标题和摘要里慢慢筛选。论文少的时候还好,碰上更新比较多的日期,光判断哪些值得看,就要花掉不少时间。
这次用到的工具,体验就轻松很多。
它会根据 Zotero 里已经收藏的论文,判断我最近在关注什么方向,再从当天的新论文中筛选相关内容。筛选完成后,AI 会自动生成中文摘要,并把论文标题、相关度、摘要和原文链接发送到邮箱。
现在我早上打开邮箱,简单刷几分钟,就能看到当天比较感兴趣的文献。值得深入读的,再点开原文;暂时不相关的,直接略过。
不用每天反复搜索,也不用先面对大片英文摘要,确实节省了不少时间。
这个项目叫做 Zotero-arXiv-Daily。
它不需要自己购买服务器,部署在 GitHub Actions 上就能每天自动运行。接下来,我会简单介绍它的功能和配置流程。
完整配置涉及获取 Zotero API、邮箱 SMTP、模型接口和配置 GitHub Secrets,我已经把获取方式、详细图文教程和可直接复制的配置模板整理进资料包。需要完整资料的读者,可以在公众号后台回复:[B805]。
把 Zotero 变成个人论文推荐系统
这套方案的核心思路,其实很简单:
程序会读取 Zotero 中的论文标题和摘要,再获取 arXiv 等平台当天发布的新论文,计算两者之间的相关度,并按照分数从高到低排序。
最后发送到邮箱的内容,一般包括:
-
• 论文标题; -
• 作者信息; -
• 相关度分数; -
• AI 生成的中文 TL;DR; -
• 论文页面和 PDF 链接。
下图就是这个项目发送到邮箱中的内容:
它比较吸引我的地方,主要有两点。
第一,推荐依据来自你自己的 Zotero 文献库。
如果你最近收藏的大语言模型论文比较多,系统就会更关注这个方向;后续研究重点改变,推荐结果也会跟着变化。
第二,整个流程可以每天自动运行。
部署完成后,不需要一直开着电脑,也不用自己维护服务器。GitHub Actions 会按设定时间自动执行任务。
了解完它的工作方式,下面就进入实际配置。
需求工具
整套方案需要准备四类工具。
-
1. Zotero:保存论文,并作为判断研究兴趣的依据。 -
2. GitHub:保存项目,并通过 GitHub Actions 自动运行。 -
3. 邮箱:用于发送论文推荐,通常需要 SMTP 授权码或应用专用密码。 -
4. 大模型 API:用于生成中文 TL;DR,只要兼容 OpenAI Chat Completions 接口即可。
工具看起来不少,但实际配置并不复杂,而且大部分操作在网页上就可以完成。
配置步骤
Fork 项目并启用 Actions
-
1. 打开 Zotero-arXiv-Daily 的 GitHub 页面,点击右上角的 Fork,把项目复制到自己的 GitHub 账号下。
-
2. Fork 完成后,进入自己的仓库,再打开 Actions 页面。如果 GitHub 提示工作流尚未启用,点击启用即可。
-
3. 启用后就可以看到如下界面:
这里主要会看到两个任务:
-
• Test:用于手动测试; -
• Send emails daily:用于每天自动运行。
获取 Zotero API 信息
接下来要登录 Zotero 网页版,进入 Settings - Secuity 页面,获取两项信息:
-
• Zotero User ID -
• Zotero API Key
-
1. 下图中箭头所指内容会有一串数字,这个数字就是 Zotero User ID。
-
2. 接下来创建 Zotero API Key,点击图中的 Create new private key,按照下图勾选:
注意:及时保存 Zotero User ID 和 Zotero API Key; 另外建议检查 Zotero 中的论文是否有摘要字段,没有摘要的条目通常不会参与推荐。
准备邮箱接口
邮箱部分需要准备,我这里用到是 QQ 邮箱:
-
• 发件邮箱 -
• 收件邮箱(可与发件邮箱一致) -
• SMTP 授权码
-
1. 登录网页版 qq 邮箱,点击左上角 设置,再选择左侧账号与安全-安全设置-开启服务
-
2. 开启后就可以获得授权码,注意保存
准备模型 API
模型部分则需要准备如下内容,我这里以 DeepSeek 为例:
-
• API Key -
• API Base -
• 模型名称
-
1. 如下图新建 API Key
-
2. API Base 通常类似: https://服务商域名,下图是 DeepSeek 的,模型名称也在图中。
模型名称一定要使用服务商实际提供的模型 ID,不能随意填写“ChatGPT”或“DeepSeek”。
填写 GitHub Secrets
-
1. 打开 Github,进入项目: Settings → Secrets and variables → Actions → Secrets
-
2. 创建以下 7 个 Secrets,逐个填入我们刚才获取的内容:
ZOTERO_ID
ZOTERO_KEY
SENDER
RECEIVER
SENDER_PASSWORD
OPENAI_API_KEY
OPENAI_API_BASE
注意:这些内容包含账号和密钥,必须放在 Secrets 中,不要写进代码或公开配置。
添加 CUSTOM_CONFIG
-
1. 同样在配置 Secrets 的页面,接着切换到 Variables 页面,创建: CUSTOM_CONFIG
-
2. 这个配置主要用来设置:
-
• Zotero 信息:User ID、API Key; -
• 邮箱信息:首发邮箱、SMTP; -
• 模型信息:API Key、API Base、model name; -
• 检索信息:检索源、类别、数量。
这部分配置较长,我已经在资料包中整理了。私信回复[B805],小助理会发给你。拿到资料后,只需要替换模型名称和检索类别即可直接使用。
运行测试
-
1. 配置完成后,进入: Actions → Test → Run workflow -
2. 选择 main分支并运行。
-
3. 程序会依次完成: -
1. 读取 Zotero 文献 -
2. 获取当天新论文 -
3. 计算相关度 -
4. 生成中文摘要 -
5. 发送测试邮件
-
4. 运行日志中出现: Email sent successfully,一般就说明任务已经配置成功。接下来就可以在邮箱中查收文献啦。
-
5. 回到 DeepSeek 中可以看到这次任务的消耗,可以看到这套流程开销很小。
-
6. 测试成功后,可以按照下图设定每天自动运行。当前项目设定的是每天 22:00 UTC运行,也就是北京时间06:00。
-
7. 这是第二天我邮箱里自动收到的内容~优雅看报
总结
整体体验下来,这套方案相当于把 Zotero 从一个“论文整理工具”,升级成了一个个人论文推荐系统。它可以根据自己的 Zotero 文献判断研究兴趣,自动追踪 arXiv、bioRxiv 和 medRxiv 新论文。
相比普通关键词订阅,它最大的优势是:推荐依据来自你真实保存和阅读的论文,而不是几个固定关键词。
当然,推荐质量也和 Zotero 文献库有关。文献主题越集中、摘要越完整,结果通常越准确。
为了方便大家直接部署,我已经整理好了:
-
• 零基础图文教程; -
• 可复制的 CUSTOM_CONFIG; -
• QQ 邮箱和 Gmail 配置模板; -
• 限定项目检索 Zotero 文件夹范围方法;
需要完整资料包的读者,可以在公众号后台回复:[B805]。

