Skip to content

GTC2080/evil-read-arxiv

 
 

Repository files navigation

evil-read-arxiv

邪修的论文阅读工作流 - 自动化论文搜索、推荐、分析和整理

简介

这是一套 Claude Code 技能(Skills)集合,用于自动化研究论文的搜索、推荐、分析和整理工作流。通过调用 arXiv 和 Semantic Scholar API,每天为你推荐高质量论文,并自动生成详细笔记和关系图谱。

功能特点

1. start-my-day - 每日论文推荐

  • 从 arXiv 搜索最近一个月的论文
  • 从 Semantic Scholar 搜索过去一年的高热度论文
  • 基于相关性、新近性、热门度、质量四个维度综合评分
  • 自动生成今日概览和推荐列表
  • 前三篇论文自动生成详细分析和提取图片
  • 自动链接关键词到已有笔记

2. paper-analyze - 论文深度分析

  • 深度分析单篇论文
  • 生成结构化笔记,包含:
    • 摘要翻译和要点提炼
    • 研究背景与动机
    • 方法概述和架构
    • 实验结果分析
    • 研究价值评估
    • 优势和局限性分析
    • 与相关论文对比
  • 自动提取论文图片并插入笔记
  • 更新知识图谱

3. extract-paper-images - 论文图片提取

  • 优先从 arXiv 源码包提取高质量图片
  • 支持从 PDF 提取图片作为备选
  • 自动生成图片索引
  • 保存到笔记目录的 images 子目录

4. paper-search - 论文笔记搜索

  • 在已有笔记中搜索论文
  • 支持按标题、作者、关键词、领域搜索
  • 相关性评分排序

安装

前置要求

  1. Claude Code CLI - 需要安装并配置 Claude Code
  2. Python 3.8+ - 用于运行搜索和分析脚本
  3. 依赖库
    pip install -r requirements.txt

安装步骤

  1. 将此仓库克隆或复制到你的 Claude Code skills 目录:

    # Windows PowerShell
    Copy-Item -Recurse evil-read-arxiv\start-my-day $env:USERPROFILE\.claude\skills\
    Copy-Item -Recurse evil-read-arxiv\paper-analyze $env:USERPROFILE\.claude\skills\
    Copy-Item -Recurse evil-read-arxiv\extract-paper-images $env:USERPROFILE\.claude\skills\
    Copy-Item -Recurse evil-read-arxiv\paper-search $env:USERPROFILE\.claude\skills\
    
    # macOS/Linux
    cp -r evil-read-arxiv/start-my-day ~/.claude/skills/
    cp -r evil-read-arxiv/paper-analyze ~/.claude/skills/
    cp -r evil-read-arxiv/extract-paper-images ~/.claude/skills/
    cp -r evil-read-arxiv/paper-search ~/.claude/skills/
  2. 配置环境变量和路径(见下文"配置"部分)

  3. 重启 Claude Code CLI

配置

强烈建议:先阅读 QUICKSTART.md 快速完成设置。

步骤1:设置环境变量(推荐)

所有脚本统一通过 OBSIDIAN_VAULT_PATH 环境变量读取 Obsidian Vault 路径,这是最简单的配置方式:

# Windows PowerShell(临时生效)
$env:OBSIDIAN_VAULT_PATH = "C:/Users/YourName/Documents/Obsidian Vault"

# Windows PowerShell(永久生效)
[System.Environment]::SetEnvironmentVariable("OBSIDIAN_VAULT_PATH", "C:/Users/YourName/Documents/Obsidian Vault", "User")

# macOS/Linux(添加到 ~/.bashrc 或 ~/.zshrc)
export OBSIDIAN_VAULT_PATH="/Users/yourname/Documents/Obsidian Vault"

设置环境变量后,无需修改任何脚本中的路径

步骤2:创建配置文件

复制 config.example.yaml 并修改:

cp config.example.yaml config.yaml

编辑 config.yaml,根据你的研究兴趣修改关键词:

vault_path: "/path/to/your/obsidian/vault"

research_domains:
  "你的研究领域1":
    keywords:
      - "keyword1"
      - "keyword2"
    arxiv_categories:
      - "cs.AI"
      - "cs.LG"

然后将修改后的 config.yaml 复制到 Vault 中:

cp config.yaml "$OBSIDIAN_VAULT_PATH/99_System/Config/research_interests.yaml"

步骤3(可选):通过 CLI 参数覆盖路径

如果不想设置环境变量,也可以在每次调用脚本时通过参数指定路径:

python scripts/search_arxiv.py --config "/your/path/research_interests.yaml"
python scripts/scan_existing_notes.py --vault "/your/obsidian/vault"
python scripts/generate_note.py --vault "/your/obsidian/vault" --paper-id "2402.12345" --title "Paper Title" --authors "Author" --domain "大模型"
python scripts/update_graph.py --vault "/your/obsidian/vault" --paper-id "2402.12345" --title "Paper Title" --domain "大模型"

路径格式说明

  • Windows:可以使用正斜杠 / 或双反斜杠 \\

    • 正确:C:/Users/Name/Documents/Vault
    • 正确:C:\\Users\\Name\\Documents\\Vault
    • 错误:C:\Users\Name\Documents\Vault(单反斜杠在 Python 字符串中需要转义)
  • macOS/Linux:使用正斜杠 /

    • 正确:/Users/name/Documents/Vault

Obsidian 目录结构要求

你的 Obsidian Vault 需要包含以下目录结构:

