mcpField
L
literature-search-arxiv

literature-search-arxiv

github.com/google-deepmind生产力3.4k3.4k 次安装5 天前更新
代码仓库

关于 literature-search-arxiv

用于搜索 arXiv 并获取论文元数据、全文或 LaTeX 源文件的命令行技能,适合需要遵守 API 使用规则和下载论文的研究工作流。

主要功能

  1. 01使用 arXiv 查询搜索论文
  2. 02获取论文元数据
  3. 03下载 PDF 或 HTML
  4. 04下载 LaTeX 源文件
  5. 05通过提供的脚本控制请求频率

适用场景

  1. 01按作者、标题或查询查找论文
  2. 02获取全文前查看摘要
  3. 03将论文下载到本地阅读
  4. 04获取可用的 LaTeX 源文件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/google-deepmind/science-skills --skill literature-search-arxiv

安装后在 Claude Code 中输入/literature-search-arxiv确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
citation.bib
query_syntax.md
scripts/
download_paper_source.py
download_paper.py
search_arxiv.py

详细介绍

arXiv 搜索与检索

前提条件

  1. uv:阅读 uv 技能,并按照其中的 Setup 说明进行操作,确保已安装 uv 且它位于 PATH 中。
  2. 用户通知:如果工作区根目录中尚不存在 .licenses/literature_search_arxiv_LICENSE.txt,则 (1) 显著提醒用户查看 https://info.arxiv.org/help/api/index.html 中的条款,并始终检查通过该技能检索到的论文所附许可证是否有任何限制,然后 (2) 创建该文件,记录通知文本和时间戳。

核心规则

  • 使用条款:必须遵守 arXiv 的使用条款。
    • 每 3 秒最多发起 1 次请求。
    • 提供的实用脚本会自动处理速率限制。始终使用这些脚本,不要自行编写 curl/python 请求。
  • 如果使用了此技能,确保在输出中提及,并列出用于生成输出的所有论文 URL。

实用脚本

1. 搜索并提取元数据

搜索 arXiv,并返回匹配论文的精简 JSON 数组。

uv run scripts/search_arxiv.py --query "au:einstein AND ti:relativity" \
  --max_results 5 2>/dev/null > /tmp/arxiv_search_results.json

重要:工具会向 stdout 输出大量 JSON 结果。请求 100+ 条结果会生成可能超出上下文长度的大量 JSON。 限制 --max_results(例如 5-10),或谨慎使用 --start 分页。 始终将输出重定向到文件并单独解析,否则终端输出会被截断。

返回的元数据: JSON 结果包含 id、title、summary、published、 authors、pdf_url、primary_category、doi、journal_ref 和 comment。 注意:只有当论文具有外部 DOI 时,doi 字段才会包含 DOI 信息;如果论文只有 arXiv 分配的 DOI,则不会返回该 DOI。

选项:

  • --query:搜索字符串。高级语法请参阅 references/query_syntax.md。
  • --id_list:以逗号分隔的 arXiv ID 列表,可直接获取(例如, 1706.03762v5)。
  • --start:分页偏移量(默认值为 0)。
  • --max_results:返回结果数量(默认值为 10)。
  • --sort_by:relevance、lastUpdatedDate 或 submittedDate。(如需获取最新论文,请使用 --sort_by submittedDate --sort_order descending。)
  • --sort_order:ascending 或 descending。

2. 下载论文(PDF 或 HTML)

将论文全文下载到本地工作区以供阅读。

uv run scripts/download_paper.py --id 1706.03762 --format pdf --output attention.pdf

选项:

  • --id:arXiv ID(例如,1706.03762 或 1706.03762v5)。
  • --format:pdf 或 html。注意:只有较新的论文提供 HTML 格式。
  • --output:用于保存下载文档的文件路径。

重要:下载论文时,请确保将其下载到不会覆盖其他文件、也不会使现有目录结构变得杂乱的位置。

3. 下载论文源文件(tar.gz)

将论文的 LaTeX 源文件下载到本地工作区。请注意,并非所有论文都提供源文件。

uv run scripts/download_paper_source.py --id 2010.11645 --output source.tar.gz

选项:

  • --id:arXiv ID(例如,2010.11645)。
  • --output:用于保存下载的 tar.gz 文件的文件路径。

注意:解压下载的文件时应谨慎操作,以确保安全并避免文件系统变得杂乱,因为压缩包可能包含许多文件或意外的目录结构。

安全解压要求:切勿直接解压到工作目录!始终解压到专门新建的目录中:bash mkdir paper_source && tar -xzf source.tar.gz -C paper_source

参考

工作流

  1. 使用 search_arxiv.py 搜索论文。查看 JSON 摘要。
  2. 如果需要全文,使用 download_paper.py 获取 PDF 或 HTML。
  3. 如果下载的是 PDF,请确认文件不为空且未损坏。
  4. 使用标准文件读取工具阅读下载的文件。

评论

支持 Markdown