Multi-Web-Search | 多引擎网页搜索
/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
支持的搜索引擎
🌐 国际引擎
| 引擎 | 说明 | 适用场景 | 隐私 |
|---|---|---|---|
google |
Google 搜索 | 综合搜索、技术文档、学术资源 | ❌ |
google_hk |
谷歌香港 | 简化版 Google,广告少 | ❌ |
brave |
Brave Search | 隐私优先、新闻聚合、Discussions | ✅ |
ddg / duckduckgo |
DuckDuckGo | 隐私搜索、Bangs 快捷跳转 | ✅ |
bing |
Microsoft Bing | 微软生态、英文搜索 | ❌ |
yahoo |
Yahoo Search | 新闻聚合、传统搜索用户 | ❌ |
startpage |
Startpage | Google 结果 + 隐私保护 | ✅ |
ecosia |
Ecosia(环保) | 环保搜索、植树公益 | ✅ |
qwant |
Qwant(欧盟) | 欧盟推荐、不追踪用户 | ✅ |
yandex |
Yandex(俄罗斯) | 俄语搜索、俄罗斯资源 | ❌ |
mojeek |
Mojeek(独立索引) | 自有索引、隐私友好 | ✅ |
🔬 专业知识引擎
| 引擎 | 说明 | 适用场景 |
|---|---|---|
wikipedia |
维基百科 | 概念、术语、历史人物等百科查询 |
wolframalpha |
计算知识引擎 | 数学公式、统计数据、单位换算 |
github |
GitHub 代码搜索 | 代码片段、开源项目、Issue 查询 |
stackoverflow |
Stack Overflow | 编程问题、技术方案、错误排查 |
🇨🇳 国内引擎(7个)
| 引擎 | 说明 | 适用场景 |
|---|---|---|
baidu |
百度搜索 | 中文内容、百度系产品 |
bing_cn |
必应中国版 | 中文结果(ensearch=0) |
bing_int |
必应国际版 | 英文结果(ensearch=1) |
360 |
360搜索 | 安全搜索、网址导航 |
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:h |
ph |
day |
最近 24 小时 | qdr:d |
pd |
week |
最近 7 天 | qdr:w |
pw |
month |
最近 30 天 | qdr:m |
pm |
year |
最近 365 天 | qdr:y |
py |
高级搜索技巧
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 | 跳转 | 示例 |
|---|---|---|
!g |
Google 搜索 | !g python |
!gh |
GitHub | !gh tensorflow |
!so |
Stack Overflow | !so javascript |
!w |
Wikipedia | !w AI |
!yt |
YouTube | !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=关键词 |
🌐 国际引擎使用技巧
| 引擎 | 特色技巧 | 示例 |
|---|---|---|
| Brave | Discussions(论坛聚合)、News、图片搜索 | source=news / Goggles 自定义规则 |
| DuckDuckGo | Bangs 快捷跳转(!g / !gh / !so) | !so python error → 直接跳转 Stack Overflow |
| Startpage | Anonymous 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_type |
string | 搜索类型:text/images/news/videos/books |
dht_enabled |
bool | 是否启用 DHT 网络加速 |
proxy |
string/null | 代理服务器地址 |
engine_results |
dict | 各引擎的详细结果(包含 success/error/url) |
实现步骤
调用此技能时,按以下步骤执行:
1️⃣ 解析用户需求
提取搜索请求中的关键参数:
| 参数 | 来源 | 示例 |
|---|---|---|
| 查询内容 | 用户输入 | "python tutorial" |
| 引擎选择 | -e 参数或推断 |
google,brave |
| 时间过滤 | --time 参数 |
week、month |
| 站点限制 | --domain 参数 |
github.com |
| 地区代码 | -r 参数 |
cn-zh、us-en |
| 搜索类型 | --type 参数 |
text、images、news、videos、books |
| 代理 | --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 "\x3Cquery>" -e \x3Cengines> [-t \x3Ctime>] [-d \x3Cdomain>] [-r \x3Cregion>]
# 图片搜索
python3 search.py -q "\x3Cquery>" --type images [-m 10] [--size Large] [--color Blue]
# 新闻搜索
python3 search.py -q "\x3Cquery>" --type news --time week
# 视频搜索
python3 search.py -q "\x3Cquery>" --type videos [--duration medium]
# 书籍搜索
python3 search.py -q "\x3Cquery>" --type books
# 代理 + 超时
python3 search.py -q "\x3Cquery>" --proxy socks5h://127.0.0.1:9150 --timeout 10
# 启用 DHT 加速
python3 search.py -q "\x3Cquery>" --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 Litedht_enabled: true→ 使用 DHT 网络加速(重复查询提速 90%%)proxy: \x3Cproxy_url>→ 使用代理服务器unique_results \x3C 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+ 引擎。
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install multi-web-search - After installation, invoke the skill by name or use
/multi-web-search - Provide required inputs per the skill's parameter spec and get structured output
What is Multi-Web-Search | 多引擎网页搜索?
提供无须API密钥的多引擎并行网页搜索,支持20个国际、国内及专业搜索引擎,含时间和站点过滤,支持图片、新闻、视频搜索及DHT加速。 It is an AI Agent Skill for Claude Code / OpenClaw, with 68 downloads so far.
How do I install Multi-Web-Search | 多引擎网页搜索?
Run "/install multi-web-search" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Multi-Web-Search | 多引擎网页搜索 free?
Yes, Multi-Web-Search | 多引擎网页搜索 is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Multi-Web-Search | 多引擎网页搜索 support?
Multi-Web-Search | 多引擎网页搜索 is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Multi-Web-Search | 多引擎网页搜索?
It is built and maintained by wangzairong (@wangzairong); the current version is v3.4.0.