你的Vault/
├── 10_Daily/                    # 每日推荐笔记(自动创建)
│   └── YYYY-MM-DD论文推荐.md
├── 20_Research/
│   └── Papers/                  # 论文详细笔记目录
│       ├── 大模型/
│       │   └── 论文标题.md
│       │       └── images/      # 论文图片
│       ├── 多模态技术/
│       └── 智能体/
└── 99_System/
    └── Config/
        └── research_interests.yaml  # 研究兴趣配置(复制 config.yaml 到这里)

使用方法

开始每天的论文推荐

在你的 Obsidian Vault 目录下打开终端,输入:

start my day

这会:

  1. 搜索最近一个月和过去一年的高质量论文
  2. 根据你的研究兴趣筛选和评分
  3. 生成今日推荐笔记(保存到 10_Daily/ 目录)
  4. 对前三篇论文自动生成详细分析
  5. 提取论文图片并插入笔记
  6. 自动链接关键词到已有笔记

分析单篇论文

如果你想深入阅读某篇论文:

paper-analyze 2602.12345
# 或使用论文标题
paper-analyze "论文标题"

这会:

  1. 下载论文 PDF
  2. 提取图片
  3. 生成详细的分析笔记
  4. 更新知识图谱

提取论文图片

extract-paper-images 2602.12345

搜索已有论文

paper-search "关键词"

目录结构

evil-read-arxiv/
├── README.md                 # 本文件
├── QUICKSTART.md             # 快速开始指南
├── config.example.yaml       # 配置模板(需要复制并修改)
├── requirements.txt          # Python 依赖
├── start-my-day/             # 每日推荐技能
│   ├── skill.md              # 技能定义文件
│   └── scripts/
│       ├── search_arxiv.py   # arXiv/Semantic Scholar 搜索脚本
│       ├── scan_existing_notes.py  # 扫描现有笔记
│       └── link_keywords.py  # 关键词自动链接脚本
├── paper-analyze/            # 论文分析技能
│   ├── skill.md
│   └── scripts/
│       ├── generate_note.py  # 生成笔记模板
│       └── update_graph.py   # 更新知识图谱
├── extract-paper-images/     # 图片提取技能
│   ├── skill.md
│   └── scripts/
│       └── extract_images.py # 图片提取脚本
└── paper-search/             # 论文搜索技能
    └── skill.md

评分机制

论文推荐评分基于四个维度:

维度 权重 说明
相关性 40% 与研究兴趣的匹配程度
新近性 20% 论文发布时间
热门度 30% 引用数/影响力
质量 10% 从摘要推断的方法质量

评分细则

  • 相关性:标题关键词匹配(+0.5/个)、摘要关键词匹配(+0.3/个)、类别匹配(+1.0)
  • 新近性:30天内(+3)、30-90天(+2)、90-180天(+1)、180天以上(0)
  • 热门度:高影响力引用 > 100(+3)、50-100(+2)、< 50(+1)
  • 质量:多维度指标(强创新词 > 弱创新词 > 方法指标 > 量化结果 > 实验指标)

常用 arXiv 分类

分类代码 名称 说明
cs.AI Artificial Intelligence 人工智能
cs.LG Learning 机器学习
cs.CL Computation and Language 计算语言学/NLP
cs.CV Computer Vision 计算机视觉
cs.MM Multimedia 多媒体
cs.MA Multiagent Systems 多智能体系统
cs.RO Robotics 机器人学

常见问题

Q: 搜索没有结果?

A: 检查以下几点:

  1. 确认网络连接正常
  2. 检查配置文件中的关键词是否正确
  3. 尝试扩大搜索的 arXiv 分类范围

Q: 图片提取失败?

A:

  1. 确保安装了 PyMuPDF:pip install PyMuPDF
  2. 检查 arXiv ID 格式是否正确(如 2602.12345)

Q: 关键词自动链接不准确?

A: 可以在 start-my-day/scripts/link_keywords.py 中修改 COMMON_WORDS 集合,添加你不需要自动链接的词

Q: "Papers directory not found" 错误?

A:

  1. 检查 OBSIDIAN_VAULT_PATH 环境变量是否正确设置
  2. 确认 Obsidian Vault 中的目录结构是否正确创建(20_Research/Papers/)

Q: "未指定 vault 路径" 错误?

A: 设置 OBSIDIAN_VAULT_PATH 环境变量,或在调用脚本时通过 --vault / --config 参数指定路径。

高级配置

修改搜索的 arXiv 分类

在调用 search_arxiv.py 时通过 --categories 参数指定:

python scripts/search_arxiv.py --categories "cs.AI,cs.LG,cs.CL,cs.CV"

修改每天推荐的论文数量

在调用 search_arxiv.py 时通过 --top-n 参数指定:

python scripts/search_arxiv.py --top-n 15

修改评分权重

start-my-day/scripts/search_arxiv.pycalculate_recommendation_score 函数中调整权重。

工作原理

用户输入 "start my day"
         ↓
    1. 加载研究配置
    2. 扫描现有笔记构建索引
         ↓
    3. 搜索 arXiv(最近30天)
    4. 搜索 Semantic Scholar(过去一年高热度)
         ↓
    5. 合并结果并去重
    6. 综合评分并排序
    7. 取前 N 篇
         ↓
    8. 生成今日推荐笔记
    9. 前三篇生成详细分析
    10. 自动链接关键词

贡献

欢迎提交 Issue 和 Pull Request!

许可证

MIT License

致谢

About

Claude Code+Obsidian,邪修读论文就是快

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%