paper-search-cli 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/.env.example +18 -3
  2. package/README-sc.md +110 -25
  3. package/README.md +109 -24
  4. package/dist/cli.js +27 -3
  5. package/dist/cli.js.map +1 -1
  6. package/dist/config/ConfigService.d.ts +1 -1
  7. package/dist/config/ConfigService.d.ts.map +1 -1
  8. package/dist/config/ConfigService.js +4 -1
  9. package/dist/config/ConfigService.js.map +1 -1
  10. package/dist/config/constants.d.ts +6 -0
  11. package/dist/config/constants.d.ts.map +1 -1
  12. package/dist/config/constants.js +4 -1
  13. package/dist/config/constants.js.map +1 -1
  14. package/dist/core/diagnostics.d.ts.map +1 -1
  15. package/dist/core/diagnostics.js +34 -12
  16. package/dist/core/diagnostics.js.map +1 -1
  17. package/dist/core/handleToolCall.d.ts.map +1 -1
  18. package/dist/core/handleToolCall.js +50 -7
  19. package/dist/core/handleToolCall.js.map +1 -1
  20. package/dist/core/platformMetadata.d.ts +28 -0
  21. package/dist/core/platformMetadata.d.ts.map +1 -0
  22. package/dist/core/platformMetadata.js +258 -0
  23. package/dist/core/platformMetadata.js.map +1 -0
  24. package/dist/core/schemas.d.ts +108 -74
  25. package/dist/core/schemas.d.ts.map +1 -1
  26. package/dist/core/schemas.js +29 -38
  27. package/dist/core/schemas.js.map +1 -1
  28. package/dist/core/searchers.d.ts +11 -0
  29. package/dist/core/searchers.d.ts.map +1 -1
  30. package/dist/core/searchers.js +17 -1
  31. package/dist/core/searchers.js.map +1 -1
  32. package/dist/core/tools.d.ts.map +1 -1
  33. package/dist/core/tools.js +57 -30
  34. package/dist/core/tools.js.map +1 -1
  35. package/dist/platforms/ACMSearcher.d.ts +16 -0
  36. package/dist/platforms/ACMSearcher.d.ts.map +1 -0
  37. package/dist/platforms/ACMSearcher.js +125 -0
  38. package/dist/platforms/ACMSearcher.js.map +1 -0
  39. package/dist/platforms/ArxivSearcher.d.ts.map +1 -1
  40. package/dist/platforms/ArxivSearcher.js +10 -2
  41. package/dist/platforms/ArxivSearcher.js.map +1 -1
  42. package/dist/platforms/DBLPSearcher.d.ts +16 -0
  43. package/dist/platforms/DBLPSearcher.d.ts.map +1 -0
  44. package/dist/platforms/DBLPSearcher.js +116 -0
  45. package/dist/platforms/DBLPSearcher.js.map +1 -0
  46. package/dist/platforms/IEEESearcher.d.ts +15 -0
  47. package/dist/platforms/IEEESearcher.d.ts.map +1 -0
  48. package/dist/platforms/IEEESearcher.js +123 -0
  49. package/dist/platforms/IEEESearcher.js.map +1 -0
  50. package/dist/platforms/OpenAIRESearcher.d.ts.map +1 -1
  51. package/dist/platforms/OpenAIRESearcher.js +9 -1
  52. package/dist/platforms/OpenAIRESearcher.js.map +1 -1
  53. package/dist/platforms/OpenReviewSearcher.d.ts +19 -0
  54. package/dist/platforms/OpenReviewSearcher.d.ts.map +1 -0
  55. package/dist/platforms/OpenReviewSearcher.js +141 -0
  56. package/dist/platforms/OpenReviewSearcher.js.map +1 -0
  57. package/dist/platforms/PaperSource.d.ts +6 -0
  58. package/dist/platforms/PaperSource.d.ts.map +1 -1
  59. package/dist/platforms/PaperSource.js.map +1 -1
  60. package/dist/platforms/PubMedSearcher.d.ts.map +1 -1
  61. package/dist/platforms/PubMedSearcher.js +8 -0
  62. package/dist/platforms/PubMedSearcher.js.map +1 -1
  63. package/dist/platforms/USENIXSearcher.d.ts +14 -0
  64. package/dist/platforms/USENIXSearcher.d.ts.map +1 -0
  65. package/dist/platforms/USENIXSearcher.js +75 -0
  66. package/dist/platforms/USENIXSearcher.js.map +1 -0
  67. package/dist/services/MultiSourceSearchService.d.ts.map +1 -1
  68. package/dist/services/MultiSourceSearchService.js +8 -34
  69. package/dist/services/MultiSourceSearchService.js.map +1 -1
  70. package/dist/services/OpenAccessFallbackService.d.ts +1 -0
  71. package/dist/services/OpenAccessFallbackService.d.ts.map +1 -1
  72. package/dist/services/OpenAccessFallbackService.js +2 -2
  73. package/dist/services/OpenAccessFallbackService.js.map +1 -1
  74. package/dist/utils/HttpClient.d.ts +6 -0
  75. package/dist/utils/HttpClient.d.ts.map +1 -0
  76. package/dist/utils/HttpClient.js +30 -0
  77. package/dist/utils/HttpClient.js.map +1 -0
  78. package/dist/utils/PdfDownload.d.ts.map +1 -1
  79. package/dist/utils/PdfDownload.js +106 -16
  80. package/dist/utils/PdfDownload.js.map +1 -1
  81. package/package.json +3 -1
  82. package/skills/paper-search/SKILL.md +16 -5
