Install
openclaw skills install @cainingnk/dblp一个通过模型上下文协议(MCP)提供DBLP计算机科学文献数据库访问的服务,支持学术文献检索、引用生成及格式化功能。
openclaw skills install @cainingnk/dblp一个通过模型上下文协议(MCP)提供DBLP计算机科学文献数据库访问的服务,支持学术文献检索、引用生成及格式化功能。
此 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 数据整理后展示给用户根据用户意图选择对应的工具函数:
| 用户意图 | 工具函数 |
|---|---|
| Get detailed DBLP usage instructions. Key points: |
scripts.tools.get_instructions |
| Search DBLP for publications using a boolean query string.
Arguments:
scripts.tools.search |
| Search DBLP for publications with fuzzy title matching.
Arguments:scripts.tools.fuzzy_title_search |
| Retrieve publication details for a specific author with fuzzy matching.
Arguments:scripts.tools.get_author_publications |
| Retrieve information about a publication venue from DBLP.
Arguments:scripts.tools.get_venue_info |
| Calculate statistics from a list of publication results.
Arguments:scripts.tools.calculate_statistics |
| Add a BibTeX entry to the collection for later export. Call this once for each paper you want to export.
Arguments:scripts.tools.add_bibtex_entry |
| Export all collected BibTeX entries to a .bib file. Call this after adding all entries with add_bibtex_entry.
Workflow:scripts.tools.export_bibtex |如果参数不完整,使用 AskUserQuestion 向用户询问缺失的参数。
工具描述:Get detailed DBLP usage instructions. Key points:
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|
工具描述:Search DBLP for publications using a boolean query string. Arguments:
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| query | string | true | null | |
| max_results | number | false | null | |
| year_from | number | false | null | |
| year_to | number | false | null | |
| venue_filter | string | false | null | |
| include_bibtex | boolean | false | null |
工具描述:Search DBLP for publications with fuzzy title matching. Arguments:
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| title | string | true | null | |
| similarity_threshold | number | true | null | |
| max_results | number | false | null | |
| year_from | number | false | null | |
| year_to | number | false | null | |
| venue_filter | string | false | null | |
| include_bibtex | boolean | false | null |
工具描述:Retrieve publication details for a specific author with fuzzy matching. Arguments:
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| author_name | string | true | null | |
| similarity_threshold | number | true | null | |
| max_results | number | false | null | |
| include_bibtex | boolean | false | null |
工具描述:Retrieve information about a publication venue from DBLP. Arguments:
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| venue_name | string | true | null |
工具描述:Calculate statistics from a list of publication results. Arguments:
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| results | array | true | null |
工具描述:Add a BibTeX entry to the collection for later export. Call this once for each paper you want to export. Arguments:
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| dblp_key | string | true | null | |
| citation_key | string | true | null |
工具描述:Export all collected BibTeX entries to a .bib file. Call this after adding all entries with add_bibtex_entry. Workflow:
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| path | string | true | Absolute path for the .bib file (e.g., '/path/to/refs.bib'). The .bib extension is added automatically if missing. Parent directories are created if needed. |
工具函数返回 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