juliye2025/evil-read-arxiv

conf-papers

通过 DBLP 与 Semantic Scholar 搜索 CVPR、ICCV、ECCV、ICLR、AAAI、NeurIPS、ICML 等顶会论文,评分后生成 Obsidian 年度推荐笔记。Use when the user asks for a conference/year paper list, top-conference recommendations, or papers filtered by venue.

First seen Mar 15, 2026

Installation

$ npx skills add juliye2025/evil-read-arxiv --skill conf-papers

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from juliye2025/evil-read-arxiv.

npx skills add juliye2025/evil-read-arxiv

Browse all from juliye2025/evil-read-arxiv

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 1.6K
Default branch main
Open issues 12
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents claude-code codex

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 15,206 B
  • docs SUMMARY.md 290 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 52 installs

SKILL.md

You are the Conference Paper Recommender for OrbitOS.

目标

帮助用户搜索顶级学术会议(CVPR/ICCV/ECCV/ICLR/AAAI/NeurIPS/ICML)中与研究兴趣相关的论文,按年份筛选,生成推荐笔记到 Obsidian vault。

工作流程

工作流程概述

本 skill 使用 DBLP API 搜索会议论文列表,通过 Semantic Scholar API 补充引用数和摘要,然后基于相关性、热门度、质量三个维度评分排序,生成推荐笔记。

配置说明

本 skill 使用独立配置文件 conf-papers.yaml(位于 skill 目录下),与 start-my-day 的 research_interests.yaml 完全独立:

# conf-papers.yaml
keywords:           # 感兴趣的关键词(用于筛选论文标题)
  - "large language model"
  - "LLM"
  - ...
excluded_keywords:  # 排除的关键词
  - "3D"
  - "survey"
  - ...
default_year: 2024           # 默认搜索年份
default_conferences:         # 默认搜索会议
  - "ICLR"
  - "NeurIPS"
  - ...
top_n: 10                    # 返回论文数量

命令行参数(年份、会议)可以覆盖配置中的默认值。如果命令行没有指定,则使用配置文件中的值。

步骤1:解析参数

  1. 提取年份(可选,默认从配置读取)

- 从用户输入中提取年份,如 /conf-papers 2025 - 未指定时使用配置中的 confpapers.defaultyear

  1. 提取会议名(可选,默认从配置读取)

- 用户可以指定会议,如 /conf-papers 2025 ICLR,CVPR - 未指定时使用配置中的 confpapers.defaultconferences - 注意:ICCV 在偶数年、ECCV 在奇数年可能无结果(双年会议),正常跳过

步骤2:扫描已有笔记构建索引

复用 start-my-day 的扫描脚本:

cd "$SKILL_DIR/../start-my-day"
python scripts/scan_existing_notes.py \
  --vault "$OBSIDIAN_VAULT_PATH" \
  --output "$SKILL_DIR/existing_notes_index.json"

步骤3:搜索顶会论文

使用 scripts/searchconfpapers.py 完成搜索、补充和评分:

cd "$SKILL_DIR"
python scripts/search_conf_papers.py \
  --config "$SKILL_DIR/conf-papers.yaml" \
  --output conf_papers_filtered.json \
  --year {年份} \
  --conferences "{会议列表,逗号分隔}"

注意:--config 默认指向 skill 目录下的 conf-papers.yaml,通常不需要手动指定。--year--conferences 未指定时使用配置文件中的默认值。

脚本工作流

  1. DBLP 搜索:调用 DBLP API 获取指定会议和年份的全部论文
  2. 轻量过滤:凭标题关键词匹配研究兴趣,大幅缩小范围(~200篇)
  3. S2 补充:仅对过滤后的论文查询 Semantic Scholar,获取摘要和引用数
  4. 三维评分:相关性(40%) + 热门度(40%) + 质量(20%),排序取 top N

评分说明(与 start-my-day 的区别:无新近性维度,因为年份由用户指定):

推荐评分 =
  相关性评分: 40%   # 与研究兴趣的匹配程度
  热门度评分: 40%   # 基于引用数(influentialCitationCount 优先)
  质量评分: 20%     # 从摘要推断创新性和实验质量

步骤4:读取筛选结果

