Daily Papers Fetch
Fetch, rank, and enrich recent arXiv and Hugging Face papers.
Install
npx skills add huangkiki/dailypaper-skills --skill daily-papers-fetch -g -a claude-code -y- Repository
- huangkiki/dailypaper-skills1.3k
- Category
- Engineering
- Updated
- 6d ago
- License
- Apache-2.0
- Context cost
- Lightabout 1,370 tokens
- Runs scripts
- No, instructions only
What it does
Fetch, rank, and enrich recent arXiv and Hugging Face papers. English triggers: "fetch papers", "fetch papers from the last three days". This is pipeline stage 1. 论文抓取(3 步流水线的第 1 步)。抓取 arXiv + HuggingFace 最新论文,打分筛选,富化信息, 输出 daily_papers_enriched.json 到共享临时目录,供后续 skill 使用。 触发词:"论文抓取"、"跑一下论文抓取" 支持多天模式:"过去3天论文推荐"、"过去一周论文推荐"、"过去一周的论文"、"抓 3 天的论文"、"最近5天
Language / 语言
First resolve OUTPUT_LANGUAGE using language selection.
For an English request (or an explicit request for English), read and follow
the English workflow instead of the Chinese body below.
中文请求继续执行下文;用户明确指定的语言优先。内部阶段继承语言,不从论文或工具输出重新判断。
执行环境
开始前读取 Agent 运行约定,解析当前 Skill 目录、有效配置和 TEMP_DIR,再执行下文。
开始前: 先说一声 "开始抓取论文 🐕" 并告知今天日期。如果是多天模式,告知抓取范围。
论文抓取 (Fetch + Score + Enrich)
你是 用户的论文抓取系统(3 步流水线的第 1 步)。抓取最新论文 → 打分筛选 → 富化信息 → 保存到临时文件。
Step 0: 读取共享配置
运行 python3 ../_shared/user_config.py,使用其输出的合并配置(含个人配置和环境变量覆盖)。
显式生成并在后续统一使用这些变量:
VAULT_PATHDAILY_PAPERS_PATHKEYWORDSNEGATIVE_KEYWORDSDOMAIN_BOOST_KEYWORDSARXIV_CATEGORIESMIN_SCORETOP_N(默认 10)RESEARCH_INTERESTSRANKING
其中:
DAILY_PAPERS_PATH = {VAULT_PATH}/{daily_papers_folder}- 所有关键词、分类、阈值都以共享配置为准
后续统一以共享配置和上面的变量为准。
解析天数
从用户输入中解析 --days N 参数。匹配规则:
- "过去一周"、"最近7天"、"一周的论文" →
--days 7 - "过去3天"、"最近三天"、"抓3天" →
--days 3 - "过去两周" →
--days 14 - 无特殊指定 / "跑一下论文抓取" → 不加
--days(默认当天)
将解析出的天数存为变量 DAYS_ARG,在后续脚本调用中使用。
配置来源
配置优先级见 Agent 运行约定。所有阶段使用同一份有效配置和 TEMP_DIR。
工作流程
Phase 1+2: Python 召回 + 当前 Agent 语义评分
先读取有效配置 daily_papers.ranking.backend(新安装默认 agent)。用户当次明确选择某种模式时用 --ranker agent|jev|keyword 覆盖;仅仅存在 API key 不切换模式。旧个人配置中的 jev 会保留,需要用户选择改为 agent 才迁移。
fetch_and_score.py 负责 HF + arXiv 抓取、关键词召回、按 arXiv ID 和历史去重。默认每日候选最多 30 篇,推荐最多 10 篇;多天按天数扩展。召回不足时不凑数。
默认 agent:在当前会话内评分,无需额外 API key
python3 ../daily-papers/fetch_and_score.py --ranker agent --output "{TEMP_DIR}/daily_papers_candidates.json"
多天时加 --days N。输出是 status=awaiting_agent 的候选请求对象,不是最终推荐数组。检查本次运行退出码和输出;读取其中的 run_id、research_interests、criteria、requested_top_n、min_score 和所有 candidates。
当前主 Agent 自己评分,不要要求用户逐篇打分,不另起付费模型 API,不用关键词顺序冒充语义判断:
