[开源] Paper Search CLI:基于 Paper-Search MCP 重构成 CLI + Skill 的多来源论文检索工具

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容: 我的帖子已经打上 开源推广 标签: 是 我的开源项目完整开源,无未开源部分: 是 我的开源项目已链接认可 LINUX DO 社区: 是 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是 以上选择我承诺是永久有效的,接受社...
[开源] Paper Search CLI:基于 Paper-Search MCP 重构成 CLI + Skill 的多来源论文检索工具
[开源] Paper Search CLI:基于 Paper-Search MCP 重构成 CLI + Skill 的多来源论文检索工具

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:

  • 我的帖子已经打上 开源推广 标签:
  • 我的开源项目完整开源,无未开源部分:
  • 我的开源项目已链接认可 LINUX DO 社区:
  • 我帖子内的项目介绍,AI生成、润色内容部分已截图发出:
  • 以上选择我承诺是永久有效的,接受社区和佬友监督:

以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出


Paper Search CLI

一个面向 agent 和终端使用的多来源论文检索 CLI。

github.com

GitHub - dr-dumpling/paper-search-cli: Agent-friendly CLI for academic paper search based...

Agent-friendly CLI for academic paper search based on Paper Search MCP

为什么做这个

之前一直在用 Paper-Search-mcp-nodejs 论文检索 MCP。功能本身很完整,在没有接触到cc-switch之前,在多个Ai中切换过程后的MCP都需要单独配置,维护起来比较麻烦,前几天刷到站内佬友的建议,未来的主流可能会逐渐转变为CLI + Skill,所以我将原来佬友的项目,加上参考原始作者的来源项目,重新Vibe成了Cli + Skill:

架构思路主要受站内佬友这篇启发:https://linux.do/t/topic/2076559

功能来源主要参考这两个项目:

github.com

GitHub - Dianel555/paper-search-mcp-nodejs: A Node.js implementation of the Model Context...

A Node.js implementation of the Model Context Protocol (MCP) server for searching and downloading academic papers from multiple sources, including **Web of Science**, arXiv, and more.

github.com

GitHub - openags/paper-search-mcp: MCP, CLI, Skills for searching and downloading...

MCP, CLI, Skills for searching and downloading academic papers from multiple sources like arXiv, PubMed, bioRxiv, etc.

核心特性

  • 20 个学术来源 / 平台:覆盖 Crossref、OpenAlex、PubMed、PMC、Europe PMC、arXiv、bioRxiv、medRxiv、Semantic Scholar、CORE、OpenAIRE、Web of Science、Google Scholar、IACR ePrint、Sci-Hub、ScienceDirect、Springer Nature、Wiley、Scopus、Unpaywall。
  • 单一命令入口:安装后通过 paper-search 调用,适合终端、脚本和 agent。
  • JSON-first 输出:stdout 默认输出结构化 JSON,stderr 保留给人类可读日志和错误;--pretty 只是缩进格式化,不是传统表格 UI。
  • 统一论文数据模型:尽量标准化标题、作者、DOI、来源、日期、摘要、PDF 链接、引用数和平台扩展字段。
  • 多源检索与去重:可以用 --sources crossref,openalex,pmc 指定来源,也可以用 platform=all 尝试所有已注册检索来源。
  • Semantic Scholar 正文片段检索search_semantic_snippets 可以检索 Semantic Scholar Open Access snippet 索引中的正文片段,适合查找论文里的细节,对于撰写方法学时很合适。
  • 开放获取优先下载链download_with_fallback 会优先尝试原生下载、PDF URL、PMC / Europe PMC / CORE / OpenAIRE、Unpaywall DOI 解析。
  • 适合 agent 调用toolsstatussearchdownloadrun 覆盖简单检索和精确工具调用。

技术路线

这个项目走的是 CLI + Skill 路线。

Skill 负责告诉 agent:什么时候该用 paper-search、该选哪个平台、什么时候查 DOI、什么时候查正文片段、什么时候下载 PDF。

CLI 负责执行:检索、去重、下载、诊断、输出 JSON。

整体链路是如下:

flowchart LR
    A["用户问题 / agent 任务"] --> B["paper-search Skill"]
    B --> C["paper-search CLI"]
    C --> D["来源选择 / 多源调度"]
    D --> E["Crossref / OpenAlex / PubMed / arXiv"]
    D --> F["Semantic Scholar / snippets"]
    D --> G["PMC / Europe PMC / CORE / OpenAIRE"]
    D --> H["WoS / Scopus / ScienceDirect / Springer 等 key 平台"]
    C --> I["统一论文数据模型"]
    I --> J["JSON 输出"]
    J --> K["agent / 脚本 / 终端继续处理"]

由设置的参数或 platform=all 决定要调用哪些来源,还没办法实现自动选择,我在考虑后续要不要加入根据任务选择自动选择哪种来源进行检索。

支持平台

平台 搜索 下载 全文 被引统计 API Key 特色功能 Crossref :white_check_mark: :cross_mark: :cross_mark: :white_check_mark: :cross_mark: 默认搜索平台,广泛元数据覆盖 OpenAlex :white_check_mark: :yellow_circle: 条件支持 :cross_mark: :white_check_mark: :cross_mark: 广泛免费元数据;记录含开放链接时可用于回退下载 arXiv :white_check_mark: :white_check_mark: :white_check_mark: :cross_mark: :cross_mark: 物理、计算机、数学等预印本 Web of Science :white_check_mark: :cross_mark: :cross_mark: :white_check_mark: :white_check_mark: 必需 引文数据库、日期排序、年份范围 PubMed :white_check_mark: :cross_mark: :cross_mark: :cross_mark: :yellow_circle: 可选 NCBI E-utilities 生物医学文献 PubMed Central :white_check_mark: :white_check_mark: :white_check_mark: :cross_mark: :cross_mark: 生物医学开放全文和 PMC PDF Europe PMC :white_check_mark: :white_check_mark: :white_check_mark: :cross_mark: :cross_mark: 生物医学元数据和开放全文链接 Google Scholar :white_check_mark: :cross_mark: :cross_mark: :white_check_mark: :cross_mark: 广泛学术发现,基于页面解析 bioRxiv :white_check_mark: :white_check_mark: :white_check_mark: :cross_mark: :cross_mark: 生物学预印本 medRxiv :white_check_mark: :white_check_mark: :white_check_mark: :cross_mark: :cross_mark: 医学预印本 Semantic Scholar :white_check_mark: :white_check_mark: :white_check_mark: 正文片段 :white_check_mark: :yellow_circle: 可选* AI 语义检索 + OA 正文片段 CORE :white_check_mark: :yellow_circle: 条件支持 :yellow_circle: 条件支持 :cross_mark: :yellow_circle: 可选 记录含 PDF 或全文链接时可下载 OpenAIRE :white_check_mark: :yellow_circle: 条件支持 :cross_mark: :cross_mark: :yellow_circle: 可选 记录含开放链接时可用于回退下载 Unpaywall :yellow_circle: 条件支持 :yellow_circle: 条件支持 :cross_mark: :cross_mark: :white_check_mark: 必需 仅支持 DOI 查询;需要 email;发现 OA PDF 时可下载 IACR ePrint :white_check_mark: :white_check_mark: :white_check_mark: :cross_mark: :cross_mark: 密码学论文 Sci-Hub :white_check_mark: :white_check_mark: :cross_mark: :cross_mark: :cross_mark: 基于 DOI 查询和下载 ScienceDirect :white_check_mark: :cross_mark: :cross_mark: :white_check_mark: :white_check_mark: 必需 Elsevier 元数据和摘要 Springer Nature :white_check_mark: :yellow_circle: 条件支持 :cross_mark: :cross_mark: :white_check_mark: 必需 开放获取记录可下载;元数据 API 需要 key Wiley :cross_mark: 关键词搜索 :white_check_mark: :white_check_mark: :cross_mark: :white_check_mark: 必需 TDM API,仅支持 DOI 下载 PDF Scopus :white_check_mark: :cross_mark: :cross_mark: :white_check_mark: :white_check_mark: 必需 摘要和引文数据库

说明:🟡 条件支持 表示只在满足条件时可用,例如记录里含 PDF / 开放获取链接、只能按 DOI 查询,或只能下载开放获取记录。🟡 可选* 对 Semantic Scholar 的含义是:普通检索可选;正文片段检索需要 SEMANTIC_SCHOLAR_API_KEY

常用命令

CLI 的输出设计是 agent-friendly,优先面向 AI、agent 和脚本解析。默认输出结构化 JSON。

安装:

npm install -g paper-search-cli
paper-search setup

搜索论文:可以同时多个来源进行检索

paper-search search "machine learning applications" --platform all --max-results 5 --pretty

--platform=all 会尝试所有已注册检索来源,但不包含 Wiley 这类只支持 DOI 下载、不能关键词搜索的平台。未配置 key、超时或请求失败的来源会写入 failed_sources / errors,其他来源继续返回。

paper-search search "machine learning applications" \
  --sources crossref,openalex,pubmed,pmc,europepmc \
  --max-results 5 \
  --pretty

--sources 用于手动指定多个来源。手动包含了没配置 key 或请求失败的来源时,CLI 会把失败写进 failed_sources / errors,同时继续返回其他来源的结果。

常用来源单独检索: 这里只列几个常用入口,完整平台和命令可以看 GitHub 上面。

# Crossref:默认元数据来源
paper-search search "machine learning applications" --platform crossref --max-results 5 --pretty

# OpenAlex:开放元数据和引用信息
paper-search search "open science metadata" --platform openalex --max-results 5 --pretty

# PubMed:生物医学文献
paper-search search "clinical trial methodology" --platform pubmed --max-results 5 --pretty

# arXiv:预印本
paper-search search "large language model evaluation" --platform arxiv --max-results 5 --pretty

# Semantic Scholar:查相关论文,返回论文列表、摘要、引用、DOI 等信息
paper-search search "graph neural networks" --platform semantic --max-results 5 --pretty

# Semantic Scholar snippets:查论文正文里的片段
paper-search run search_semantic_snippets \
  --arg query="statistical model validation methods" \
  --arg limit=5 \
  --arg fieldsOfStudy=Computer Science \
  --pretty

# PMC / Europe PMC / CORE:开放全文和开放仓储来源
paper-search run search_pmc --arg query="research reproducibility" --arg maxResults=5 --pretty
paper-search run search_europepmc --arg query="data sharing policy" --arg maxResults=5 --pretty
paper-search run search_core --arg query="open access repositories" --arg maxResults=5 --pretty

查看工具列表:

paper-search tools --pretty

查看平台状态:

paper-search status --pretty

诊断 API key:

paper-search diagnostics --pretty

API key 说明

不配置 key 也能用免费来源,像 Crossref、OpenAlex、arXiv、PubMed 这些来源的信息。

如果想体验完整一点,建议先配置:

配置 作用 SEMANTIC_SCHOLAR_API_KEY 正文片段检索、提升 Semantic Scholar 稳定性 CORE_API_KEY CORE 开放仓储检索,减少匿名限流 UNPAYWALL_EMAIL DOI 开放获取 PDF 解析 CROSSREF_MAILTO Crossref polite pool

申请入口:

配置 入口 说明 SEMANTIC_SCHOLAR_API_KEY Semantic Scholar API 正文片段检索需要它,好用,用edu邮箱注册申请都可以通过。 CORE_API_KEY CORE API 建议配置,匿名访问容易限流。 UNPAYWALL_EMAIL Unpaywall API 不需要申请 key,填自己的邮箱即可。 CROSSREF_MAILTO Crossref REST API 不需要申请 key,填自己的邮箱即可。 PUBMED_API_KEY NCBI API Keys 高频使用 PubMed 时再配,一般不需要。 WOS_API_KEY Clarivate Developer Portal 需要 Web of Science API 权限。 ELSEVIER_API_KEY Elsevier Developer Portal Scopus / ScienceDirect 需要有权限。 SPRINGER_API_KEY Springer Nature Developers Springer 检索和开放获取接口使用。 WILEY_TDM_TOKEN Wiley Text and Data Mining Wiley TDM 下载需要对应权限。

直接运行:

paper-search setup

如果想配置全部平台:

paper-search setup --all

Skill 配置

仓库里也放了一个可选的 agent skill,只是告诉 agent 什么时候该调用 paper-search、应该选哪个平台、如何处理 DOI / PDF / 正文片段检索。真正执行的仍然是 CLI:

skills/paper-search/SKILL.md

最后,希望有需要的佬友可以帮我点个star,我也是第一次做,有问题多多帮我提意见 :face_blowing_a_kiss:

1 个帖子 - 1 位参与者

阅读完整话题

来源: LinuxDo 最新话题查看原文