SuperAPI AI 工具集

conf-papers

写作与研究

查看项目

更新于 10-16 01:56

技能介绍

用途

conf-papers 是一个会议论文推荐技能,帮助用户搜索顶级学术会议中与研究兴趣相关的论文,按年份筛选,并生成推荐笔记到 Obsidian vault。支持的会议包括 CVPR、ICCV、ECCV、ICLR、AAAI、NeurIPS、ICML。

主要能力

  • 使用 DBLP API 搜索指定会议和年份的论文列表。
  • 通过 Semantic Scholar API 补充论文的摘要和引用数(优先使用 influentialCitationCount)。
  • 基于相关性(40%)、热门度(40%)、质量(20%)三个维度评分排序,取前 N 篇。
  • 生成年度推荐笔记,包含概览、研究热点、阅读建议和论文列表。
  • 对评分最高的前 3 篇论文进行特殊处理:若已有笔记则引用,若有 arXiv ID 则提取图片并生成详细分析报告,若无 arXiv ID 则标注并跳过深度分析。
  • 自动为笔记中的关键词添加链接。

使用方式

调用方式:Codex 使用 $conf-papers,Claude Code 使用 /conf-papers。

参数支持:

  • 可选年份(如 2025),未指定时使用配置中的 conf_papers.default_year。
  • 可选会议名(如 ICLR,CVPR,逗号分隔),未指定时使用配置中的 conf_papers.default_conferences。

示例:

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

配置说明:使用独立配置文件 conf-papers.yaml(位于 skill 目录下),包含 keywords(感兴趣关键词)、excluded_keywords(排除关键词)、default_year(默认搜索年份)、default_conferences(默认搜索会议)、top_n(返回论文数量)。命令行参数可覆盖配置中的默认值。

执行流程:

  1. 解析参数,提取年份和可选会议名,验证会议名是否在支持列表中。
  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. 搜索和筛选顶会论文: cd "$SKILL_DIR" python scripts/search_conf_papers.py --config "$SKILL_DIR/conf-papers.yaml" --output conf_papers_filtered.json --year {年份} --conferences "{会议列表}" --top-n 10 脚本工作流:DBLP 搜索 → 标题关键词轻量过滤(约 200 篇)→ 对过滤后论文查询 Semantic Scholar 补充摘要和引用数 → 三维评分排序取 top N。
  4. 读取筛选结果 conf_papers_filtered.json,包含 year、conferences_searched、total_found、total_filtered、total_enriched、top_papers 等字段。
  5. 生成推荐笔记,文件名为 10_Daily/{年份}_顶会论文推荐.md,包含 frontmatter(keywords、tags)和概览、论文列表。
  6. 对前 3 篇论文执行深度分析(仅有 arXiv ID 的论文):检查是否已有笔记,若有则引用;若无且有 arXiv ID,调用 extract-paper-images 提取图片、调用 paper-analyze 生成详细报告;若无 arXiv ID,标注并跳过。
  7. 自动关键词链接,复用 start-my-day 的 link_keywords.py: 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"
  8. 清理临时文件 conf_papers_filtered.json 和 existing_notes_index.json。

适用场景

  • 用户需要按年份检索特定顶会论文列表。
  • 用户希望根据研究兴趣获得论文推荐并生成 Obsidian 笔记。
  • 用户需要快速了解某年度某会议的研究热点和高质量论文。

限制

  • 年份为必需参数,用户必须指定搜索年份(或使用配置默认值)。
  • ICCV 在偶数年、ECCV 在奇数年可能无结果(双年会议),正常跳过。
  • 无 arXiv ID 的论文无法自动提取图片和生成深度分析。
  • 依赖 Python 3.x、PyYAML、网络连接(DBLP API + Semantic Scholar API),以及 start-my-day、extract-paper-images、paper-analyze 等技能。
  • 错误处理:DBLP 请求失败时 3 次重试加指数退避,单会议失败不中断整体;S2 429 限流等待 30 秒重试;S2 补充失败保留论文,abstract=None、citationCount=0,仅凭标题评分。

与其他技能的区别

conf-papers 搜索顶级会议论文,数据源为 DBLP + Semantic Scholar,搜索范围为指定年份的指定会议,评分维度为相关性 + 热门度 + 质量(无新近性),输出年度推荐笔记。start-my-day 则每日推荐 arXiv 新论文,数据源为 arXiv + Semantic Scholar,搜索范围为近一个月 + 近一年热门论文,评分维度为相关性 + 新近性 + 热门度 + 质量,输出每日推荐笔记。