Install
openclaw skills install @cainingnk/xby-web-research-assistant一个提供网络研究和发现功能的综合模型上下文协议(MCP)服务器,包含13种工具用于搜索、爬取和分析网络内容。
openclaw skills install @cainingnk/xby-web-research-assistant一个提供网络研究和发现功能的综合模型上下文协议(MCP)服务器,包含13种工具用于搜索、爬取和分析网络内容。
此 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 数据整理后展示给用户根据用户意图选择对应的工具函数:
| 用户意图 | 工具函数 |
|---|---|
| Use this first to gather fresh web search results via the local SearXNG instance. | scripts.tools.web_search |
| Fetch a URL with crawl4ai when you need the actual page text for quoting or analysis. | scripts.tools.crawl_url |
| Look up package information from npm, PyPI, crates.io, or Go modules. |
Returns version, downloads, license, dependencies, security status, and repository links. Use this to quickly evaluate libraries before adding them to your project.
Examples:
scripts.tools.package_info |
|
Search for code examples, tutorials, and technical articles.Optimized for finding practical examples and learning resources. Can optionally filter by time range for the most recent content. Perfect for learning new APIs, finding usage patterns, or discovering how others solve specific technical problems.
Content Types:
Time Ranges:
Examples:
scripts.tools.search_examples |
|
Search for high-quality stock images using Pixabay.Returns royalty-free images that are safe to use. Perfect for finding photos, illustrations, and vector graphics for projects, presentations, or design work.
Image Types:
Examples:
scripts.tools.search_images |
|
Search for packages by keywords or description across registries.Use this to find packages that solve a specific problem or provide certain functionality. Perfect for discovering libraries when you know what you need but not the package name.
Examples:
scripts.tools.package_search |
|
Fetch GitHub repository information and health metrics.Returns stars, forks, issues, recent activity, language, license, and description. Use this to evaluate open source projects before using them.
Examples:
scripts.tools.github_repo |
|
Find solutions for error messages and stack traces from Stack Overflow and GitHub.Takes an error message or stack trace and finds relevant solutions with code examples. Automatically detects language and framework, extracts key error information, and searches for the best solutions ranked by votes and relevance.
Perfect for:
Examples:
scripts.tools.translate_error |
|
Search and fetch official API documentation with examples and explanations.Documentation-first approach: fetches human-written docs with context, examples, and best practices. Much more useful than OpenAPI specs alone.
Discovery strategy:
No hardcoded URLs - works for ANY API by discovering docs dynamically.
Examples:
scripts.tools.api_docs |
|
Extract structured data from web pages.Extracts tables, lists, or specific fields from HTML pages and returns structured data. Much more efficient than parsing full page text.
Extract Types:
Examples:
scripts.tools.extract_data |
|
Compare multiple technologies, frameworks, or libraries side-by-side.Automatically gathers information about each technology and presents a structured comparison to help make informed decisions.
Categories:
Examples:
scripts.tools.compare_tech |
| Get changelog and release notes for a package. | scripts.tools.get_changelog |
| Check if an API service or platform is experiencing issues. | scripts.tools.check_service_status |如果参数不完整,使用 AskUserQuestion 向用户询问缺失的参数。
工具描述:Use this first to gather fresh web search results via the local SearXNG instance.
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| query | string | true | null | |
| reasoning | string | true | null | |
| category | string | false | "general" | null |
| max_results | integer | false | 5.0 | null |
工具描述:Fetch a URL with crawl4ai when you need the actual page text for quoting or analysis.
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| url | string | true | null | |
| reasoning | string | true | null | |
| max_chars | integer | false | 8000.0 | null |
工具描述: Look up package information from npm, PyPI, crates.io, or Go modules.
Returns version, downloads, license, dependencies, security status, and repository links. Use this to quickly evaluate libraries before adding them to your project.
Examples:
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| name | string | true | null | |
| reasoning | string | true | null | |
| registry | string | false | "npm" | null |
工具描述: Search for code examples, tutorials, and technical articles.
Optimized for finding practical examples and learning resources. Can optionally filter by time range for the most recent content. Perfect for learning new APIs, finding usage patterns, or discovering how others solve specific technical problems.
Content Types:
Time Ranges:
Examples:
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| query | string | true | null | |
| reasoning | string | true | null | |
| content_type | string | false | "both" | null |
| time_range | string | false | "all" | null |
| max_results | integer | false | 5.0 | null |
工具描述: Search for high-quality stock images using Pixabay.
Returns royalty-free images that are safe to use. Perfect for finding photos, illustrations, and vector graphics for projects, presentations, or design work.
Image Types:
Examples:
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| query | string | true | null | |
| reasoning | string | true | null | |
| image_type | string | false | "all" | null |
| orientation | string | false | "all" | null |
| max_results | integer | false | 10.0 | null |
工具描述: Search for packages by keywords or description across registries.
Use this to find packages that solve a specific problem or provide certain functionality. Perfect for discovering libraries when you know what you need but not the package name.
Examples:
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| query | string | true | null | |
| reasoning | string | true | null | |
| registry | string | false | "npm" | null |
| max_results | integer | false | 5.0 | null |
工具描述: Fetch GitHub repository information and health metrics.
Returns stars, forks, issues, recent activity, language, license, and description. Use this to evaluate open source projects before using them.
Examples:
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| repo | string | true | null | |
| reasoning | string | true | null | |
| include_commits | boolean | false | true | null |
工具描述: Find solutions for error messages and stack traces from Stack Overflow and GitHub.
Takes an error message or stack trace and finds relevant solutions with code examples. Automatically detects language and framework, extracts key error information, and searches for the best solutions ranked by votes and relevance.
Perfect for:
Examples:
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| error_message | string | true | null | |
| reasoning | string | true | null | |
| language | null | false | null | |
| framework | null | false | null | |
| max_results | integer | false | 5.0 | null |
工具描述: Search and fetch official API documentation with examples and explanations.
Documentation-first approach: fetches human-written docs with context, examples, and best practices. Much more useful than OpenAPI specs alone.
Discovery strategy:
No hardcoded URLs - works for ANY API by discovering docs dynamically.
Examples:
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| api_name | string | true | null | |
| reasoning | string | true | null | |
| topic | string | true | null | |
| max_results | integer | false | 2.0 | null |
工具描述: Extract structured data from web pages.
Extracts tables, lists, or specific fields from HTML pages and returns structured data. Much more efficient than parsing full page text.
Extract Types:
Examples:
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| url | string | true | null | |
| reasoning | string | true | null | |
| extract_type | string | false | "auto" | null |
| selectors | null | false | null | |
| max_items | integer | false | 100.0 | null |
工具描述: Compare multiple technologies, frameworks, or libraries side-by-side.
Automatically gathers information about each technology and presents a structured comparison to help make informed decisions.
Categories:
Examples:
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| technologies | array | true | null | |
| reasoning | string | true | null | |
| category | string | false | "auto" | null |
| aspects | null | false | null | |
| max_results_per_tech | integer | false | 3.0 | null |
工具描述:Get changelog and release notes for a package.
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| package | string | true | null | |
| reasoning | string | true | null | |
| registry | string | false | "auto" | null |
| max_releases | integer | false | 5.0 | null |
工具描述:Check if an API service or platform is experiencing issues.
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| service | string | true | null | |
| reasoning | string | true | 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