关于 scholar-citations
scholar-citations 是供研究者通过 OpenAlex 探索论文引用关系的命令行技能。它可获取参考文献、引用该论文的研究或两者,并按年份和引用数筛选。
主要功能
- 01查找论文的参考文献和引用文献
- 02接受 OpenAlex、DOI、arXiv 和 PMID 标识符
- 03按年份和引用数筛选结果
- 04返回结构化论文信息和摘要
适用场景
- 01追溯论文所依据的先前研究
- 02查找引用某项研究的近期论文
- 03为评审整理引用关系背景
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ dsebastien/ ai-skill-scholar --skill scholar-citations安装后在 Claude Code 中输入/scholar-citations确认已加载。
附带文件scripts/scholar_citations.py
详细介绍
Scholar Citations
通过 OpenAlex 遍历研究论文的引用图。包含两个方向:
- 参考文献 — 本文引用了哪些论文(其思想渊源)
- 引用 — 哪些论文引用了本文(其思想后续发展)
一次子进程调用即可返回结构化论文列表,其中包含标题、摘要、引用次数和外部 ID。
用法
# References — what this paper cites
python3 scripts/scholar_citations.py references 2501.11120 --limit 100
# Citations — what cites this paper
python3 scripts/scholar_citations.py citations 2501.11120 --limit 100
# Both at once
python3 scripts/scholar_citations.py both 2501.11120 --limit 50
# Filter to recent, high-impact descendants
python3 scripts/scholar_citations.py citations 1706.03762 \
--min-year 2024 --min-citations 10 --limit 100
# Accepts many ID formats
python3 scripts/scholar_citations.py citations W4395065622
python3 scripts/scholar_citations.py citations "10.48550/arxiv.2404.14082"
python3 scripts/scholar_citations.py citations "doi:10.48550/arxiv.2404.14082"
python3 scripts/scholar_citations.py citations "https://openalex.org/W4395065622"
子命令:
references <id>— 目标论文引用的论文citations <id>— 引用目标论文的论文both <id>— 在同一载荷中返回两个方向的结果
标志:
--limit N— 每个方向的结果上限(默认值为 100)--min-year YYYY— 排除更早的条目--min-citations N— 排除影响力较低的条目(适合筛选重要的后续研究)
适用场景
- 追溯思想源流 — 给定一篇论文,查找其所依托的关键研究(
references+--min-citations 50) - 查找后续研究 — 查看哪些研究以重要论文为基础(
citations+--min-year 2024) - 差距分析 — 对多篇锚点论文的参考文献和引用取交集,找出尚未探索的领域
- 审稿背景调查 — 审阅论文前了解其引用关系
数据完整性说明
对于索引完善的论文(期刊文章、会议论文集论文、较早的 arxiv 投稿),OpenAlex 的参考文献列表通常完整;但对于非常新的预印本,列表往往较为稀疏。如果 references 返回空结果,通常是 OpenAlex 的数据覆盖问题,而非脚本错误。对于仅发布在 arxiv 上的论文,可改用 arxiv-analyze 并指定 --tier tex,解析论文自身的参考文献列表。
工作流
1. 确定锚点论文
支持 OpenAlex W-id、DOI、arxiv id(会自动转换为 arxiv 的 DOI)、PMID(格式为 pmid:<n>),或任意 OpenAlex/DOI URL。脚本会自动规范化输入。
2. 选择方向
- 想了解一篇论文是如何形成的?→
references - 想追踪影响力或查找新研究?→
citations - 想构建完整的关系图?→
both
3. 严格筛选
参考文献和引用列表可能包含 100–1000 条。请充分使用 --min-citations 和 --min-year;1000 条低信号条目不如 20 条高信号条目有用。
4. 提交分析
对于每篇感兴趣的论文:将 arxiv_id 交给 arxiv-analyze,或直接使用 open_access_pdf URL。
速率限制
OpenAlex 的限制较宽松:匿名访问为 10 req/sec,加入礼貌访问池后可获得更高限额(设置 OPENALEX_EMAIL)。脚本会自动将请求速率限制在 5 req/sec。
一次带有 --limit 100 的 references 或 citations 调用通常会发出 2–3 次 API 请求(一次用于获取根论文,一到两次用于批量解析相关论文)。
Token 效率
- 100 条参考文献/引用 ≈ 15K–30K tokens(摘要占主要部分)
- 探索图谱、重广度轻深度时,可先通过
jq 'del(.*.abstract)'过滤,再输入上下文
强制规则
- 不要无限扩展图谱。 100 × 100 篇二级参考文献就是 10k 篇论文。如需遍历 n 跳,请分阶段明确执行,并先征得用户确认。
- 遵守速率限制。 脚本的自动限速对正常运行至关重要。
- 稀疏数据也是数据。 如果
references或citations为空,就如实报告为空;不要捏造内容。
要求
- Python 3.11+(仅使用标准库)
- 可访问互联网并连接
api.openalex.org - 可选:设置
OPENALEX_EMAIL以访问礼貌访问池