Individual skill
union-search-skill
搜索互联网资料或指定平台内容时使用:联合搜索、GitHub、YouTube、微信、知乎、播客、通用搜索引擎、AI 搜索服务及本机搜索工具;也用于网页正文提取、图片搜索与下载、yt-dlp 媒体下载。支持单渠道和多渠道检索、去重、凭据检查及 JSON 结果。Use for web search, cross-platform research, webpage extraction, image search/download, and media download. 不用于仅处理用户已提供的文本或本地文件。
SKILL.md
Source commit 7495b52b76140850eb26029c71779cffface757b
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- Yes
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Network or broad shell
- Last checked
- Nov 10, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 770
- Repository last updated
- Nov 10, 2026
- License
- MIT
Observed agent integration: claude-code, codex
- research Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
.env.exampleasset · 4,345 bytes.github/ISSUE_TEMPLATE/provider_listing.ymlasset · 3,779 bytes.gitignoreasset · 1,173 bytesAGENTS.mddoc · 3,175 bytesCLAUDE.mddoc · 11 bytesLICENSEasset · 1,088 bytesREADME.en.mddoc · 29,770 bytesREADME.mddoc · 28,073 bytesSKILL.mdcore · 4,544 bytesSKILL.mdcore · 4,544 bytesagents/_meta.jsonasset · 138 bytesagents/interface.yamlasset · 648 bytesassets/readme/channels.svgasset · 8,255 bytesassets/readme/en/channels.svgasset · 8,175 bytesassets/readme/en/hero.svgasset · 4,081 bytesassets/readme/en/provider-onboarding.svgasset · 2,453 bytesassets/readme/hero.svgasset · 4,115 bytesassets/readme/provider-onboarding.svgasset · 2,459 bytespackage-lock.jsonasset · 37,238 bytespackage.jsonruns · 104 bytesreferences/agent_api_key_setup.mddoc · 15,874 bytesreferences/api_credentials.mddoc · 11,427 bytesreferences/baidu_apikey_fetch.mddoc · 1,371 bytesreferences/google_search_guide.mddoc · 1,734 bytesreferences/output_fields.mddoc · 8,884 bytesreferences/platform_notes.mddoc · 4,740 bytesreferences/rate_limits.mddoc · 10,763 bytesreferences/search_workflow.mddoc · 9,132 bytesreferences/third_party.mddoc · 7,349 bytesreferences/troubleshooting.mddoc · 6,443 bytesrequirements.txtdoc · 145 bytesscripts/channels/ai_tools/README.mddoc · 4,157 bytesscripts/channels/ai_tools/__init__.pyruns · 49 bytesscripts/channels/ai_tools/adapter.pyruns · 3,736 bytesscripts/channels/ai_tools/examples/search-result-claude_code-info.jsonasset · 363 bytesscripts/channels/ai_tools/examples/search-result-claude_code.jsonasset · 1,341 bytesscripts/channels/ai_tools/examples/search-result-grok_build-info.jsonasset · 360 bytesscripts/channels/ai_tools/examples/search-result-grok_build.jsonasset · 1,745 bytesscripts/channels/ai_tools/examples/search-result-info.jsonasset · 339 bytesscripts/channels/ai_tools/examples/search-result.jsonasset · 1,785 bytesscripts/channels/ai_tools/native_search/__init__.pyruns · 86 bytesscripts/channels/ai_tools/native_search/backends/__init__.pyruns · 0 bytesscripts/channels/ai_tools/native_search/backends/claude.pyruns · 2,564 bytesscripts/channels/ai_tools/native_search/backends/cli_json.pyruns · 7,388 bytesscripts/channels/ai_tools/native_search/backends/codex.pyruns · 6,072 bytesscripts/channels/ai_tools/native_search/backends/grok.pyruns · 1,996 bytesscripts/channels/ai_tools/native_search/config.pyruns · 1,128 bytesscripts/channels/ai_tools/native_search/errors.pyruns · 401 bytesscripts/channels/ai_tools/native_search/textutil.pyruns · 1,208 bytesscripts/channels/ai_tools/output-analysis.mddoc · 15,267 bytesscripts/channels/ai_tools/worker.pyruns · 2,211 bytesscripts/channels/anysearch/README.mddoc · 2,572 bytesscripts/channels/anysearch/anysearch_search.pyruns · 6,881 bytesscripts/channels/anysearch/examples/search-result-info.jsonasset · 323 bytesscripts/channels/anysearch/examples/search-result.jsonasset · 2,376 bytesscripts/channels/anysearch/output-analysis.mddoc · 4,007 bytesscripts/channels/baidu/README.mddoc · 1,681 bytesscripts/channels/baidu/baidu_no_api.pyruns · 6,999 bytesscripts/channels/baidu/baidu_search.pyruns · 4,245 bytesscripts/channels/baidu/examples/search-result-baidu_direct-info.jsonasset · 323 bytesscripts/channels/baidu/examples/search-result-baidu_direct.jsonasset · 1,733 bytesscripts/channels/baidu/examples/search-result-info.jsonasset · 315 bytesscripts/channels/baidu/examples/search-result.jsonasset · 7,449 bytesscripts/channels/baidu/output-analysis.mddoc · 4,868 bytesscripts/channels/bailian/README.mddoc · 2,588 bytesscripts/channels/bailian/bailian_search.pyruns · 7,168 bytesscripts/channels/bailian/examples/search-result-info.jsonasset · 319 bytesscripts/channels/bailian/examples/search-result.jsonasset · 1,531 bytesscripts/channels/bailian/output-analysis.mddoc · 4,556 bytesscripts/channels/bing/README.mddoc · 1,931 bytesscripts/channels/bing/bing_cn_no_api.pyruns · 2,999 bytesscripts/channels/bing/bing_int_no_api.pyruns · 2,904 bytesscripts/channels/bing/bing_serpapi_search.pyruns · 9,068 bytesscripts/channels/bing/examples/search-result-bing_int_direct-info.jsonasset · 354 bytesscripts/channels/bing/examples/search-result-bing_int_direct.jsonasset · 1,850 bytesscripts/channels/bing/examples/search-result-info.jsonasset · 313 bytesscripts/channels/bing/examples/search-result.jsonasset · 1,391 bytesscripts/channels/bing/output-analysis.mddoc · 4,572 bytesscripts/channels/brave/README.mddoc · 2,483 bytesscripts/channels/brave/brave_no_api.pyruns · 541 bytesscripts/channels/brave/brave_search.pyruns · 4,536 bytesscripts/channels/brave/examples/search-result-info.jsonasset · 318 bytesscripts/channels/brave/examples/search-result.jsonasset · 2,205 bytesscripts/channels/brave/output-analysis.mddoc · 5,232 bytesscripts/channels/deepseek/README.mddoc · 2,206 bytesscripts/channels/deepseek/deepseek_search.pyruns · 6,145 bytesscripts/channels/deepseek/examples/search-result-info.jsonasset · 321 bytesscripts/channels/deepseek/examples/search-result.jsonasset · 12,960 bytesscripts/channels/deepseek/output-analysis.mddoc · 3,998 bytesscripts/channels/duckduckgo/README.mddoc · 1,393 bytesscripts/channels/duckduckgo/duckduckgo_no_api.pyruns · 1,081 bytesscripts/channels/duckduckgo/duckduckgo_search.pyruns · 4,507 bytesscripts/channels/duckduckgo/examples/search-result-info.jsonasset · 328 bytesscripts/channels/duckduckgo/examples/search-result.jsonasset · 2,116 bytesscripts/channels/duckduckgo/output-analysis.mddoc · 5,287 bytesscripts/channels/duckduckgo_instant/duckduckgo_instant.pyruns · 6,356 bytesscripts/channels/duckduckgo_instant/examples/search-result-info.jsonasset · 170 bytesscripts/channels/duckduckgo_instant/examples/search-result.jsonasset · 1,107 bytesscripts/channels/duckduckgo_instant/output-analysis.mddoc · 5,887 bytesscripts/channels/ecosia/ecosia_no_api.pyruns · 3,414 bytesscripts/channels/ecosia/output-analysis.mddoc · 4,837 bytesscripts/channels/exa/README.mddoc · 3,399 bytesscripts/channels/exa/exa_mcp.pyruns · 9,456 bytesscripts/channels/exa/exa_search.pyruns · 7,023 bytesscripts/channels/exa/examples/search-result-info.jsonasset · 311 bytesscripts/channels/exa/examples/search-result.jsonasset · 2,599 bytesscripts/channels/exa/mcporter.jsonasset · 266 bytesscripts/channels/exa/output-analysis.mddoc · 4,086 bytesscripts/channels/firecrawl/README.mddoc · 2,381 bytesscripts/channels/firecrawl/examples/search-result-info.jsonasset · 323 bytesscripts/channels/firecrawl/examples/search-result.jsonasset · 3,872 bytesscripts/channels/firecrawl/firecrawl_search.pyruns · 8,863 bytesscripts/channels/firecrawl/output-analysis.mddoc · 4,503 bytesscripts/channels/github_search/README.mddoc · 2,060 bytesscripts/channels/github_search/deepwiki.mddoc · 2,406 bytesscripts/channels/github_search/examples/search-result-info.jsonasset · 320 bytesscripts/channels/github_search/examples/search-result.jsonasset · 22,167 bytesscripts/channels/github_search/github_search.pyruns · 23,471 bytesscripts/channels/github_search/output-analysis.mddoc · 13,631 bytesscripts/channels/google_search/README.mddoc · 2,661 bytesscripts/channels/google_search/examples/search-result-info.jsonasset · 317 bytesscripts/channels/google_search/examples/search-result.jsonasset · 8,262 bytesscripts/channels/google_search/google_hk_no_api.pyruns · 3,586 bytesscripts/channels/google_search/google_no_api.pyruns · 3,712 bytesscripts/channels/google_search/google_search.pyruns · 4,941 bytesscripts/channels/google_search/output-analysis.mddoc · 4,708 bytesscripts/channels/jina/README.mddoc · 743 bytesscripts/channels/jina/examples/search-result-info.jsonasset · 313 bytesscripts/channels/jina/examples/search-result.jsonasset · 1,350 bytesscripts/channels/jina/jina_search.pyruns · 4,595 bytesscripts/channels/jina/output-analysis.mddoc · 3,860 bytesscripts/channels/jisilu/jisilu_no_api.pyruns · 3,041 bytesscripts/channels/jisilu/output-analysis.mddoc · 4,938 bytesscripts/channels/kimi/README.mddoc · 2,720 bytesscripts/channels/kimi/examples/search-result-info.jsonasset · 313 bytesscripts/channels/kimi/examples/search-result.jsonasset · 1,674 bytesscripts/channels/kimi/kimi_search.pyruns · 6,802 bytesscripts/channels/kimi/output-analysis.mddoc · 4,241 bytesscripts/channels/metaso/README.mddoc · 3,209 bytesscripts/channels/metaso/examples/search-result-info.jsonasset · 317 bytesscripts/channels/metaso/examples/search-result.jsonasset · 3,132 bytesscripts/channels/metaso/metaso_search.pyruns · 8,923 bytesscripts/channels/metaso/output-analysis.mddoc · 4,177 bytesscripts/channels/mojeek/mojeek_no_api.pyruns · 5,456 bytesscripts/channels/mojeek/output-analysis.mddoc · 5,118 bytesscripts/channels/no_api/README.mddoc · 3,085 bytesscripts/channels/no_api/__init__.pyruns · 52 bytesscripts/channels/no_api/base_engine.pyruns · 3,524 bytesscripts/channels/no_api/output-analysis.mddoc · 6,025 bytesscripts/channels/no_api/request_state.pyruns · 4,875 bytesscripts/channels/no_api/web_search.pyruns · 4,520 bytesscripts/channels/ollama_search/README.mddoc · 1,714 bytesscripts/channels/ollama_search/examples/search-result-info.jsonasset · 317 bytesscripts/channels/ollama_search/examples/search-result.jsonasset · 248,156 bytesscripts/channels/ollama_search/ollama_search.pyruns · 4,482 bytesscripts/channels/ollama_search/output-analysis.mddoc · 3,497 bytesscripts/channels/parallel_search/README.mddoc · 3,046 bytesscripts/channels/parallel_search/examples/search-result-info.jsonasset · 321 bytesscripts/channels/parallel_search/examples/search-result.jsonasset · 4,386 bytesscripts/channels/parallel_search/output-analysis.mddoc · 4,269 bytesscripts/channels/parallel_search/parallel_search.pyruns · 7,525 bytesscripts/channels/quark/README.mddoc · 2,143 bytesscripts/channels/quark/examples/search-result-info.jsonasset · 332 bytesscripts/channels/quark/examples/search-result.jsonasset · 2,218 bytesscripts/channels/quark/output-analysis.mddoc · 5,194 bytesscripts/channels/quark/quark_no_api.pyruns · 5,995 bytesscripts/channels/qwant/output-analysis.mddoc · 4,945 bytesscripts/channels/qwant/qwant_no_api.pyruns · 3,402 bytesscripts/channels/rss_search/README.mddoc · 5,392 bytesscripts/channels/rss_search/examples/search-result-info.jsonasset · 148 bytesscripts/channels/rss_search/examples/search-result.jsonasset · 9,549 bytesscripts/channels/rss_search/output-analysis.mddoc · 6,778 bytesscripts/channels/rss_search/rss_feeds.txtdoc · 3,636 bytesscripts/channels/rss_search/rss_search.pyruns · 22,016 bytesscripts/channels/serper/examples/search-result-info.jsonasset · 317 bytesscripts/channels/serper/examples/search-result.jsonasset · 1,476 bytesscripts/channels/serper/output-analysis.mddoc · 3,960 bytesscripts/channels/serper/serper_search.pyruns · 6,877 bytesscripts/channels/so360/README.mddoc · 899 bytesscripts/channels/so360/examples/search-result-info.jsonasset · 332 bytesscripts/channels/so360/examples/search-result.jsonasset · 1,602 bytesscripts/channels/so360/output-analysis.mddoc · 4,968 bytesscripts/channels/so360/so360_no_api.pyruns · 5,630 bytesscripts/channels/sogou/README.mddoc · 875 bytesscripts/channels/sogou/examples/search-result-info.jsonasset · 332 bytesscripts/channels/sogou/examples/search-result.jsonasset · 1,812 bytesscripts/channels/sogou/output-analysis.mddoc · 5,162 bytesscripts/channels/sogou/sogou_no_api.pyruns · 6,352 bytesscripts/channels/startpage/output-analysis.mddoc · 4,908 bytesscripts/channels/startpage/startpage_no_api.pyruns · 3,054 bytesscripts/channels/tavily_search/README.mddoc · 2,505 bytesscripts/channels/tavily_search/examples/search-result-info.jsonasset · 317 bytesscripts/channels/tavily_search/examples/search-result.jsonasset · 2,568 bytesscripts/channels/tavily_search/output-analysis.mddoc · 4,102 bytesscripts/channels/tavily_search/tavily_search.pyruns · 4,422 bytesscripts/channels/tinyfish/README.mddoc · 1,798 bytesscripts/channels/tinyfish/examples/search-result-info.jsonasset · 321 bytesscripts/channels/tinyfish/examples/search-result.jsonasset · 1,722 bytesscripts/channels/tinyfish/output-analysis.mddoc · 3,813 bytesscripts/channels/tinyfish/tinyfish_search.pyruns · 4,977 bytesscripts/channels/toutiao/output-analysis.mddoc · 4,978 bytesscripts/channels/toutiao/toutiao_no_api.pyruns · 3,043 bytesscripts/channels/volcengine/README.mddoc · 6,479 bytesscripts/channels/volcengine/examples/search-result-info.jsonasset · 325 bytesscripts/channels/volcengine/examples/search-result.jsonasset · 9,712 bytesscripts/channels/volcengine/output-analysis.mddoc · 4,834 bytesscripts/channels/volcengine/volcengine_search.pyruns · 21,204 bytesscripts/channels/wechat/README.mddoc · 2,730 bytesscripts/channels/wechat/examples/search-result-info.jsonasset · 156 bytesscripts/channels/wechat/examples/search-result.jsonasset · 2,681 bytesscripts/channels/wechat/output-analysis.mddoc · 6,208 bytesscripts/channels/wechat/package.jsonruns · 52 bytesscripts/channels/wechat/search_wechat.jsruns · 20,403 bytesscripts/channels/wechat/wechat_no_api.pyruns · 3,030 bytesscripts/channels/wikipedia/README.mddoc · 1,531 bytesscripts/channels/wikipedia/examples/search-result-info.jsonasset · 326 bytesscripts/channels/wikipedia/examples/search-result.jsonasset · 1,108 bytesscripts/channels/wikipedia/output-analysis.mddoc · 5,244 bytesscripts/channels/wikipedia/wikipedia_search.pyruns · 4,730 bytesscripts/channels/wolfram/output-analysis.mddoc · 5,192 bytesscripts/channels/wolfram/wolfram_no_api.pyruns · 3,185 bytesscripts/channels/xiaoyuzhoufm/README.mddoc · 2,643 bytesscripts/channels/xiaoyuzhoufm/examples/search-result-info.jsonasset · 329 bytesscripts/channels/xiaoyuzhoufm/examples/search-result.jsonasset · 7,285 bytesscripts/channels/xiaoyuzhoufm/output-analysis.mddoc · 6,096 bytesscripts/channels/xiaoyuzhoufm/xiaoyuzhou_search.pyruns · 5,816 bytesscripts/channels/yahoo/README.mddoc · 2,786 bytesscripts/channels/yahoo/examples/search-result-info.jsonasset · 318 bytesscripts/channels/yahoo/examples/search-result.jsonasset · 2,281 bytesscripts/channels/yahoo/output-analysis.mddoc · 5,348 bytesscripts/channels/yahoo/yahoo_no_api.pyruns · 541 bytesscripts/channels/yahoo/yahoo_search.pyruns · 5,612 bytesscripts/channels/yandex/README.mddoc · 1,949 bytesscripts/channels/yandex/examples/search-result-info.jsonasset · 317 bytesscripts/channels/yandex/examples/search-result-yandex_direct-info.jsonasset · 348 bytesscripts/channels/yandex/examples/search-result-yandex_direct.jsonasset · 2,138 bytesscripts/channels/yandex/examples/search-result.jsonasset · 1,799 bytesscripts/channels/yandex/output-analysis.mddoc · 4,500 bytesscripts/channels/yandex/yandex_no_api.pyruns · 2,609 bytesscripts/channels/yandex/yandex_search.pyruns · 5,284 bytesscripts/channels/youtube/README.mddoc · 1,433 bytesscripts/channels/youtube/examples/search-result-info.jsonasset · 319 bytesscripts/channels/youtube/examples/search-result.jsonasset · 8,917 bytesscripts/channels/youtube/output-analysis.mddoc · 7,085 bytesscripts/channels/youtube/youtube_search.pyruns · 16,679 bytesscripts/channels/yuanbao/README.mddoc · 3,049 bytesscripts/channels/yuanbao/examples/search-result-info.jsonasset · 319 bytesscripts/channels/yuanbao/examples/search-result.jsonasset · 14,390 bytesscripts/channels/yuanbao/output-analysis.mddoc · 4,275 bytesscripts/channels/yuanbao/yuanbao_search.pyruns · 7,521 bytesscripts/channels/zhihu_official/README.mddoc · 2,392 bytesscripts/channels/zhihu_official/examples/search-result-info.jsonasset · 333 bytesscripts/channels/zhihu_official/examples/search-result.jsonasset · 9,996 bytesscripts/channels/zhihu_official/output-analysis.mddoc · 6,416 bytesscripts/channels/zhihu_official/zhihu_official_search.pyruns · 9,914 bytesscripts/channels/zhipu/README.mddoc · 2,541 bytesscripts/channels/zhipu/examples/search-result-info.jsonasset · 315 bytesscripts/channels/zhipu/examples/search-result.jsonasset · 6,431 bytesscripts/channels/zhipu/output-analysis.mddoc · 4,403 bytesscripts/channels/zhipu/zhipu_search.pyruns · 7,569 bytesscripts/cli/README.mddoc · 13,794 bytesscripts/cli/__init__.pyruns · 50 bytesscripts/cli/adapters.pyruns · 9,001 bytesscripts/cli/errors.pyruns · 4,162 bytesscripts/cli/main.pyruns · 38,993 bytesscripts/cli/output.pyruns · 3,584 bytesscripts/cli/registry.pyruns · 3,030 bytesscripts/cli/validators.pyruns · 3,173 bytesscripts/downloader/__init__.pyruns · 1 bytesscripts/downloader/yt_dlp_downloader.pyruns · 11,688 bytesscripts/evals/README.mddoc · 3,752 bytesscripts/evals/semantic_config.jsonasset · 696 bytesscripts/evals/trigger_cases.jsonasset · 1,826 bytesscripts/tests/test_ai_native_json.pyruns · 3,289 bytesscripts/tests/test_ai_tools.pyruns · 4,998 bytesscripts/tests/test_platform_groups.pyruns · 4,671 bytesscripts/tests/test_result_cleaning.pyruns · 3,404 bytesscripts/tests/test_unlimited_results.pyruns · 5,917 bytesscripts/union_image_search/README.mddoc · 8,120 bytesscripts/union_image_search/multi_platform_image_search.pyruns · 19,342 bytesscripts/union_image_search/native_images.pyruns · 5,163 bytesscripts/union_image_search/providers/catalogs.pyruns · 8,784 bytesscripts/union_image_search/providers/search_engines.pyruns · 5,350 bytesscripts/union_image_search/providers/specialty.pyruns · 4,712 bytesscripts/union_image_search/volcengine_adapter.pyruns · 8,652 bytesscripts/union_search/README.mddoc · 8,077 bytesscripts/union_search/__init__.pyruns · 598 bytesscripts/union_search/platform_metadata.pyruns · 2,633 bytesscripts/union_search/search_logger.pyruns · 2,096 bytesscripts/union_search/structured_results.pyruns · 5,909 bytesscripts/union_search/union_search.pyruns · 76,012 bytesscripts/url_to_markdown/README.mddoc · 8,129 bytesscripts/url_to_markdown/__init__.pyruns · 1,023 bytesscripts/url_to_markdown/__main__.pyruns · 196 bytesscripts/url_to_markdown/engines/__init__.pyruns · 7,038 bytesscripts/url_to_markdown/engines/defuddle-node/package-lock.jsonasset · 30,954 bytesscripts/url_to_markdown/engines/defuddle-node/package.jsonruns · 286 bytesscripts/url_to_markdown/engines/defuddle/README.mddoc · 2,478 bytesscripts/url_to_markdown/engines/defuddle/__init__.pyruns · 297 bytesscripts/url_to_markdown/engines/defuddle/defuddle_cli.pyruns · 6,718 bytesscripts/url_to_markdown/engines/defuddle_engine.pyruns · 5,370 bytesscripts/url_to_markdown/engines/firecrawl_engine.pyruns · 3,109 bytesscripts/url_to_markdown/engines/jina_engine.pyruns · 5,665 bytesscripts/url_to_markdown/url_to_markdown.pyruns · 16,262 bytesunion_search_cli.pyruns · 462 bytes
Read excerpt
# 联合搜索
## 执行顺序
1. 定位本文件所在的技能根目录,在该目录运行 `python union_search_cli.py`。准备依赖、凭据和任务参数时阅读 [执行指南](references/search_workflow.md)。
2. 用 `list` 发现渠道、分组与图片平台;具体参数以子命令 `--help` 和 `schema` 为准。
3. 用户指定渠道时按指定范围执行;未指定时按资料类型和可用凭据选择渠道。`general` 是默认通用网页分组,会同时请求其中全部渠道;`no_api_key` 按认证条件分类。兼容渠道名称共用实现,同一来源在一次联合查询中只执行一次。
4. 将结果保存到任务目录,检查 `ok`、错误和实际文件,再根据来源回答。搜索摘要仅用于定位;需要核实细节时提取原文。
## 任务入口
| 任务 | 命令与按需阅读 |
|------|----------------|
| 联合或单渠道搜索 | `search` / `platform`;[执行指南](references/search_workflow.md)、[CLI 参数](scripts/cli/README.md) |