@@ -3,7 +3,7 @@ name: paper-search
3
3
  description: |
4
4
  学术文献检索与论文获取调度器,基于 paper-search CLI,而不是 MCP server。
5
5
  用于:搜索论文、查找相似研究、做文献综述初筛、验证 PMID/DOI、下载论文 PDF、
6
- 调用 Crossref/OpenAlex/PubMed/PMC/Europe PMC/arXiv/bioRxiv/medRxiv/Semantic Scholar/CORE/OpenAIRE/IACR 等来源,
6
+ 调用 Crossref/OpenAlex/PubMed/PMC/Europe PMC/arXiv/bioRxiv/medRxiv/Semantic Scholar/CORE/OpenAIRE/DBLP/ACM/USENIX/OpenReview/IACR 等来源,
7
7
  以及使用 Semantic Scholar Open Access snippet 索引检索论文正文片段中的方法学细节。
8
8
  当用户提到“搜文献”“找论文”“文献检索”“search papers”“find papers”“literature search”
9
9
  “查一下有没有相关研究”“帮我找几篇参考文献”“看看别人怎么做的”“下载论文 PDF”
@@ -26,7 +26,7 @@ command -v paper-search
26
26
  paper-search status --pretty
27
27
  ```
28
28
 
29
- 如果涉及 Semantic Scholar 正文片段、CORE、Unpaywall、Web of Science、Scopus、ScienceDirect、Springer 或 Wiley 等需要 key/邮箱的能力,再运行:
29
+ 如果涉及 Semantic Scholar 正文片段、CORE、Unpaywall、Web of Science、IEEE Xplore、Scopus、ScienceDirect、Springer/SpringerLink 或 Wiley 等需要 key/邮箱的能力,再运行:
30
30
 
31
31
  ```bash
32
32
  paper-search config doctor --pretty
@@ -65,6 +65,8 @@ paper-search status --pretty
65
65
  paper-search search "machine learning" --platform crossref --max-results 5 --pretty
66
66
  paper-search search "osteoarthritis occupational exposure" --platform pubmed --max-results 10 --pretty
67
67
  paper-search search "transformer attention mechanism" --sources arxiv,semantic,crossref --max-results 5 --pretty
