Multi-Web-Search | 多引擎网页搜索

提供无须API密钥的多引擎并行网页搜索,支持20个国际、国内及专业搜索引擎,含时间和站点过滤,支持图片、新闻、视频搜索及DHT加速。

Audits

Pass

Install

openclaw skills install multi-web-search

🌐 Multi-Web-Search v2.0.0

免费、无需 API Key 的多引擎网页搜索。 支持 20 个搜索引擎(11 国际 + 7 国内 + 2 专业),可并行搜索、时间过滤、站点过滤。


快速开始

# 基础搜索(自动选择引擎)
python3 search.py -q "python tutorial"

# 多引擎并行
python3 search.py -q "react hooks" -e google,brave

# 时间过滤
python3 search.py -q "AI news" --time week

# 站点搜索
python3 search.py -q "machine learning" --domain github.com

# 无 ddgs 时,使用 DuckDuckGo Lite
python3 search.py -q "test" --lite

支持的搜索引擎

🌐 国际引擎

引擎说明适用场景隐私
googleGoogle 搜索综合搜索、技术文档、学术资源
google_hk谷歌香港简化版 Google,广告少
braveBrave Search隐私优先、新闻聚合、Discussions
ddg / duckduckgoDuckDuckGo隐私搜索、Bangs 快捷跳转
bingMicrosoft Bing微软生态、英文搜索
yahooYahoo Search新闻聚合、传统搜索用户
startpageStartpageGoogle 结果 + 隐私保护
ecosiaEcosia(环保)环保搜索、植树公益
qwantQwant(欧盟)欧盟推荐、不追踪用户
yandexYandex(俄罗斯)俄语搜索、俄罗斯资源
mojeekMojeek(独立索引)自有索引、隐私友好

🔬 专业知识引擎

引擎说明适用场景
wikipedia维基百科概念、术语、历史人物等百科查询
wolframalpha计算知识引擎数学公式、统计数据、单位换算
githubGitHub 代码搜索代码片段、开源项目、Issue 查询
stackoverflowStack Overflow编程问题、技术方案、错误排查

🇨🇳 国内引擎(7个)

引擎说明适用场景
baidu百度搜索中文内容、百度系产品
bing_cn必应中国版中文结果(ensearch=0)
bing_int必应国际版英文结果(ensearch=1)
360360搜索安全搜索、网址导航
sogou搜狗搜索知乎/微信公众号
wechat微信搜索公众号文章
shenma神马搜索移动端内容、UC浏览器

CLI 参数

参数说明示例
-q, --query搜索查询-q "python tutorial"
-e, --engines引擎列表(逗号分隔)-e google,brave,baidu
-m, --max-results每引擎最大结果数-m 10
-t, --time时间过滤--time week
-d, --domain站点搜索--domain github.com
-r, --region地区代码-r us-en
--lite强制 DuckDuckGo Lite--lite
--no-cache禁用缓存--no-cache
--no-rank禁用评分排序--no-rank
-o, --output输出文件-o results.json
--json紧凑 JSON 输出--json
--proxy, -pr代理服务器--proxy socks5h://127.0.0.1:9150
--type搜索类型--type text (默认) / images / news / videos / books
--timeout单引擎超时秒数--timeout 10 (默认 30)
--dht启用 DHT 网络加速--dht

时间过滤值

含义Google 参数Brave 参数
hour最近 1 小时qdr:hph
day最近 24 小时qdr:dpd
week最近 7 天qdr:wpw
month最近 30 天qdr:mpm
year最近 365 天qdr:ypy

高级搜索技巧

Google 搜索操作符

操作符功能示例
" "精确匹配"machine learning"
-排除关键词python -snake
OR或运算machine OR deep learning
site:站内搜索site:github.com python
filetype:文件类型filetype:pdf annual report
intitle:标题包含intitle:tutorial python
inurl:URL 包含inurl:login admin

Brave 特色搜索

功能说明参数
Goggles自定义搜索规则创建个性化过滤器
Discussions论坛讨论聚合搜索 Reddit 等论坛
source=news新闻搜索独立新闻索引
source=images图片搜索图片索引

DuckDuckGo Bangs

Bang跳转示例
!gGoogle 搜索!g python
!ghGitHub!gh tensorflow
!soStack Overflow!so javascript
!wWikipedia!w AI
!ytYouTube!yt tutorial

执行步骤(CLI 使用)

根据不同搜索目标选择最佳引擎组合:

搜索目标首选引擎原因
综合中文内容百度中文索引最全
公众号文章搜狗 + 微信唯一支持公众号搜索
知乎内容搜狗知乎优化好
隐私优先Brave / DuckDuckGo / Startpage不追踪用户
技术文档 / 编程Google + Stack Overflow技术文档全面
GitHub 代码搜索GitHub 专用引擎代码片段/开源项目最准
实时新闻Brave News / Bing新闻聚合能力强
编程问题排查Stack Overflow / Google错误方案最全
学术资源Google + 百度学术论文、学术搜索
俄语 / 俄罗斯资源Yandex俄语区比 Google 更准
环保公益搜索Ecosia搜索即植树
计算型查询WolframAlpha数学/统计/单位换算
百科知识Wikipedia概念、术语、历史人物
图片搜索ddgs images() / Brave图片索引聚合
视频搜索ddgs videos()视频结果聚合
新闻搜索ddgs news()新闻聚合(支持时间过滤)

🇨🇳 国内引擎深度指南

引擎特色功能搜索示例
百度中文索引最全、百度学术、百度新闻site:github.com python / filetype:pdf
搜狗知乎优化、微信公众号site:zhihu.com 机器学习
微信搜索唯一公众号文章搜索渠道https://wx.sogou.com/weixin?type=2&query=Python
必应中国版中英文结果切换(ensearch=0/1)https://cn.bing.com/search?q=AI&ensearch=0
360搜索安全搜索、网址导航安全过滤默认开启
神马搜索移动端优化、UC浏览器集成https://m.sm.cn/s?q=关键词

🌐 国际引擎使用技巧

引擎特色技巧示例
BraveDiscussions(论坛聚合)、News、图片搜索source=news / Goggles 自定义规则
DuckDuckGoBangs 快捷跳转(!g / !gh / !so)!so python error → 直接跳转 Stack Overflow
StartpageAnonymous View 匿名浏览、Google 结果不调用 Google 但显示相同结果
Ecosia每约 45 次搜索种一棵树环保主义者首选
Qwant欧盟官方推荐、不做个性化追踪适合注重数据主权用户
Yandex俄语搜索、俄区内容俄语学习、俄罗斯文化资源
Mojeek自有独立索引,不依赖 Google/Bing隐私激进用户的替代方案

架构

~/.openclaw/skills/multi-web-search/scripts/
├── constants.py        # 16+ 引擎定义
├── url_builder.py     # URL 构建
├── cache_utils.py     # 结果缓存(TTL 1小时)
├── result_scorer.py   # 结果评分排序
├── search.py          # ✅ 唯一入口 (v3.4)
└── install.py         # 安装脚本

输出格式

{
  "provider": "multi-engine",
  "query": "python tutorial",
  "engines": ["google", "brave"],
  "search_type": "text",
  "time_filter": "week",
  "domain": null,
  "results": [
    {
      "title": "Python Tutorial",
      "url": "https://...",
      "snippet": "...",
      "source": "google",
      "_score": 85.3
    }
  ],
  "engine_results": {...},
  "total_results": 10,
  "unique_results": 8,
  "ddgs_available": true,
  "dht_enabled": false,
  "proxy": null
}

输出字段说明

字段类型说明
search_typestring搜索类型:text/images/news/videos/books
dht_enabledbool是否启用 DHT 网络加速
proxystring/null代理服务器地址
engine_resultsdict各引擎的详细结果(包含 success/error/url)

实现步骤

调用此技能时,按以下步骤执行:

1️⃣ 解析用户需求

提取搜索请求中的关键参数:

参数来源示例
查询内容用户输入"python tutorial"
引擎选择-e 参数或推断google,brave
时间过滤--time 参数weekmonth
站点限制--domain 参数github.com
地区代码-r 参数cn-zhus-en
搜索类型--type 参数textimagesnewsvideosbooks
代理--proxy/-pr 参数socks5h://127.0.0.1:9150
超时--timeout 参数10(秒)
DHT 加速--dht 参数启用 P2P 缓存加速

引擎选择优先级:

  • 用户明确指定 → 使用用户指定引擎
  • 中文内容 → 默认添加国内引擎(baidu / bing_cn)
  • 隐私优先 → Brave / DuckDuckGo / Startpage
  • 未指定 → 使用 DEFAULT_ENGINES = ["google", "brave"]

