你都用Github Action做出过哪些骚操作?
作者:雨似浮夸
链接:https://www.zhihu.com/question/9592632820/answer/1943391734638805897
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
⚙️ 核心配置(
链接:https://www.zhihu.com/question/9592632820/answer/1943391734638805897
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
开源项目地址:Arxiv-tracker
https://github.com/colorfulandcjy0806/Arxiv-tracker
在做读论文日报/周报吗?我做了一个轻量工具,每天自动从 arXiv 抓取目标主题论文,LLM 生成中英文总结,发邮件到你的收件箱,同时自动生成 GitHub Pages 网页归档。整个流程由 GitHub Actions 定时执行,几乎零运维。本项目参考了网络众多项目制作,感谢开源社区!
✨ 能力概览
- 多学科/多关键词检索:
cs.CV / cs.LG / cs.AI
等 + 关键词(AND/OR 组合) - 双语总结:LLM 直接生成 英文一段 + 中文一段(动机/方法/实验结果)
- 邮件日报:QQ 邮箱 SMTP,支持多收件人
- 网页归档:自动生成美观 HTML(历史归档/折叠/展开)
- 去重与“时间窗”:只看近 N 天,且跨天去重(
.state/seen.json
) - ✅ 防重复发信:工作流/进程/快照三级保护
- 多家模型接入:统一 OpenAI 兼容接口(DeepSeek / SiliconFlow 等)
网页效果

邮件效果

三步快速使用(零服务器)
1. Fork 仓库
https://github.com/colorfulandcjy0806/Arxiv-tracker → Fork
2. 配置 Secrets / Variables(Settings → Secrets and variables → Actions)
-
- Secrets
SMTP_PASS
:QQ 邮箱 SMTP 授权码(不是登录密码)OPENAI_COMPAT_API_KEY
:你的 LLM Key(DeepSeek 或 SiliconFlow 等)
- Variables(也可放到 Secrets)
EMAIL_TO
:收件人(多个用,
或;
)EMAIL_SENDER
:发件人邮箱(通常 = SMTP 用户)SMTP_USER
:SMTP 登录名(通常 = 发件人邮箱)
- Secrets
3. 开启 Pages & 定时任务
-
- Settings → Pages:Source 选 Deploy from a branch,分支
main
,文件夹/docs
.github/workflows/digest.yml
默认每天 北京时间 03:00 运行- 也可在 Actions → Run workflow 手动触发(支持手动“是否发送邮件”开关)
- Settings → Pages:Source 选 Deploy from a branch,分支
⚙️ 核心配置(config.yaml
)
categories: ["cs.CV", "cs.LG", "cs.AI"]
keywords:
- "open vocabulary segmentation"
- "vision-language segmentation"
- "vision language model"
- "vision-language grounding"
- "open-vocabulary detection"
- "training-free"
logic: "AND" # categories 与 keywords 的组合逻辑:AND / OR
max_results: 100
sort_by: "lastUpdatedDate" #还可以是submittedDate 建议改成lastUpdatedDate按更新时间排,能捞到v2/v3的“新增”
sort_order: "descending"
lang: "both" # zh / en / both
summary:
mode: "llm" # none / heuristic / llm
scope: "both"
translate:
enabled: true
lang: "zh"
fields: ["title", "summary"]
llm: # 统一 OpenAI 兼容:DeepSeek / SiliconFlow 均可
base_url: "https://api.deepseek.com" # 或 "https://api.siliconflow.cn"
model: "deepseek-chat" # 如用 SiliconFlow 可换 "Qwen/Qwen3-8B" 等
api_key_env: "OPENAI_COMPAT_API_KEY"
system_prompt_en: |
You are a senior paper-reading assistant. Based on the given metadata and abstract,
write ONE concise paragraph in English that covers: research motivation, main method,
and key experimental findings. Be objective and specific; avoid marketing language.
system_prompt_zh: |
你是资深论文阅读助手。基于给定的论文元信息与摘要,用中文写「一段」简洁的总结,
包含研究动机、核心方法与关键实验结果。保持客观、术语准确,避免营销式表述。
email:
enabled: true
smtp_server: "smtp.qq.com"
smtp_port: 465
tls: "ssl"
detail: "full"
max_items: 10
attach_md: true
attach_pdf: false
site:
enabled: true
dir: "docs"
title: "arXiv 论文速递"
keep_runs: 1024
theme: "light"
accent: "#2563eb"
freshness:
since_days: 3 # 只看近 N 天;空可临时调大为 7
unique_only: true # 跨天去重(.state/seen.json)
state_path: ".state/seen.json"
fallback_when_empty: false
小贴士
关键词太“窄”时可用logic: "OR"
放宽;
since_days
决定“新增”的时间窗;
401/超时:多为 密钥/基地址/模型名 不匹配或网络不稳定。
本地也能跑(Windows / Mac / Linux)
Windows PowerShell
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -r requirements.txt
$env:OPENAI_COMPAT_API_KEY="你的LLM密钥"
$env:EMAIL_TO="[email protected]"
$env:EMAIL_SENDER="[email protected]"
$env:SMTP_USER="[email protected]"
$env:SMTP_PASS="你的QQ SMTP授权码"
python -m arxiv_tracker.cli run --config config.yaml --site-dir docs --verbose
macOS / Linux
python -m venv .venv && source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txt
export OPENAI_COMPAT_API_KEY="你的LLM密钥"
export EMAIL_TO="[email protected]"
export EMAIL_SENDER="[email protected]"
export SMTP_USER="[email protected]"
export SMTP_PASS="你的QQ SMTP授权码"
python -m arxiv_tracker.cli run --config config.yaml --site-dir docs --verbose
更新日志(News)
- 2025-08-25
- 新增 去重/时间窗:支持近 N 天过滤与跨天去重(
.state/seen.json
) - 新增 OpenAI 兼容 LLM:除 DeepSeek 外,已支持 SiliconFlow 等
- 修复 重复发邮件的问题:加入工作流/进程/快照三级防重
- 新增 去重/时间窗:支持近 N 天过滤与跨天去重(
- 2025-08-22
- 发布 初版:自动检索 + 双语总结 + 邮件推送 + 网页归档
❓常见问题
- 没有新论文?
① 调大freshness.since_days
;② 放宽logic: "OR"
;③ 增加/放宽关键词 - 401 Unauthorized?
① 检查llm.base_url / model / OPENAI_COMPAT_API_KEY
是否匹配;
② SiliconFlow 需使用余额有效的 API Key; - SMTP 报错/超时?
① 端口465 + SSL;② 使用授权码;③ 尝试切换到 587 + STARTTLS。
如果这对你有帮助,欢迎 Star 支持一下,也欢迎 PR/Issue 一起完善
https://github.com/colorfulandc