68
+ paper-search search "graph neural networks" --platform dblp --max-results 5 --pretty
69
+ paper-search search "large language models" --platform openreview --max-results 5 --pretty
68
70
  ```
69
71
 
70
72
  `--platform all` 或 `--sources all` 只用于需要广覆盖召回时。精确任务优先指定平台或 `--sources`。
@@ -74,6 +76,8 @@ paper-search search "transformer attention mechanism" --sources arxiv,semantic,c
74
76
  ```bash
75
77
  paper-search run search_pubmed --arg query="osteoarthritis occupational exposure" --arg maxResults=10 --pretty
76
78
  paper-search run search_openalex --arg query="causal inference target trial emulation" --arg maxResults=5 --pretty
79
+ paper-search run search_acm --arg query="software testing" --arg maxResults=5 --pretty
80
+ paper-search run search_usenix --arg query="file systems" --arg maxResults=5 --pretty
77
81
  paper-search run get_paper_by_doi --arg doi="10.xxxx/xxxxx" --pretty
78
82
  ```
79
83
 
@@ -88,10 +92,10 @@ paper-search run search_semantic_scholar --json-args '{"query":"graph neural net
88
92
  ```bash
89
93
  paper-search download 2301.12345 --platform arxiv --save-path ./downloads --pretty
90
94
  paper-search run download_paper --arg paperId="10.xxxx/xxxxx" --arg platform=springer --arg savePath="./downloads" --pretty
91
- paper-search run download_with_fallback --json-args '{"doi":"10.xxxx/xxxxx","title":"Paper title","savePath":"./downloads","useSciHub":false}' --pretty
95
+ paper-search run download_with_fallback --json-args '{"source":"crossref","paperId":"10.xxxx/xxxxx","doi":"10.xxxx/xxxxx","title":"Paper title","savePath":"./downloads"}' --pretty
92
96
  ```
93
97
 
94
- 默认不要启用 Sci-Hub;只有用户明确要求并承担相应访问边界时,才把 `useSciHub` 设为 `true`。
98
+ 下载漏斗默认包含 Sci-Hub 作为最后兜底;只有用户明确要求关闭该阶段时,才把 `useSciHub` 设为 `false`。
95
99
 
96
100
  ## 平台选择
97
101
 
@@ -100,11 +104,18 @@ paper-search run download_with_fallback --json-args '{"doi":"10.xxxx/xxxxx","tit
100
104
  | 生物医学、临床、药学、公卫 | `pubmed` | `pmc`, `europepmc`, `semantic`, `crossref` |
101
105
  | 正文方法学片段 | `search_semantic_snippets` | 先用 `pubmed`/`semantic` 找题名和同义词 |
102
106
  | 计算机、AI、数学、物理 | `arxiv` | `semantic`, `crossref`, `openalex` |
107
+ | 计算机文献目录/会议元数据 | `dblp` | `acm`, `usenix`, `openreview`, `ieee` 需要 key |
103
108
  | 跨学科广覆盖 | `crossref` | `openalex`, `semantic` |
104
109
  | 开放获取全文发现 | `pmc`, `europepmc`, `core`, `openaire`, `unpaywall` | `download_with_fallback` |
105
110
  | 密码学 | `iacr` | `arxiv` |
106
111
  | 引用统计排序 | `semantic`, `crossref`, `openalex` | `webofscience`, `scopus` 需要 key |
107
- | 出版商/付费数据库 | `webofscience`, `scopus`, `sciencedirect`, `springer`, `wiley` | 仅在 key 已配置时使用 |
112
+ | 出版商/付费数据库 | `webofscience`, `ieee`, `scopus`, `sciencedirect`, `springer`/`springerlink`, `wiley` | 仅在 key 已配置时使用 |
113
+
114
+ 平台边界:
115
+
116
+ - `acm` 通过 Crossref 的 ACM DOI 前缀检索元数据,不抓取 ACM Digital Library 页面。
117
+ - `usenix` 通过 DBLP 返回 USENIX 相关会议/期刊元数据,不抓取 USENIX 搜索页。
118
+ - `springerlink` 是 `springer` 的别名,仍需要 Springer API key。
108
119
 
109
120
  查询构建规则:
110
121