提供无须API密钥的多引擎并行网页搜索,支持20个国际、国内及专业搜索引擎,含时间和站点过滤,支持图片、新闻、视频搜索及DHT加速。
免费、无需 API Key 的多引擎网页搜索。 支持 20 个搜索引擎(11 国际 + 7 国内 + 2 专业),可并行搜索、时间过滤、站点过滤。
bash
# 基础搜索(自动选择引擎)
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编程问题、技术方案、错误排查
引擎说明适用场景baidu百度搜索中文内容、百度系产品bing_cn必应中国版中文结果(ensearch=0)bing_int必应国际版英文结果(ensearch=1)360360搜索安全搜索、网址导航sogou搜狗搜索知乎/微信公众号wechat微信搜索公众号文章shenma神马搜索移动端内容、UC浏览器
参数说明示例-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
操作符功能示例" "精确匹配"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
功能说明参数Goggles自定义搜索规则创建个性化过滤器Discussions论坛讨论聚合搜索 Reddit 等论坛source=news新闻搜索独立新闻索引source=images图片搜索图片索引
Bang跳转示例!gGoogle 搜索!g python``!ghGitHub!gh tensorflow``!soStack Overflow!so javascript``!wWikipedia!w AI``!ytYouTube!yt tutorial
根据不同搜索目标选择最佳引擎组合:
搜索目标首选引擎原因综合中文内容百度中文索引最全公众号文章搜狗 + 微信唯一支持公众号搜索知乎内容搜狗知乎优化好隐私优先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=0360搜索安全搜索、网址导航安全过滤默认开启神马搜索移动端优化、UC浏览器集成https://m.sm.cn/s?q=关键词
引擎特色技巧示例BraveDiscussions(论坛聚合)、News、图片搜索source=news / Goggles 自定义规则DuckDuckGoBangs 快捷跳转(!g / !gh / !so)!so python error → 直接跳转 Stack OverflowStartpageAnonymous View 匿名浏览、Google 结果不调用 Google 但显示相同结果Ecosia每约 45 次搜索种一棵树环保主义者首选Qwant欧盟官方推荐、不做个性化追踪适合注重数据主权用户Yandex俄语搜索、俄区内容俄语学习、俄罗斯文化资源Mojeek自有独立索引,不依赖 Google/Bing隐私激进用户的替代方案
text
~/.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 # 安装脚本
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
}
字段类型说明search_typestring搜索类型:text/images/news/videos/booksdht_enabledbool是否启用 DHT 网络加速proxystring/null代理服务器地址engine_resultsdict各引擎的详细结果(包含 success/error/url)
调用此技能时,按以下步骤执行:
提取搜索请求中的关键参数:
参数来源示例查询内容用户输入"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 缓存加速
引擎选择优先级:
["google", "brave"]搜索类型选择:
text(默认)images(支持 size/color/type/layout/license 参数)news(支持时间过滤)videos(支持 resolution/duration 参数)books |bash
# 文本搜索
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
执行逻辑:
text
如果 ddgs 可用:
→ 使用 ddgs 多引擎并行搜索(支持 text/images/news/videos/books)
→ 如果启用 DHT → 自动使用 DHT 网络缓存
否则:
→ 使用 DuckDuckGo Lite URL 生成
→ 通过 web_fetch 获取结果
降级策略:
ddgs 不可用 → 自动降级到 DuckDuckGo Lite多引擎结果合并:
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}去重逻辑:
错误场景处理方式ddgs 未安装降级到 DuckDuckGo Lite,无警告引擎不支持时间过滤静默忽略,仅返回其他引擎结果引擎不支持该搜索类型返回错误,提示支持的引擎列表网络超时返回已获取的结果,不阻塞结果为空建议换用其他引擎或重新表述URL 编码错误使用 urllib.parse.quote() 正确编码DHT 网络不可用静默回退到普通缓存代理连接失败返回错误,提示检查代理配置
结果呈现:
JSON 输出( --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: <proxy_url> → 使用代理服务器unique_results < total_results → 有重复结果已去重依赖状态说明python3必须运行环境ddgs推荐多引擎并行(pip install ddgs)ddgs[dht]可选DHT 网络加速(pip install ddgs[dht])
无 ddgs 时,自动降级到 DuckDuckGo Lite URL 生成,使用 web_fetch 获取结果。
免费网页搜索技能,支持 16+ 引擎。