Jd
提供京东集团历史、业务、物流、商业模式等全面信息查询。
基于MCP的网络研究工具集,支持搜索、爬取与分析,需配置API密钥。
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 数据整理后展示给用户根据用户意图选择对应的工具函数:
| 用户意图 | 工具函数 |
|---|---|
| 使用本地 SearXNG 实例获取最新的网页搜索结果。 | scripts.tools.web_search |
| 当需要实际页面文本用于引用或分析时,使用 crawl4ai 抓取指定 URL 内容。 | scripts.tools.crawl_url |
| 从 npm、PyPI、crates.io 或 Go 模块中查询包信息。<br>返回版本号、下载量、许可证、依赖项、安全状态及仓库链接。<br>可用于快速评估库在项目中引入前的适用性。<br><br>示例:<br>- package_info("express", reasoning="需要 Web 框架", registry="npm")<br>- package_info("requests", reasoning="API 的 HTTP 客户端", registry="pypi")<br>- package_info("serde", reasoning="JSON 序列化", registry="crates") | scripts.tools.package_info |
| 搜索代码示例、教程和技术文章。<br>优化用于查找实用示例和学习资源。可选择性按时间范围筛选最新内容。<br>适用于学习新 API、发现使用模式或了解他人如何解决特定技术问题。<br><br>内容类型:<br>- 'code':GitHub 仓库、代码片段、Gists、Stack Overflow 代码示例<br>- 'articles':博客文章、教程、文档、技术文章<br>- 'both':代码与文字内容混合(默认)<br><br>时间范围:<br>- 'all':搜索所有可用内容(默认,推荐用于最佳结果)<br>- 'year'、'month'、'week'、'day':仅筛选最近内容<br><br>示例:<br>- search_examples("FastAPI 依赖注入示例", content_type="code")<br>- search_examples("React Hooks 教程", content_type="articles", time_range="year")<br>- search_examples("Rust 生命周期示例", content_type="both") | scripts.tools.search_examples |
| 使用 Pixabay 搜索高质量图片。<br>返回无版权图片,可安全用于项目、演示或设计工作。<br>适用于寻找照片、插图或矢量图形。<br><br>图片类型:<br>- 'photo':真实照片<br>- 'illustration':数字插画与艺术作品<br>- 'vector':矢量图形(支持 SVG 格式)<br>- 'all':所有类型(默认)<br><br>示例:<br>- search_images("山地景观", image_type="photo")<br>- search_images("商务图标", image_type="vector")<br>- search_images("科技背景", orientation="horizontal") | scripts.tools.search_images |
| 通过关键词或描述在注册表中搜索包。<br>用于发现满足特定需求但不知道具体包名的库。<br>适用于在已知功能需求但未知名称时进行探索。<br><br>示例:<br>- package_search("Web 框架", reasoning="需要后端框架", registry="npm")<br>- package_search("JSON 解析", reasoning="数据处理", registry="pypi") | scripts.tools.package_search |
| 获取 GitHub 仓库的信息与健康度指标。<br>返回星标数、分支数、问题数、近期活动、编程语言、许可证及描述。<br>可用于在使用前评估开源项目。<br><br>示例:<br>- github_repo("microsoft/vscode", reasoning="评估编辑器项目")<br>- github_repo("https://github.com/facebook/react", reasoning="研究 UI 框架") | scripts.tools.github_repo |
| 从 Stack Overflow 和 GitHub 中查找错误消息和堆栈跟踪的解决方案。<br>接收错误信息或堆栈跟踪,自动检测语言和框架,提取关键错误信息,并搜索相关解决方案,按投票数和相关性排序。<br><br>适用于:<br>- 调试生产环境错误<br>- 理解晦涩的错误提示<br>- 找到可运行的修复代码<br>- 学习类似问题的处理方式<br><br>示例:<br>- translate_error("TypeError: Cannot read property 'map' of undefined", reasoning="调试 React 应用崩溃")<br>- translate_error("CORS policy: No 'Access-Control-Allow-Origin' header", reasoning="修复 API 集成", framework="FastAPI")<br>- translate_error("error[E0382]: borrow of moved value", reasoning="学习 Rust 所有权", language="rust") | scripts.tools.translate_error |
| 搜索并获取官方 API 文档,包含示例与说明。<br>采用文档优先策略:抓取人工编写的文档,提供上下文、示例和最佳实践。<br>比 OpenAPI 规范更实用。<br><br>发现策略:<br>1. 尝试常见 URL 模式(docs.{api}.com, {api}.com/docs 等)<br>2. 若模式失败,则搜索 "{api} API 官方文档"<br>3. 抓取发现的文档并提取相关内容<br><br>不硬编码 URL —— 可动态发现任意 API 的文档。<br><br>示例:<br>- api_docs("stripe", "创建客户", reasoning="设置支付功能")<br>- api_docs("github", "创建仓库", reasoning="自动化仓库创建")<br>- api_docs("spartan", "按钮组件", reasoning="学习 UI 库") | scripts.tools.api_docs |
| 从网页中提取结构化数据。<br>提取表格、列表或特定字段,返回结构化数据。<br>相比解析完整页面文本,效率更高。 | scripts.tools.extract_structured_data |
技能:网络研究助手
版本:1.0.0
分块:2/3
table:将 HTML 表格提取为字典列表list:将列表(ul/ol/dl)提取为结构化列表fields:使用 CSS 选择器提取特定元素json-ld:提取 JSON-LD 结构化数据auto:自动检测并提取结构化内容extract_data("https://pypi.org/project/fastapi/", reasoning="获取包信息")extract_data("https://github.com/user/repo/releases", reasoning="获取发布记录", extract_type="list")"https://example.com/product",
reasoning="提取产品详情",
extract_type="fields",
selectors={"price": ".price", "title": "h1.product-name"}
)`
| 工具函数 | 说明 |
|---|---|
scripts.tools.extract_data | 从网页中提取结构化数据 |
比较多种技术、框架或库的优劣,提供结构化对比结果,帮助做出更明智的选择。
framework:Web 框架(如 React、Vue、Angular 等)library:JavaScript/Python 等语言的库database:数据库(如 PostgreSQL、MongoDB 等)language:编程语言(如 Python、Go、Rust 等)tool:构建工具、CLI 工具等(如 Webpack、Vite 等)auto:自动识别类别compare_tech(["React", "Vue", "Svelte"], reasoning="为新项目选择框架")compare_tech(["PostgreSQL", "MongoDB"], category="database", reasoning="用户数据存储方案")compare_tech(["FastAPI", "Flask"], aspects=["性能", "学习曲线"], reasoning="Python Web 框架选型")| 工具函数 | 说明 |
|---|---|
scripts.tools.compare_tech | 多技术对比分析 |
| 工具函数 | 说明 |
|---|---|
scripts.tools.get_changelog | 获取包的更新日志与发布说明 |
scripts.tools.check_service_status | 检查 API 服务或平台是否出现故障 |
若参数不完整,将使用
AskUserQuestion向用户询问缺失信息。
工具描述:通过本地 SearXNG 实例执行网络搜索,获取最新网页结果。
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| query | string | 是 | — | 搜索关键词 |
| reasoning | string | 是 | — | 使用此工具的原因 |
| category | string | 否 | "general" | 搜索类别(如 general, news, images) |
| max_results | integer | 否 | 5 | 最大返回结果数 |
工具描述:使用 crawl4ai 获取目标 URL 的实际页面文本,适用于引用或分析。
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| url | string | 是 | — | 目标网页地址 |
| reasoning | string | 是 | — | 使用此工具的原因 |
| max_chars | integer | 否 | 8000 | 最大抓取字符数 |
工具描述:从 npm、PyPI、crates.io 或 Go modules 查询包信息。
返回版本号、下载量、许可证、依赖项、安全状态及仓库链接。可用于快速评估库在项目中的适用性。
package_info("express", reasoning="需要一个 Web 框架", registry="npm")package_info("requests", reasoning="用于调用 API 的 HTTP 客户端", registry="pypi")package_info("serde", reasoning="JSON 序列化需求", registry="crates")| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| name | string | 是 | — | 包名 |
| reasoning | string | 是 | — | 使用此工具的原因 |
| registry | string | 否 | "npm" | 包注册表(npm/pypi/crates/go) |
工具描述:搜索代码示例、教程和技术文章。
专为查找实用示例和学习资源优化。可按时间范围筛选,获取最新内容。适合学习新 API、发现使用模式或了解他人如何解决特定技术问题。
code:GitHub 仓库、代码片段、Gist、Stack Overflow 中的代码示例articles:博客文章、教程、文档、技术文章both:混合类型(默认)all:搜索所有可用内容(默认,推荐)year、month、week、day:仅限近期内容search_examples("FastAPI 依赖注入示例", content_type="code")search_examples("React Hooks 教程", content_type="articles", time_range="year")search_examples("Rust 生命周期示例", content_type="both")| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| query | string | 是 | — | 搜索关键词 |
| reasoning | string | 是 | — | 使用此工具的原因 |
| content_type | string | 否 | "both" | 内容类型(code/articles/both) |
| time_range | string | 否 | "all" | 时间范围(all/year/month/week/day) |
| max_results | integer | 否 | 5 | 最大返回结果数 |
工具描述:使用 Pixabay 搜索高质量免版权图片。
返回可安全使用的免版税图像,适用于项目、演示文稿或设计工作。
photo:真实照片illustration:数字插画与艺术作品vector:矢量图形(支持 SVG 格式)all:所有类型(默认)search_images("山地景观", image_type="photo")search_images("商务图标", image_type="vector")search_images("科技背景", orientation="horizontal")| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| query | string | 是 | — | 搜索关键词 |
| reasoning | string | 是 | — | 使用此工具的原因 |
| image_type | string | 否 | "all" | 图像类型(photo/illustration/vector/all) |
| orientation | string | 否 | "all" | 图像方向(vertical/horizontal/square/all) |
| max_results | integer | 否 | 10 | 最大返回结果数 |
工具描述:在多个注册表中根据关键词或描述搜索包。
用于发现满足特定需求但尚不知具体名称的库。适合在明确功能需求但不确定包名时使用。
package_search("Web 框架", reasoning="需要后端框架", registry="npm")package_search("JSON 解析", reasoning="数据处理需求", registry="pypi")| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| query | string | 是 | — | 搜索关键词 |
| reasoning | string | 是 | — | 使用此工具的原因 |
| registry | string | 否 | "npm" | 包注册表(npm/pypi/crates/go) |
| max_results | integer | 否 | 5 | 最大返回结果数 |
工具描述:获取 GitHub 仓库的信息与健康度指标。
技能:网络研究助手
版本:1.0.0
分块:3/3
返回项目星标数、分支数、问题数、近期活动、编程语言、许可证信息和项目描述。
可用于在使用前评估开源项目。
示例:
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| repo | string | 是 | 仓库地址或 owner/repo 格式 | |
| reasoning | string | 是 | 使用目的说明 | |
| include_commits | boolean | 否 | true | 是否包含提交记录 |
工具描述:
针对来自 Stack Overflow 和 GitHub 的错误信息与堆栈跟踪,查找解决方案。
接收错误信息或堆栈跟踪,自动识别语言与框架,提取关键错误内容,并搜索高票数且相关性高的解决方案,附带代码示例。
适用于:
示例:
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| error_message | string | 是 | 错误信息或堆栈跟踪文本 | |
| reasoning | string | 是 | 使用目的说明 | |
| language | null | 否 | 明确指定语言(如 rust、python) | |
| framework | null | 否 | 明确指定框架(如 FastAPI、React) | |
| max_results | integer | 否 | 5 | 返回结果数量上限 |
工具描述:
搜索并获取官方 API 文档,包含示例与解释。
采用文档优先策略:获取人工编写的文档内容,包含上下文、示例与最佳实践,远比仅依赖 OpenAPI 规范更有价值。
发现策略:
无需硬编码 URL,可动态发现任意 API 的文档。
示例:
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| api_name | string | 是 | API 名称(如 stripe、github) | |
| reasoning | string | 是 | 使用目的说明 | |
| topic | string | 是 | 查询主题(如“创建用户”、“上传文件”) | |
| max_results | integer | 否 | 2 | 返回结果数量上限 |
工具描述:
从网页中提取结构化数据。
从 HTML 页面中提取表格、列表或特定字段,返回结构化数据。相比解析全文本更高效。
支持提取类型:
示例:
"https://example.com/product",
reasoning="提取产品详情",
extract_type="fields",
selectors={"price": ".price", "title": "h1.product-name"}
)
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| url | string | 是 | 目标网页 URL | |
| reasoning | string | 是 | 使用目的说明 | |
| extract_type | string | 否 | "auto" | 提取类型(见上文) |
| selectors | null | 否 | CSS 选择器映射(用于 fields 类型) | |
| max_items | integer | 否 | 100 | 最多提取条目数量 |
工具描述:
对多个技术、框架或库进行横向对比。
自动收集各项技术信息,并以结构化方式呈现对比结果,帮助做出明智决策。
支持类别:
示例:
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| technologies | array | 是 | 技术名称列表 | |
| reasoning | string | 是 | 使用目的说明 | |
| category | string | 否 | "auto" | 对比类别 |
| aspects | null | 否 | 特性维度(如性能、学习曲线) | |
| max_results_per_tech | integer | 否 | 3 | 每项技术最多获取结果数 |
工具描述:获取某个包的变更日志与发布说明。
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| package | string | 是 | 包名(如 fastapi、requests) | |
| reasoning | string | 是 | 使用目的说明 | |
| registry | string | 否 | "auto" | 包注册源(如 pypi、npm) |
| max_releases | integer | 否 | 5 | 最多返回的发布版本数 |
工具描述:检查某个 API 服务或平台是否出现故障。
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| service | string | 是 | 服务名称(如 GitHub、Stripe、AWS) | |
| reasoning | string | 是 | 使用目的说明 |
工具函数返回 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已收录 1 个 Skill