搜索类型选择:

  • 文本搜索 → text(默认)
  • 图片搜索 → images(支持 size/color/type/layout/license 参数)
  • 新闻搜索 → news(支持时间过滤)
  • 视频搜索 → videos(支持 resolution/duration 参数)
  • 书籍搜索 → books |

2️⃣ 执行搜索

# 文本搜索
python3 search.py -q "<query>" -e <engines> [-t <time>] [-d <domain>] [-r <region>]

# 图片搜索
python3 search.py -q "<query>" --type images [-m 10] [--size Large] [--color Blue]

# 新闻搜索
python3 search.py -q "<query>" --type news --time week

# 视频搜索
python3 search.py -q "<query>" --type videos [--duration medium]

# 书籍搜索
python3 search.py -q "<query>" --type books

# 代理 + 超时
python3 search.py -q "<query>" --proxy socks5h://127.0.0.1:9150 --timeout 10

# 启用 DHT 加速
python3 search.py -q "<query>" --dht

执行逻辑:

如果 ddgs 可用:
    → 使用 ddgs 多引擎并行搜索(支持 text/images/news/videos/books)
    → 如果启用 DHT → 自动使用 DHT 网络缓存
否则:
    → 使用 DuckDuckGo Lite URL 生成
    → 通过 web_fetch 获取结果

降级策略:

  • ddgs 不可用 → 自动降级到 DuckDuckGo Lite
  • 单引擎失败 → 继续返回其他引擎结果
  • 引擎不支持该搜索类型 → 返回错误提示支持的引擎
  • DHT 网络不可用 → 静默回退到普通缓存

3️⃣ 处理结果

多引擎结果合并:

  • 所有引擎结果合并到统一列表
  • 每个结果标注 source 字段(来源引擎)
  • 根据 _score 字段排序(仅 text 类型)

结果格式因搜索类型而异:

  • text: {title, url, snippet, source}
  • images: {title, url, image, thumbnail, width, height, source}
  • news: {title, url, snippet, published_date, source}
  • videos: {title, url, description, duration, embed_url, thumbnail, source}
  • books: {title, url, author, publisher, source}

去重逻辑:

  • URL 完全相同的结果只保留一个
  • 保留评分最高的那条
  • 不支持的引擎返回全部结果

4️⃣ 错误处理

错误场景处理方式
ddgs 未安装降级到 DuckDuckGo Lite,无警告
引擎不支持时间过滤静默忽略,仅返回其他引擎结果
引擎不支持该搜索类型返回错误,提示支持的引擎列表
网络超时返回已获取的结果,不阻塞
结果为空建议换用其他引擎或重新表述
URL 编码错误使用 urllib.parse.quote() 正确编码
DHT 网络不可用静默回退到普通缓存
代理连接失败返回错误,提示检查代理配置

5️⃣ 格式化输出

结果呈现:

  • 标题加粗,显示 URL 链接
  • snippet 展示摘要内容
  • 标注来源引擎和相关性评分
  • 标注搜索类型(text/images/news/videos/books)

JSON 输出(--json):

{
  "provider": "multi-engine",
  "query": "python tutorial",
  "engines": ["google", "brave"],
  "search_type": "text",
  "time_filter": "week",
  "domain": null,
  "results": [
    {
      "title": "Python Tutorial",
      "url": "https://...",
      "snippet": "...",
      "source": "google",
      "_score": 85.3
    }
  ],
  "engine_results": {...},
  "total_results": 10,
  "unique_results": 8,
  "ddgs_available": true,
  "dht_enabled": false,
  "proxy": null
}

输出标志含义:

  • ddgs_available: true → 使用 ddgs 并行搜索,速度更快
  • ddgs_available: false → 降级到 DuckDuckGo Lite
  • dht_enabled: true → 使用 DHT 网络加速(重复查询提速 90%%)
  • proxy: <proxy_url> → 使用代理服务器
  • unique_results < total_results → 有重复结果已去重

依赖状态说明
python3必须运行环境
ddgs推荐多引擎并行(pip install ddgs)
ddgs[dht]可选DHT 网络加速(pip install ddgs[dht])

无 ddgs 时,自动降级到 DuckDuckGo Lite URL 生成,使用 web_fetch 获取结果。


安全与隐私

  • 无需 API Key:所有搜索基于免费工具
  • 零配置:无需注册账号
  • 隐私友好引擎:支持 Brave、DuckDuckGo、Startpage 等
  • 本地缓存:仅存本地,无远程传输

免费网页搜索技能,支持 16+ 引擎。