Install
openclaw skills install @cainingnk/xby-article基于FastMCP框架开发的专业文献搜索工具,支持多源文献搜索、文献详情获取、参考文献管理、文献关系分析、期刊质量评估和批量结果导出等功能,适用于学术研究和AI助手集成。
openclaw skills install @cainingnk/xby-article基于FastMCP框架开发的专业文献搜索工具,支持多源文献搜索、文献详情获取、参考文献管理、文献关系分析、期刊质量评估和批量结果导出等功能,适用于学术研究和AI助手集成。
此 Skill 必须配置 API 密钥才能使用。
.env 中没有 XBY_APIKEY,必须使用 AskUserQuestion 工具向用户询问 API 密钥scripts.config.set_api_key(api_key) 保存,然后继续处理你(大模型)是路由层,负责理解用户意图、选择工具、提取参数。代码只负责调用API。
用户输入 → 你选择工具 → 提取该工具需要的参数 → 调用 scripts.tools 中的函数 → 返回结果给用户
scripts.config.settings.api_key 为空,使用 AskUserQuestion 询问用户,拿到后调用 scripts.config.set_api_key(key) 保存scripts.tools 中的函数,例如 scripts.tools.search_schools(score='520', province='北京', category='综合')raw 数据整理后展示给用户根据用户意图选择对应的工具函数:
| 用户意图 | 工具函数 |
|---|---|
| 多源文献搜索工具。用于查找文献并获取 PMCID。 |
⚠️ 此工具只返回元数据(标题、作者、摘要、PMCID等),不包含全文内容。 如需获取全文,请使用返回结果中的 pmcid 调用"文献全文"工具。
搜索策略:
主要参数:
返回数据包含:标题、作者、期刊、摘要、PMCID、DOI等元数据(不含全文) | scripts.tools.search_literature |
| 获取文献全文工具。
前置条件:需要 PMCID 标识符
主要参数:
数据源:Europe PMC + PMC 全文数据库 返回数据包含标题、作者、摘要、期刊、发表日期和全文内容
全文功能:
批量返回结构: { "total": 10, # 总请求数 "successful": 8, # 成功获取数 "failed": 2, # 失败数 "articles": [...], # 成功的文章列表(含全文) "fulltext_stats": { # 全文统计 "has_pmcid": 8, # 有 PMCID 数量 "fulltext_fetched": 8 # 成功获取全文数量 } }
支持的章节名称:
scripts.tools.get_article_details |
| 获取参考文献工具。通过文献标识符获取其引用的参考文献列表,支持智能去重。主要参数:
支持的数据源:Europe PMC、CrossRef、PubMed
去重规则:优先按DOI去重,其次按标题去重;按数据源优先级排序 | scripts.tools.get_references |
| 文献关系分析工具。分析文献间的引用关系、相似文献和引用网络。
关系类型:
主要参数:
分析模式:
scripts.tools.get_literature_relations |
| 期刊质量评估工具。评估期刊的学术质量和影响力指标,集成 EasyScholar + OpenAlex 双数据源。支持的指标: EasyScholar 提供:impact_factor(影响因子)、quartile(SCI分区 Q1-Q4)、jci(JCI指数)、cas_zone(中科院分区)、cas_zone_top(TOP期刊标识) OpenAlex 提供:h_index(h指数)、citation_rate(2年引用率)、cited_by_count(总引用数)、works_count(总文章数)、i10_index(i10指数)
主要参数:
使用示例:单个期刊查询、批量期刊查询、批量查询并排序、指定返回指标 | scripts.tools.get_journal_quality |
如果参数不完整,使用 AskUserQuestion 向用户询问缺失的参数。
工具描述:多源文献搜索工具。用于查找文献并获取 PMCID。
⚠️ 此工具只返回元数据(标题、作者、摘要、PMCID等),不包含全文内容。 如需获取全文,请使用返回结果中的 pmcid 调用"文献全文"工具。
搜索策略:
主要参数:
返回数据包含:标题、作者、期刊、摘要、PMCID、DOI等元数据(不含全文)
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| keyword | string | true | null | |
| sources | null | false | null | |
| max_results | integer | false | 10.0 | null |
| search_type | string | false | "comprehensive" | null |
| use_cache | boolean | false | true | null |
工具描述:获取文献全文工具。
前置条件:需要 PMCID 标识符
主要参数:
数据源:Europe PMC + PMC 全文数据库 返回数据包含标题、作者、摘要、期刊、发表日期和全文内容
全文功能:
批量返回结构: { "total": 10, # 总请求数 "successful": 8, # 成功获取数 "failed": 2, # 失败数 "articles": [...], # 成功的文章列表(含全文) "fulltext_stats": { # 全文统计 "has_pmcid": 8, # 有 PMCID 数量 "fulltext_fetched": 8 # 成功获取全文数量 } }
支持的章节名称:
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| pmcid | null | true | null | |
| sections | null | false | null | |
| format | string | false | "markdown" | null |
工具描述:获取参考文献工具。通过文献标识符获取其引用的参考文献列表,支持智能去重。
主要参数:
支持的数据源:Europe PMC、CrossRef、PubMed 去重规则:优先按DOI去重,其次按标题去重;按数据源优先级排序
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| identifier | string | true | null | |
| id_type | string | false | "doi" | null |
| sources | null | false | null | |
| max_results | integer | false | 20.0 | null |
| include_metadata | boolean | false | true | null |
工具描述:文献关系分析工具。分析文献间的引用关系、相似文献和引用网络。
关系类型:
主要参数:
分析模式:
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| identifier | null | false | null | |
| identifiers | null | false | null | |
| id_type | string | false | "auto" | null |
| relation_types | null | false | null | |
| max_results | integer | false | 20.0 | null |
| sources | null | false | null | |
| analysis_type | string | false | "basic" | null |
| max_depth | integer | false | 1.0 | null |
工具描述:期刊质量评估工具。评估期刊的学术质量和影响力指标,集成 EasyScholar + OpenAlex 双数据源。
支持的指标: EasyScholar 提供:impact_factor(影响因子)、quartile(SCI分区 Q1-Q4)、jci(JCI指数)、cas_zone(中科院分区)、cas_zone_top(TOP期刊标识) OpenAlex 提供:h_index(h指数)、citation_rate(2年引用率)、cited_by_count(总引用数)、works_count(总文章数)、i10_index(i10指数)
主要参数:
使用示例:单个期刊查询、批量期刊查询、批量查询并排序、指定返回指标
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| journal_name | null | true | null | |
| include_metrics | null | false | null | |
| use_cache | boolean | false | true | null |
| sort_by | null | false | null | |
| sort_order | string | false | "desc" | null |
工具函数返回 dict 对象:
result["raw"] - API 原始返回数据(JSON),直接将此数据整理后展示给用户result["success"] - 是否成功(True/False)result["message"] - 状态消息xiaobenyang_gaokao_skill/
├── scripts/
│ ├── __init__.py
│ ├── config.py # 配置管理 + set_api_key()
│ ├── call_api.py # API 客户端 + call_api()
│ └── tools.py # 工具函数(直接调用)
├── requirements.txt
└── SKILL.md