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.
- package/.env.example +18 -3
- package/README-sc.md +110 -25
- package/README.md +109 -24
- package/dist/cli.js +27 -3
- package/dist/cli.js.map +1 -1
- package/dist/config/ConfigService.d.ts +1 -1
- package/dist/config/ConfigService.d.ts.map +1 -1
- package/dist/config/ConfigService.js +4 -1
- package/dist/config/ConfigService.js.map +1 -1
- package/dist/config/constants.d.ts +6 -0
- package/dist/config/constants.d.ts.map +1 -1
- package/dist/config/constants.js +4 -1
- package/dist/config/constants.js.map +1 -1
- package/dist/core/diagnostics.d.ts.map +1 -1
- package/dist/core/diagnostics.js +34 -12
- package/dist/core/diagnostics.js.map +1 -1
- package/dist/core/handleToolCall.d.ts.map +1 -1
- package/dist/core/handleToolCall.js +50 -7
- package/dist/core/handleToolCall.js.map +1 -1
- package/dist/core/platformMetadata.d.ts +28 -0
- package/dist/core/platformMetadata.d.ts.map +1 -0
- package/dist/core/platformMetadata.js +258 -0
- package/dist/core/platformMetadata.js.map +1 -0
- package/dist/core/schemas.d.ts +108 -74
- package/dist/core/schemas.d.ts.map +1 -1
- package/dist/core/schemas.js +29 -38
- package/dist/core/schemas.js.map +1 -1
- package/dist/core/searchers.d.ts +11 -0
- package/dist/core/searchers.d.ts.map +1 -1
- package/dist/core/searchers.js +17 -1
- package/dist/core/searchers.js.map +1 -1
- package/dist/core/tools.d.ts.map +1 -1
- package/dist/core/tools.js +57 -30
- package/dist/core/tools.js.map +1 -1
- package/dist/platforms/ACMSearcher.d.ts +16 -0
- package/dist/platforms/ACMSearcher.d.ts.map +1 -0
- package/dist/platforms/ACMSearcher.js +125 -0
- package/dist/platforms/ACMSearcher.js.map +1 -0
- package/dist/platforms/ArxivSearcher.d.ts.map +1 -1
- package/dist/platforms/ArxivSearcher.js +10 -2
- package/dist/platforms/ArxivSearcher.js.map +1 -1
- package/dist/platforms/DBLPSearcher.d.ts +16 -0
- package/dist/platforms/DBLPSearcher.d.ts.map +1 -0
- package/dist/platforms/DBLPSearcher.js +116 -0
- package/dist/platforms/DBLPSearcher.js.map +1 -0
- package/dist/platforms/IEEESearcher.d.ts +15 -0
- package/dist/platforms/IEEESearcher.d.ts.map +1 -0
- package/dist/platforms/IEEESearcher.js +123 -0
- package/dist/platforms/IEEESearcher.js.map +1 -0
- package/dist/platforms/OpenAIRESearcher.d.ts.map +1 -1
- package/dist/platforms/OpenAIRESearcher.js +9 -1
- package/dist/platforms/OpenAIRESearcher.js.map +1 -1
- package/dist/platforms/OpenReviewSearcher.d.ts +19 -0
- package/dist/platforms/OpenReviewSearcher.d.ts.map +1 -0
- package/dist/platforms/OpenReviewSearcher.js +141 -0
- package/dist/platforms/OpenReviewSearcher.js.map +1 -0
- package/dist/platforms/PaperSource.d.ts +6 -0
- package/dist/platforms/PaperSource.d.ts.map +1 -1
- package/dist/platforms/PaperSource.js.map +1 -1
- package/dist/platforms/PubMedSearcher.d.ts.map +1 -1
- package/dist/platforms/PubMedSearcher.js +8 -0
- package/dist/platforms/PubMedSearcher.js.map +1 -1
- package/dist/platforms/USENIXSearcher.d.ts +14 -0
- package/dist/platforms/USENIXSearcher.d.ts.map +1 -0
- package/dist/platforms/USENIXSearcher.js +75 -0
- package/dist/platforms/USENIXSearcher.js.map +1 -0
- package/dist/services/MultiSourceSearchService.d.ts.map +1 -1
- package/dist/services/MultiSourceSearchService.js +8 -34
- package/dist/services/MultiSourceSearchService.js.map +1 -1
- package/dist/services/OpenAccessFallbackService.d.ts +1 -0
- package/dist/services/OpenAccessFallbackService.d.ts.map +1 -1
- package/dist/services/OpenAccessFallbackService.js +2 -2
- package/dist/services/OpenAccessFallbackService.js.map +1 -1
- package/dist/utils/HttpClient.d.ts +6 -0
- package/dist/utils/HttpClient.d.ts.map +1 -0
- package/dist/utils/HttpClient.js +30 -0
- package/dist/utils/HttpClient.js.map +1 -0
- package/dist/utils/PdfDownload.d.ts.map +1 -1
- package/dist/utils/PdfDownload.js +106 -16
- package/dist/utils/PdfDownload.js.map +1 -1
- package/package.json +3 -1
- 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"
|
|
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
|
-
|
|
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
|
|