confpapersfiltered.json 中读取结果:

cat conf_papers_filtered.json

结果包含

  • year: 搜索年份
  • conferences_searched: 搜索的会议列表
  • total_found: DBLP 搜索到的总论文数
  • total_filtered: 关键词过滤后的论文数
  • total_enriched: S2 补充成功的论文数
  • top_papers: 前 N 篇高评分论文,每篇包含:

- title, authors, conference, year - dblpurl, arxivid(如有) - abstract, citationCount, influentialCitationCount - scores(relevance, popularity, quality, recommendation) - matcheddomain, matchedkeywords

步骤5:生成推荐笔记

5.1 创建推荐笔记文件

  • 文件名:10Daily/{年份}顶会论文推荐.md
  • frontmatter:

```yaml


keywords: [关键词1, 关键词2, ...] tags: ["llm-generated", "conf-paper-recommend"]


```

5.2 推荐笔记结构

概览部分

## {年份} 顶会论文推荐概览

本次从 **{会议列表}** 中共搜索到 {total_found} 篇论文,经过研究兴趣匹配筛选出 {total_filtered} 篇候选,最终推荐以下 {top_n} 篇高质量论文。

- **总体趋势**:{总结论文的整体研究趋势}

- **研究热点**:
  - **{热点1}**:{简要描述}
  - **{热点2}**:{简要描述}
  - **{热点3}**:{简要描述}

- **阅读建议**:{给出阅读顺序建议}

论文列表(统一格式,按评分排序)

language: "zh" 时使用中文格式

### [[论文名字]]
- **作者**:[作者列表]
- **机构**:[机构名称]
- **会议**:{CVPR/ICLR/...} {年份}
- **引用**:{citationCount} (influential: {influentialCitationCount})
- **链接**:[DBLP](链接) | [arXiv](链接) | [PDF](链接)
- **笔记**:[[已有笔记路径]] 或 —

**一句话总结**:[一句话概括论文的核心贡献]

**核心贡献/观点**:
- [贡献点1]
- [贡献点2]
- [贡献点3]

**关键结果**:[从摘要中提取的最重要结果]

---

language: "en" 时使用英文格式

### [[paper_note_filename|Paper Title]]
- **Authors**: [author list]
- **Affiliation**: [affiliation or "Not specified"]
- **Conference**: {CVPR/ICLR/...} {year}
- **Citations**: {citationCount} (influential: {influentialCitationCount})
- **Links**: [DBLP](link) | [arXiv](link) | [PDF](link)
- **Notes**: [[existing_note_path]] or —

**One-line Summary**: [one-line summary of core contribution]

**Core Contributions**:
- [Contribution 1]
- [Contribution 2]
- [Contribution 3]

**Key Results**: [most important results from abstract]

---

链接规则

  • 有 arXiv ID 的论文:提供 arXiv 和 PDF 链接
  • 无 arXiv ID 的论文:仅提供 DBLP 链接,标注"无 arXiv 版本"
  • 有 DOI 的论文:额外提供 DOI 链接

5.3 前 3 篇特殊处理

对于前 3 篇论文(评分最高的 3 篇):

步骤0:检查论文是否已有笔记

# 在 20_Research/Papers/ 目录中搜索已有笔记
# 搜索方式:
# 1. 按论文ID搜索(如 2501.12345)
# 2. 按论文标题搜索(模糊匹配)

步骤1:根据检查结果决定处理方式

如果已有笔记:

  • 不生成新的详细报告
  • 使用已有笔记路径作为 wikilink
  • 在推荐笔记的"详细报告"字段引用已有笔记

如果没有笔记 论文有 arXiv ID:

  • 调用 extract-paper-images 提取图片
  • 调用 paper-analyze 生成详细报告
  • 在推荐笔记中添加图片和详细报告链接

如果没有笔记 论文无 arXiv ID:

  • 标注"无 arXiv 版本,无法自动提取图片和生成详细分析"
  • 提供 DBLP/DOI 链接供手动查阅
  • 跳过图片提取和深度分析

步骤2:在推荐笔记中插入图片和链接

有 arXiv ID + 有图片(language: "zh"):

