$npx -y skills add woodfishhhh/EZ_math_model --skill paper_search论文检索子 skill。通过 OpenAlex API(默认)、arXiv、Semantic Scholar、CrossRef 四个免费源聚合搜索学术文献,返回结构化论文元信息(含 DOI / 摘要 / 引用数)。 默认零配置;可选 EZMM_OPENALEX_EMAIL / EZMM_S2_API_KEY 提升配额。
| 1 | # paper-search — 多源学术论文检索 |
| 2 | |
| 3 | ## 何时使用 |
| 4 | |
| 5 | - writer 在 pipeline 04 写理论性章节("为什么用 AHP" 等) |
| 6 | - modeler 在 pipeline 02 选择非教科书算法时找文献 |
| 7 | - 任何需要"标题 → DOI → 摘要"的场景 |
| 8 | |
| 9 | ## 入口脚本 |
| 10 | |
| 11 | `scripts/openalex_scholar.py` — OpenAlex 单源(首选,零配置) |
| 12 | `scripts/aggregated_search.py` — 多源聚合(OpenAlex + arXiv + S2 + CrossRef) |
| 13 | |
| 14 | ## 命令行用法 |
| 15 | |
| 16 | ```powershell |
| 17 | # 单源(推荐先试) |
| 18 | python scripts/openalex_scholar.py "AHP TOPSIS comprehensive evaluation" --top-k 5 |
| 19 | |
| 20 | # 多源聚合(更全但慢) |
| 21 | python scripts/aggregated_search.py "grey prediction GM(1,1)" --top-k 8 |
| 22 | |
| 23 | # 输出到文件(用于 writer 后续读取) |
| 24 | python scripts/aggregated_search.py "Sobol sensitivity analysis" --top-k 5 \ |
| 25 | --out workdir/{task_id}/refs/sensitivity.json |
| 26 | ``` |
| 27 | |
| 28 | ## 输出格式(JSON 数组) |
| 29 | |
| 30 | ```json |
| 31 | [ |
| 32 | { |
| 33 | "title": "...", |
| 34 | "authors": ["...", "..."], |
| 35 | "year": 2022, |
| 36 | "doi": "10.1109/...", |
| 37 | "venue": "Journal / Conf", |
| 38 | "abstract": "...(≤ 500 字符)", |
| 39 | "cited_by_count": 132, |
| 40 | "url": "https://doi.org/...", |
| 41 | "source": "openalex | arxiv | s2 | crossref" |
| 42 | } |
| 43 | ] |
| 44 | ``` |
| 45 | |
| 46 | writer 取后插入 footnote 候选;每条文献全文唯一引用一次。 |
| 47 | |
| 48 | ## 配置 |
| 49 | |
| 50 | | Env Var | 必需 | 用途 | |
| 51 | |---|---|---| |
| 52 | | `EZMM_OPENALEX_EMAIL` | 否 | 提供邮箱可提升 OpenAlex 配额 | |
| 53 | | `EZMM_S2_API_KEY` | 否 | Semantic Scholar 配额翻倍 | |
| 54 | |
| 55 | 不填仍可使用所有源的免费配额。 |
| 56 | |
| 57 | ## 限速与重试 |
| 58 | |
| 59 | - 单源失败重试 1 次(指数退避 1s, 4s) |
| 60 | - 第 2 次失败 → 标记该源不可用,跳过 |
| 61 | - 至少 1 个源成功就返回结果,不强求全部 |
| 62 | |
| 63 | ## 失败诊断 |
| 64 | |
| 65 | | 情况 | 处理 | |
| 66 | |---|---| |
| 67 | | 全部源不可达(断网) | stdout 输出 `[]`,stderr 给出诊断 | |
| 68 | | 单源限流 | 跳过;其他源继续 | |
| 69 | | 关键词太长 | 自动截至 200 字符 | |