/daily-arxiv
每日从 arXiv RSS 拉取新论文,基于 wiki 中的研究方向和概念自动判断相关性, 对高相关论文调用 /ingest 完整纳入 wiki,检测 SOTA 更新,生成 digest 日志。 支持 cron 调度自动执行,也可手动触发。
Inputs
--hours N:拉取最近 N 小时的论文(默认 24)--max-ingest N:单次最多 ingest 篇数(默认 5,防止 wiki 过载)--dry-run:仅生成 digest,不执行 ingest--categories:覆盖默认 arXiv 分类(默认 cs.LG cs.CV cs.CL cs.AI stat.ML)
Outputs
raw/discovered/{slug}/或raw/discovered/{slug}.pdf— 每篇 auto-ingest 论文对应的抓取原始来源wiki/papers/{slug}.md— 高相关论文页面(通过 /ingest 创建)- 相应的 concepts/、people/、claims/ 页面(通过 /ingest 创建)
- 更新的
wiki/topics/*.md— SOTA tracker 标注(若检测到 SOTA 更新) - 更新的
wiki/graph/— edges.jsonl, context_brief.md, open_questions.md(通过 /ingest 维护) - 更新的
wiki/index.md和wiki/log.md
Wiki Interaction
Reads
wiki/topics/*.md— 提取 Overview 关键词和 SOTA tracker,用于相关性判断和 SOTA 检测wiki/concepts/*.md— 提取 Definition 关键词,辅助相关性判断wiki/index.md— 检查论文是否已收录(按 arXiv URL 去重)wiki/papers/*.md— 检查 arxiv ID 是否已存在wiki/graph/open_questions.md— 优先 ingest 能填补知识缺口的论文
Writes
wiki/papers/{slug}.md— 通过 /ingest CREATEwiki/concepts/{slug}.md— 通过 /ingest CREATE/EDITwiki/people/{slug}.md— 通过 /ingest CREATE/EDITwiki/claims/{slug}.md— 通过 /ingest CREATE/EDITwiki/topics/{slug}.md— EDIT(SOTA tracker 标注)wiki/graph/edges.jsonl— 通过 /ingest APPENDwiki/graph/context_brief.md— REBUILD(最终一次)wiki/graph/open_questions.md— REBUILD(最终一次)wiki/index.md— 通过 /ingest EDITwiki/log.md— APPEND
Graph edges created
- 通过 /ingest 创建的所有 edges(paper → concept, paper → claim 等)
Workflow
前置:确认工作目录为 wiki 项目根(包含 wiki/、raw/、tools/ 的目录)。
设 WIKI_ROOT=wiki/。
Step 1: 拉取 arXiv RSS + 热门论文
- 运行 fetch_arxiv.py 获取新论文列表:
python3 tools/fetch_arxiv.py --hours <hours> -o /tmp/arxiv_feed.json - 获取 DeepXiv 热门论文(过去 7 天):
将热门论文合并到候选列表中(按 arxiv_id 去重),热门论文在后续评分中获得额外关注。 若 DeepXiv 不可用:跳过此子步骤,仅使用 RSS 结果。python3 tools/fetch_deepxiv.py trending --days 7 --limit 20 - 解析结果,获取论文列表(title, abstract, authors, arxiv_url, arxiv_id, category)
- 去重:读取
wiki/index.md,跳过 arxiv URL 已在 wiki 中的论文。同时检查wiki/papers/目录下已有的 arxiv ID。 - 若无新论文,直接跳到 Step 6 生成空 digest。
Step 2: 构建相关性上下文 + DeepXiv 增强
- 读取
wiki/topics/*.md,提取每个 topic 的:- Overview 段落中的核心关键词
- Open problems / Research gaps 列表
- SOTA tracker 的当前最佳结果
- 读取
wiki/concepts/*.md,提取每个 concept 的:- Definition 段落中的关键术语
- tags 列表
- 读取
wiki/graph/open_questions.md,获取当前知识缺口列表 - 合成一份「研究方向摘要」(≤ 2000 字符),包含:核心 topics、活跃 concepts、待填补的 gaps
- DeepXiv TLDR 增强(可选):对每篇新论文,获取 AI 摘要和关键词以提升评分质量:
使用返回的python3 tools/fetch_deepxiv.py brief <arxiv_id>tldr和keywords补充原始 abstract,帮助 LLM 更精准判断相关性。 若 DeepXiv 不可用:仅使用 RSS 原始 title + abstract 进行评分(回退到原有行为)。
Step 3: 相关性打分
对每篇新论文,基于标题和摘要 vs 研究方向摘要,LLM 判断相关性:
| 分数 | 含义 | 处理方式 |
|---|---|---|
| 3 | 高度相关:核心方向的重要进展 | 自动 ingest |
| 2 | 中度相关:值得关注但非核心 | 列入 digest,不自动 ingest |
| 1 | 弱相关:仅供参考 | 折叠列出 |
| 0 | 不相关 | 跳过 |
加分规则(可将 2 分提升至 3 分):
- 论文直接回应 open_questions.md 中的某个知识缺口 → +1
- 论文的 benchmark 可能刷新 SOTA tracker → +1(上限 3 分)
批量打分:将所有论文的 title+abstract 一次性提交 LLM,按 JSON 返回分数。避免逐篇调用。
Step 4: 自动 Ingest 高优先级论文(支持断点续传)
- 筛选相关性 = 3 的论文,按以下优先级排序:
- 填补 gap_map 缺口的论文优先
- 引用量高的论文优先(若 abstract 中提到 SOTA 结果)
- 加载 checkpoint(若存在则跳过已完成的):
python3 tools/research_wiki.py checkpoint-load wiki/ "daily-arxiv-{date}" - 取前
--max-ingest篇(默认 5)。对每篇选中的论文:- 先把原始来源下载到
raw/discovered/:python3 tools/init_discovery.py download --raw-root raw --arxiv-id <arxiv_id> --title "<title>" - 把返回的
canonical_ingest_path(位于raw/discovered/)传给/ingest,不要直接传裸 arXiv URL - /ingest 会完成完整的 wiki 纳入流程(paper + concepts + people + claims + cross-refs + graph)
- 每篇成功后记录 checkpoint:
python3 tools/research_wiki.py checkpoint-save wiki/ "daily-arxiv-{date}" "{arxiv_id}" - 失败则标记并继续:
python3 tools/research_wiki.py checkpoint-save wiki/ "daily-arxiv-{date}" "{arxiv_id}" --failed
- 先把原始来源下载到
- 若
--dry-run,同时跳过raw/discovered/下载与实际 ingest,仅在 digest 中标记「would ingest」 - 全部完成后清理 checkpoint:
python3 tools/research_wiki.py checkpoint-clear wiki/ "daily-arxiv-{date}"
Step 5: SOTA 检测与更新
- 对每篇已 ingest 的论文(Step 4 产出),检查其 Results 中的 benchmark 数字
- 将 benchmark 与
wiki/topics/中对应 topic 的## SOTA tracker对比 - 若论文结果优于当前 SOTA 记录:
- 在对应 topic 页面的
## SOTA tracker追加/更新条目:- **{benchmark_name}**: {score} ← [[{paper-slug}]] ({year}) [previously: {old_score}] - 标记该 topic 的
sota_updated为今天日期
- 在对应 topic 页面的
- 若检测到 SOTA 更新,在 digest 中高亮标注
Step 6: 生成 digest 并写入 log
重建 graph 派生文件(仅当有 ingest 时):
python3 tools/research_wiki.py rebuild-context-brief wiki/ python3 tools/research_wiki.py rebuild-open-questions wiki/追加 digest 到
wiki/log.md:python3 tools/research_wiki.py log wiki/ "daily-arxiv | {N_ingested} ingested, {N_relevant} relevant / {N_total} total"在 log.md 的当日条目下方追加详细 digest:
### 高优先级(已 ingest) - [[paper-slug]] — {title}({one-line insight}) ### 值得关注(相关性 = 2) - {title} — {arxiv_url} — {one-line summary} ### Trending This Week(来自 DeepXiv) - {title} — {arxiv_id} — {tweets} tweets, {views} views ### SOTA 更新 - {topic}: {benchmark} 新纪录 by [[paper-slug]] <details> <summary>弱相关({K} 篇)</summary> - {title} — {arxiv_url} </details>
Step 7: 报告给用户
输出摘要:
- 扫描论文总数 / 去重后数量
- 各相关性等级分布
- 已 ingest 论文列表(含 slug 链接)
- SOTA 更新列表(若有)
- 建议手动 ingest 的论文(相关性 = 2 中最值得关注的 top 3)
- 下次运行时间提示
Constraints
- 只 ingest 相关性 >= 3 的论文:其余留给用户判断,不自动创建 wiki 页面
- 每次最多 ingest
--max-ingest篇(默认 5):防止 wiki 单次过载 /daily-arxiv对 raw/ 严格只读,只有 auto-ingest 论文可写入raw/discovered/:不得写入raw/papers/、raw/tmp/、raw/notes/或raw/web/- graph/ 仅通过 tools 维护:不得手动编辑
graph/下的文件 - 双向链接:通过 /ingest 保证
- 去重必须严格:按 arxiv_url 和 arxiv_id 双重检查
- 批量打分:一次 LLM 调用完成所有论文打分,不逐篇调用
- digest 保持简洁:详情查看具体 papers 页面,digest 每条论文最多一行
- log.md append-only:通过
python3 tools/research_wiki.py log追加
Error Handling
- DeepXiv API 不可用:回退到纯 RSS 模式(原有行为)。Trending 小节从 digest 中省略,评分仅用 RSS 原始数据。在报告中注明 DeepXiv 不可用。
- RSS 拉取失败:报告网络错误,建议用户检查网络后重试。不修改 wiki。
- 部分 ingest 失败:已完成的 ingest 保留,失败的论文在报告中标记,建议用户手动
/ingest <url>。 - wiki 目录不存在:提示用户先运行
/init初始化。 - 空 RSS 结果:正常情况(假期、周末论文少),生成空 digest,不报错。
- SOTA 对比失败:benchmark 格式不匹配时跳过,在报告中注明。
Dependencies
Skills(via Skill tool)
/ingest— 完整的论文纳入流程(Step 4 调用)
Tools(via Bash)
python3 tools/fetch_arxiv.py --hours <N> -o <path>— 拉取 arXiv RSSpython3 tools/fetch_deepxiv.py trending --days 7 --limit 20— 获取热门论文python3 tools/fetch_deepxiv.py brief <arxiv_id>— 获取论文 TLDR 和关键词python3 tools/init_discovery.py download --raw-root raw --arxiv-id <id> --title "<title>"— 将选中的论文下载到raw/discovered/python3 tools/research_wiki.py rebuild-context-brief wiki/— 重建压缩上下文python3 tools/research_wiki.py rebuild-open-questions wiki/— 重建知识缺口地图python3 tools/research_wiki.py log wiki/ "<message>"— 追加日志
External APIs
- arXiv RSS(via tools/fetch_arxiv.py)
- DeepXiv API(via tools/fetch_deepxiv.py,可选,不可用时 graceful fallback)
Scheduling
- 可通过 CronCreate 设置每日自动执行:
CronCreate: schedule "/daily-arxiv" daily at 08:00