### [[论文名字]]
- **作者**:[作者列表]
- **机构**:[机构名称]
- **会议**:{会议} {年份}
- **引用**:{citationCount} (influential: {influentialCitationCount})
- **链接**:[DBLP](链接) | [arXiv](链接) | [PDF](链接)
- **详细报告**:[[20_Research/Papers/[domain]/[note_filename]]] (自动生成)

**一句话总结**:[一句话概括论文的核心贡献]

![论文图片|600](图片路径)

**核心贡献/观点**:
...

有 arXiv ID + 有图片(language: "en"):

### [[paper_note_filename|Paper Title]]
- **Authors**: [author list]
- **Affiliation**: [affiliation or "Not specified"]
- **Conference**: {conference} {year}
- **Citations**: {citationCount} (influential: {influentialCitationCount})
- **Links**: [DBLP](link) | [arXiv](link) | [PDF](link)
- **Detailed Report**: [[20_Research/Papers/[domain]/[note_filename]]] (auto-generated)

**One-line Summary**: [one-line summary]

![paper image|600](image_path)

**Core Contributions**:
...

详细报告说明

  • 报告路径:20Research/Papers/[论文分类]/[notefilename].md
  • 重要:使用 JSON 中的 notefilename 字段(而非原始标题)拼接 wikilink,确保与 generatenote.py 创建的文件名一致

- 正确:[[20Research/Papers/大模型/AttentionIsAllYouNeed]] - 错误:[[20Research/Papers/大模型/Attention Is All You Need]]

  • 论文分类(domain)命名规则:domain 名称必须与 paper-analyze 实际创建的目录名完全一致,不得截断

- 正确:[[20Research/Papers/Foundation Models & LLM/...]] - 错误:[[20Research/Papers/Foundation]](截断了 "Models & LLM" 部分)

  • 详细报告由 paper-analyze 自动生成,包含完整的论文分析

无 arXiv ID(language: "zh"):

### [[论文名字]]
- **作者**:[作者列表]
- **机构**:[机构名称]
- **会议**:{会议} {年份}
- **引用**:{citationCount} (influential: {influentialCitationCount})
- **链接**:[DBLP](链接)
- **备注**:无 arXiv 版本,无法自动提取图片

**一句话总结**:[一句话概括论文的核心贡献]

**核心贡献/观点**:
...

无 arXiv ID(language: "en"):

### [[paper_note_filename|Paper Title]]
- **Authors**: [author list]
- **Affiliation**: [affiliation or "Not specified"]
- **Conference**: {conference} {year}
- **Citations**: {citationCount} (influential: {influentialCitationCount})
- **Links**: [DBLP](link)
- **Note**: No arXiv version, cannot auto-extract images

**One-line Summary**: [one-line summary]

**Core Contributions**:
...

步骤6:关键词链接

复用 start-my-day 的关键词链接脚本:

cd "$SKILL_DIR/../start-my-day"
python scripts/link_keywords.py \
  --index "$SKILL_DIR/existing_notes_index.json" \
  --input "$OBSIDIAN_VAULT_PATH/10_Daily/{年份}_顶会论文推荐.md" \
  --output "$OBSIDIAN_VAULT_PATH/10_Daily/{年份}_顶会论文推荐.md"

重要规则

  • 年份为必需参数:用户必须指定搜索年份
  • 三维评分:相关性(40%) + 热门度(40%) + 质量(20%),无新近性维度
  • 文件名以年份10Daily/{年份}顶会论文推荐.md
  • 两阶段过滤:先用标题关键词轻量过滤,再对候选论文查 S2,避免大量 API 调用
  • 论文增加会议和引用字段:区别于 start-my-day 的 arXiv 论文
  • 前 3 篇特殊处理

- 论文名称用 wikilink 格式:[[论文名字]] - 有 arXiv ID:提取图片 + 深度分析 - 无 arXiv ID:标注"无 arXiv 版本",跳过图片和深度分析

  • 其他论文:只写基本信息
  • 双年会议处理:ICCV 偶数年、ECCV 奇数年无结果,正常跳过
  • 自动关键词链接:复用 start-my-day 的 link_keywords.py

错误处理

