什么时候用
先判断任务是否合适
- 每天需要追踪arXiv/bioRxiv/medRxiv最新论文但不想手动逐类目浏览时
- 希望论文推荐结果反映个人研究兴趣变化(Zotero库越新的文献权重越高)时
- 需要一个零成本的每日论文自动推送服务(部署在GitHub Actions免费额度上)时
先准备什么
材料越清楚,结果越有用
- •准备一个Zotero账号并在文献库中积累有摘要的论文条目(作为兴趣画像基础)
- •在Zotero中按研究领域建立集合目录,用于过滤兴趣范围
- •在GitHub仓库中配置Actions secrets(Zotero API密钥、SMTP邮箱授权码、OpenAI API密钥)
- •确定要追踪的arXiv分类代码(如cs.AI、q-bio.GN)和bioRxiv/medRxiv分类
它会怎样推进
从材料到可以检查的结果
- 01
拉取兴趣画像
从Zotero拉取有摘要的论文作为个人兴趣语料库,按集合路径glob过滤
- 02
抓取昨日新论文
从arXiv RSS/bioRxiv/medRxiv API抓取昨日新论文,构造候选列表
- 03
相似度加权排序
用embedding计算候选与兴趣语料的cosine相似度,按时间对数衰减加权求和排序
- 04
生成一句话总结
LLM为每篇推荐论文生成TLDR和作者机构,失败时降级为abstract原文
- 05
渲染并推送邮件
渲染HTML邮件,通过SMTP发送给订阅者,GitHub Actions cron每日自动触发
第一次这样开始
把仓库地址直接交给 AI
先让 AI 说明环境和风险,再完成最小安装验证。跑通以后,再把自己的真实材料放进去。
第一次直接复制
帮我安装这个库:https://github.com/TideDra/zotero-arxiv-daily 安装前先告诉我需要什么环境,安装后帮我跑通一个最小示例。
结果出来后
先看这些检查点
- 检查每日推荐的论文标题和摘要是否与研究兴趣匹配(抽查前10篇)
- 检查TLDR总结是否准确概括论文核心贡献而非仅复述标题
- 观察连续多日结果,判断排序是否合理反映兴趣变化,新加入Zotero的论文是否拉高了相关推荐
- 检查Zotero集合路径过滤是否准确,corpus是否覆盖了所有关注领域且未被无关条目污染
常见误区
这些判断仍由你负责
- 把它当作完整文献综述工具(它只看摘要embedding相似度,不评估论文质量、引用数或撤稿状态)
- 忘记配置Zotero集合路径过滤或glob模式写错(corpus为空时工具直接停止整轮,不发送任何邮件)
- 用邮箱登录密码而非SMTP授权码配置GitHub Secrets(会导致login失败)
- 将AGPL-3.0许可的工具代码直接集成到闭源或SaaS项目中(强copyleft传染条款要求衍生代码开源)
技术依据
查看能力拆解、验证范围与来源
技术依据
查看能力拆解、验证范围与来源
- 01
embedding相似度排序
把 Zotero 文献库作为用户兴趣画像,对新抓取的候选论文按 embedding 相似度排序。排序分 = 候选摘要与每篇 Zotero 论文摘要的 cosine 相似度的加权和,权重按 Zotero 论文加入时间做对数时间衰减(越新权重越高)。排序后截断到 maxpapernum。
- 02
多源论文抓取与候选构造
把用户配置的 arXiv / bioRxiv / medRxiv 类别和昨日时间窗口,转换成统一的 Paper 候选对象列表。每个候选带标题、作者、摘要、URL、PDF URL 和可选全文。arXiv 还会尝试下载 LaTeX 源码 tar、HTML 版或 PDF,提取全文供后续机构抽取使用。
- 03
邮件渲染与每日推送
把排好序的候选论文列表(含 LLM 生成的 TLDR 和机构)渲染成 HTML 邮件,通过 SMTP 发送给订阅者。配合 GitHub Actions cron 每日自动触发。无论文时根据 sendempty 决定是否发送空邮件。
| 能力 | 主要输入 | 主要输出 | 人工检查 |
|---|---|---|---|
embedding相似度排序源码已核对 |
|
|
|
多源论文抓取与候选构造源码已核对 |
|
|
|
邮件渲染与每日推送源码已核对 |
|
|
|
处理机制
- 01
embedding相似度时间衰减排序骨架
这个横向机制解释 zotero-arxiv-daily 抓取、排序和交付三张能力卡之间的共同骨架:整个仓的核心是"用个人 Zotero 文献库的摘要 embedding 作为兴趣画像,对新论文摘要做 cosine 相似度,再按文献库加入时间做对数衰减加权求和,得到推荐分"。这个 embedding 相似度 + 时间衰减加权链路决定了候选如何变成排序结果,也决定了下游邮件内容和 LLM 成本。
已核对范围
- 读取 README 中排序算法说明(加权平均相似度 + 新论文权重更高)
- 读取 reranker/base.py 的 rerank 和时间衰减加权公式
- 读取 reranker/local.py 和 reranker/api.py 的 embedding 实现
- 读取 executor.py 中 fetchzoterocorpus、filtercorpus 和 rerank 调用链
- 读取 tests/reranker 下 testbasereranker、testlocalreranker、testapireranker
- 读取 README 中多源抓取、RSS 入口和 category 配置说明
- 读取 arxivretriever / biorxivretriever / medrxivretriever 的抓取、解析和 Paper 对象构造路径
- 读取 retriever/base.py 的注册器和 converttopaper 抽象
仍待核对
- 未真实加载 embedding 模型
- 未验证时间衰减权重在真实 Zotero 库上的排序效果
- 未验证 maxpapernum 截断对推荐质量的影响
- 未真实请求 arXiv RSS / arXiv API / bioRxiv / medRxiv
- 未验证 LaTeX tar 解析在当前 arXiv 源码格式下的成功率
- 未验证 PDF 提取在真实论文上的稳定性
- 未真实发送邮件
- 未真实调用 LLM 生成 TLDR 和机构
读取版本
05b20ec5c14ef82f8634c21a0876acd40e02c2b2许可
AGPL-3.0
最近核对
内容 2026-07-10
Stars 2026-07-11
相关文章
具备相关能力的其他库
相关课程
把单项工具放进完整研究设计流程
课程一从研究问题、文献判断、理论假设和方法骨架继续推进,帮助你建立可以复用的研究设计档案。