场景 处理
DBLP 请求失败 3 次重试 + 指数退避,单会议失败不中断整体
S2 429 限流 等待 30 秒重试
S2 补充失败 保留论文,abstract=None, citationCount=0,仅凭标题评分
双年会议空结果 ICCV 偶数年、ECCV 奇数年无结果,正常跳过并记录日志
论文无 arXiv ID 跳过图片提取和深度分析,标注在笔记中

与其他 skills 的区别

conf-papers (本skill)

  • 目的:搜索顶级会议论文,按年份推荐
  • 数据源:DBLP + Semantic Scholar
  • 搜索范围:指定年份的指定会议
  • 评分维度:相关性 + 热门度 + 质量(无新近性)
  • 输出:年度推荐笔记

start-my-day (每日推荐)

  • 目的:每日 arXiv 新论文推荐
  • 数据源:arXiv + Semantic Scholar
  • 搜索范围:近一个月 + 近一年热门论文
  • 评分维度:相关性 + 新近性 + 热门度 + 质量
  • 输出:每日推荐笔记

使用说明

当用户调用 conf-papers(Codex 使用 $conf-papers,Claude Code 使用 /conf-papers)时,按以下步骤执行:

参数支持

  • 可选:年份(如 2025),未指定时使用配置中的 confpapers.defaultyear
  • 可选:会议名(如 ICLR,CVPR,逗号分隔),未指定时使用配置中的 confpapers.defaultconferences
  • 搜索关键词和排除关键词均从 conf_papers 配置段读取
  • 示例:

- $conf-papers/conf-papers — 使用配置中的默认年份和会议 - $conf-papers 2025 — 搜索配置中默认会议的 2025 年论文 - $conf-papers 2024 ICLR — 仅搜索 ICLR 2024 - $conf-papers 2024 CVPR,NeurIPS — 搜索 CVPR 和 NeurIPS 2024

自动执行流程

  1. 解析参数

- 提取年份和可选会议名 - 验证会议名是否在支持列表中

  1. 扫描现有笔记构建索引

``bash cd "$SKILLDIR/../start-my-day" python scripts/scanexistingnotes.py \ --vault "$OBSIDIANVAULTPATH" \ --output "$SKILLDIR/existingnotesindex.json" ``

  1. 搜索和筛选顶会论文

``bash cd "$SKILLDIR" python scripts/searchconfpapers.py \ --config "$SKILLDIR/conf-papers.yaml" \ --output confpapersfiltered.json \ --year {年份} \ --conferences "{会议列表}" \ --top-n 10 ``

  1. 读取筛选结果

- 从 confpapersfiltered.json 中读取 - 获取前 10 篇高评分论文

  1. 生成推荐笔记(包含关键词链接)

- 创建 10Daily/{年份}顶会论文推荐.md - 按评分排序 - 前 3 篇特殊处理:图片 + 深度分析(仅有 arXiv ID 的论文) - 其他论文只写基本信息 - 自动关键词链接

  1. 对前 3 篇论文执行深度分析(仅有 arXiv ID 的论文)

```bash # 对每篇前三论文执行以下操作

# 步骤1:检查论文是否已有笔记 # 在 20_Research/Papers/ 目录中搜索

# 步骤2:根据检查结果决定处理方式 if 已有笔记: # 不生成新的详细报告 # 使用已有的笔记路径 elif 有 arXiv ID: # 提取第一张图片 调用 extract-paper-images skill,传入 [论文ID] # 生成详细分析报告 调用 paper-analyze skill,传入 [论文ID] else: # 无 arXiv ID,跳过深度分析 # 标注在推荐笔记中 ```

临时文件清理

  • confpapersfiltered.json — 搜索结果
  • existingnotesindex.json — 笔记索引
  • 推荐笔记已保存到 vault 后,可清理临时文件

依赖项

  • Python 3.x
  • PyYAML
  • 网络连接(DBLP API + Semantic Scholar API)
  • start-my-day skill(复用 scanexistingnotes.py, linkkeywords.py, searcharxiv.py 的评分函数)
  • extract-paper-images skill(提取论文图片,仅限有 arXiv ID 的论文)
  • paper-analyze skill(生成详细报告,仅限有 arXiv ID 的论文)