{"id":"0dbef63b-7475-423f-aaf5-7fc3802bf717","entityType":"agent","slug":"clawhub-wangzairong-multi-web-search","name":"Multi-Web-Search | 多引擎网页搜索","canonicalUrl":"https://www.xpersona.co/agent/clawhub-wangzairong-multi-web-search","canonicalPath":"/agent/clawhub-wangzairong-multi-web-search","generatedAt":"2026-10-11T11:25:44.678Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T09:09:01.259Z","emptyReason":null},"description":"提供无须API密钥的多引擎并行网页搜索，支持20个国际、国内及专业搜索引擎，含时间和站点过滤，支持图片、新闻、视频搜索及DHT加速。","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s176bzwbby3efc6tckjvf8n8jn83shnx:multi-web-search","sourceUrl":"https://clawhub.ai/wangzairong/multi-web-search","homepage":"https://clawhub.ai/wangzairong/skills/multi-web-search","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/wangzairong/multi-web-search","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/wangzairong/skills/multi-web-search","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":61,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Multi-Web-Search | 多引擎网页搜索 technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T09:09:01.259Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T09:09:01.259Z","emptyReason":null},"stars":null,"forks":null,"downloads":1104,"packageName":null,"latestVersion":"3.4.0","tractionLabel":"1.1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T09:09:01.200Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T09:09:01.259Z","lastCrawledAt":"2026-10-11T09:09:01.200Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T09:09:01.200Z","lastVerifiedAt":null,"highlights":[{"version":"3.4.0","createdAt":"2026-05-02T14:24:46.595Z","changelog":"Multi-Web-Search v3.4.0 – Major update with expanded search modalities and network enhancements. - Added support for image, news, video, and book searches (--type parameter). - Introduced DHT network acceleration for up to 90% faster repeated queries. - Integrated proxy support for private and region-unlocked searches. - New configurable per-engine timeout (--timeout). - Improved zero-config fallback (DuckDuckGo Lite) and enhanced multi-language/documentation search support.","fileCount":14,"zipByteSize":38045}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s176bzwbby3efc6tckjvf8n8jn83shnx:multi-web-search","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s176bzwbby3efc6tckjvf8n8jn83shnx:multi-web-search` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/wangzairong/multi-web-search before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wangzairong-multi-web-search/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wangzairong-multi-web-search/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wangzairong-multi-web-search/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-wangzairong-multi-web-search/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-wangzairong-multi-web-search/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-wangzairong-multi-web-search/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T11:25:44.677Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wangzairong-multi-web-search/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wangzairong-multi-web-search/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wangzairong-multi-web-search/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wangzairong-multi-web-search/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T09:09:01.259Z","emptyReason":null},"readme":"Skill: Multi-Web-Search | 多引擎网页搜索\n\nOwner: wangzairong\n\nSummary: 提供无须API密钥的多引擎并行网页搜索，支持20个国际、国内及专业搜索引擎，含时间和站点过滤，支持图片、新闻、视频搜索及DHT加速。\n\nTags: free:3.4.0, latest:3.4.0, multi-engine:3.4.0, privacy:3.4.0, web-search:3.4.0\n\nVersion history:\n\nv3.4.0 | 2026-05-02T14:24:46.595Z | auto\n\nMulti-Web-Search v3.4.0 – Major update with expanded search modalities and network enhancements.\n\n- Added support for image, news, video, and book searches (--type parameter).\n- Introduced DHT network acceleration for up to 90% faster repeated queries.\n- Integrated proxy support for private and region-unlocked searches.\n- New configurable per-engine timeout (--timeout).\n- Improved zero-config fallback (DuckDuckGo Lite) and enhanced multi-language/documentation search support.\n\nArchive index:\n\nArchive v3.4.0: 14 files, 38045 bytes\n\nFiles: _meta.json (135b), CHANGELOG.md (3289b), config.json (4463b), metadata.json (1046b), publish.sh (3651b), scripts/cache_utils.py (5711b), scripts/constants.py (15226b), scripts/install.py (4153b), scripts/result_scorer.py (8561b), scripts/search.py (37843b), scripts/unified_response.py (8495b), scripts/url_builder.py (10317b), skill-card.md (2199b), SKILL.md (16020b)\n\nFile v3.4.0:SKILL.md\n\n---\nname: \"Multi-Web-Search | 多引擎网页搜索\"\ndescription: >\n  Free multi-engine web search skill v3.4. No API key required, supports 20 search engines (11 international + 7 domestic + 2 professional) with parallel search, time filters, and site filters.\n  New features: image/news/video/book search, DHT network acceleration, proxy support, configurable timeout.\n  | 免费多引擎网页搜索技能 v3.4。无需 API Key，支持 20 个搜索引擎并行搜索、时间过滤、站点过滤。\n  Use when you need real-time web search, code examples, technical docs, multi-language search, privacy-first searching, image search, news aggregation, or video search. Zero-config fallback (DuckDuckGo Lite), auto-degrades when ddgs unavailable. DHT network provides 90%% faster repeated queries.\nuse_when:\n  - \"需要搜索网页内容\"\n  - \"需要多引擎并行搜索\"\n  - \"需要免费搜索（无 API Key）\"\n  - \"需要时间过滤的新闻搜索\"\n  - \"需要站点限定的代码搜索\"\n  - \"需要中文/国际内容搜索\"\n  - \"需要 DuckDuckGo/Brave 等隐私引擎\"\n  - \"需要搜索 Reddit/HackerNews 社区\"\n  - \"需要技术文档/教程搜索\"\n  - \"需要图片搜索\"\n  - \"需要新闻聚合\"\n  - \"需要视频搜索\"\n  - \"需要代理搜索\"\n  - \"需要 DHT 加速\"\ntrigger:\n  phrases:\n    - \"搜索网页\"\n    - \"免费搜索\"\n    - \"多引擎搜索\"\n    - \"网页结果\"\n    - \"搜索引擎\"\n    - \"Google 搜索\"\n    - \"百度搜索\"\n    - \"DuckDuckGo\"\n    - \"Brave 搜索\"\n    - \"实时资讯\"\n    - \"最新新闻\"\n    - \"技术文档\"\n    - \"代码示例\"\n    - \"site:github\"\n    - \"--time week\"\n    - \"--domain\"\n    - \"web_fetch\"\n    - \"搜索一下\"\n    - \"帮我搜\"\n    - \"图片搜索\"\n    - \"新闻搜索\"\n    - \"视频搜索\"\n    - \"代理搜索\"\n    - \"DHT\"\nversion: 3.4.0\nemoji: \"🔍\"\nopenclaw:\n  requires:\n    bins: [python3]\n  suggests:\n    bins: [ddgs]\n    extras: [ddgs[dht]]  # DHT 网络加速（可选）\n---\n\n# 🌐 Multi-Web-Search v2.0.0\n\n**免费、无需 API Key 的多引擎网页搜索。** 支持 20 个搜索引擎（11 国际 + 7 国内 + 2 专业），可并行搜索、时间过滤、站点过滤。\n\n---\n\n## 快速开始\n\n```bash\n# 基础搜索（自动选择引擎）\npython3 search.py -q \"python tutorial\"\n\n# 多引擎并行\npython3 search.py -q \"react hooks\" -e google,brave\n\n# 时间过滤\npython3 search.py -q \"AI news\" --time week\n\n# 站点搜索\npython3 search.py -q \"machine learning\" --domain github.com\n\n# 无 ddgs 时，使用 DuckDuckGo Lite\npython3 search.py -q \"test\" --lite\n```\n\n---\n\n## 支持的搜索引擎\n\n### 🌐 国际引擎\n\n| 引擎 | 说明 | 适用场景 | 隐私 |\n|------|------|---------|------|\n| `google` | Google 搜索 | 综合搜索、技术文档、学术资源 | ❌ |\n| `google_hk` | 谷歌香港 | 简化版 Google，广告少 | ❌ |\n| `brave` | Brave Search | 隐私优先、新闻聚合、Discussions | ✅ |\n| `ddg` / `duckduckgo` | DuckDuckGo | 隐私搜索、Bangs 快捷跳转 | ✅ |\n| `bing` | Microsoft Bing | 微软生态、英文搜索 | ❌ |\n| `yahoo` | Yahoo Search | 新闻聚合、传统搜索用户 | ❌ |\n| `startpage` | Startpage | Google 结果 + 隐私保护 | ✅ |\n| `ecosia` | Ecosia（环保） | 环保搜索、植树公益 | ✅ |\n| `qwant` | Qwant（欧盟） | 欧盟推荐、不追踪用户 | ✅ |\n| `yandex` | Yandex（俄罗斯） | 俄语搜索、俄罗斯资源 | ❌ |\n| `mojeek` | Mojeek（独立索引） | 自有索引、隐私友好 | ✅ |\n\n### 🔬 专业知识引擎\n\n| 引擎 | 说明 | 适用场景 |\n|------|------|---------|\n| `wikipedia` | 维基百科 | 概念、术语、历史人物等百科查询 |\n| `wolframalpha` | 计算知识引擎 | 数学公式、统计数据、单位换算 |\n| `github` | GitHub 代码搜索 | 代码片段、开源项目、Issue 查询 |\n| `stackoverflow` | Stack Overflow | 编程问题、技术方案、错误排查 |\n\n### 🇨🇳 国内引擎（7个）\n\n| 引擎 | 说明 | 适用场景 |\n|------|------|---------|\n| `baidu` | 百度搜索 | 中文内容、百度系产品 |\n| `bing_cn` | 必应中国版 | 中文结果（ensearch=0） |\n| `bing_int` | 必应国际版 | 英文结果（ensearch=1） |\n| `360` | 360搜索 | 安全搜索、网址导航 |\n| `sogou` | 搜狗搜索 | 知乎/微信公众号 |\n| `wechat` | 微信搜索 | 公众号文章 |\n| `shenma` | 神马搜索 | 移动端内容、UC浏览器 |\n\n---\n\n## CLI 参数\n\n| 参数 | 说明 | 示例 |\n|------|------|------|\n| `-q, --query` | 搜索查询 | `-q \"python tutorial\"` |\n| `-e, --engines` | 引擎列表（逗号分隔） | `-e google,brave,baidu` |\n| `-m, --max-results` | 每引擎最大结果数 | `-m 10` |\n| `-t, --time` | 时间过滤 | `--time week` |\n| `-d, --domain` | 站点搜索 | `--domain github.com` |\n| `-r, --region` | 地区代码 | `-r us-en` |\n| `--lite` | 强制 DuckDuckGo Lite | `--lite` |\n| `--no-cache` | 禁用缓存 | `--no-cache` |\n| `--no-rank` | 禁用评分排序 | `--no-rank` |\n| `-o, --output` | 输出文件 | `-o results.json` |\n| `--json` | 紧凑 JSON 输出 | `--json` |\n| `--proxy, -pr` | 代理服务器 | `--proxy socks5h://127.0.0.1:9150` |\n| `--type` | 搜索类型 | `--type text` (默认) / `images` / `news` / `videos` / `books` |\n| `--timeout` | 单引擎超时秒数 | `--timeout 10` (默认 30) |\n| `--dht` | 启用 DHT 网络加速 | `--dht` |\n\n### 时间过滤值\n\n| 值 | 含义 | Google 参数 | Brave 参数 |\n|----|------|-------------|-----------|\n| `hour` | 最近 1 小时 | `qdr:h` | `ph` |\n| `day` | 最近 24 小时 | `qdr:d` | `pd` |\n| `week` | 最近 7 天 | `qdr:w` | `pw` |\n| `month` | 最近 30 天 | `qdr:m` | `pm` |\n| `year` | 最近 365 天 | `qdr:y` | `py` |\n\n---\n\n## 高级搜索技巧\n\n### Google 搜索操作符\n\n| 操作符 | 功能 | 示例 |\n|--------|------|------|\n| `\" \"` | 精确匹配 | `\"machine learning\"` |\n| `-` | 排除关键词 | `python -snake` |\n| `OR` | 或运算 | `machine OR deep learning` |\n| `site:` | 站内搜索 | `site:github.com python` |\n| `filetype:` | 文件类型 | `filetype:pdf annual report` |\n| `intitle:` | 标题包含 | `intitle:tutorial python` |\n| `inurl:` | URL 包含 | `inurl:login admin` |\n\n### Brave 特色搜索\n\n| 功能 | 说明 | 参数 |\n|------|------|------|\n| `Goggles` | 自定义搜索规则 | 创建个性化过滤器 |\n| `Discussions` | 论坛讨论聚合 | 搜索 Reddit 等论坛 |\n| `source=news` | 新闻搜索 | 独立新闻索引 |\n| `source=images` | 图片搜索 | 图片索引 |\n\n### DuckDuckGo Bangs\n\n| Bang | 跳转 | 示例 |\n|------|------|------|\n| `!g` | Google 搜索 | `!g python` |\n| `!gh` | GitHub | `!gh tensorflow` |\n| `!so` | Stack Overflow | `!so javascript` |\n| `!w` | Wikipedia | `!w AI` |\n| `!yt` | YouTube | `!yt tutorial` |\n\n---\n\n## 执行步骤（CLI 使用）\n\n根据不同搜索目标选择最佳引擎组合：\n\n| 搜索目标 | 首选引擎 | 原因 |\n|---------|---------|------|\n| **综合中文内容** | 百度 | 中文索引最全 |\n| **公众号文章** | 搜狗 + 微信 | 唯一支持公众号搜索 |\n| **知乎内容** | 搜狗 | 知乎优化好 |\n| **隐私优先** | Brave / DuckDuckGo / Startpage | 不追踪用户 |\n| **技术文档 / 编程** | Google + Stack Overflow | 技术文档全面 |\n| **GitHub 代码搜索** | GitHub 专用引擎 | 代码片段/开源项目最准 |\n| **实时新闻** | Brave News / Bing | 新闻聚合能力强 |\n| **编程问题排查** | Stack Overflow / Google | 错误方案最全 |\n| **学术资源** | Google + 百度学术 | 论文、学术搜索 |\n| **俄语 / 俄罗斯资源** | Yandex | 俄语区比 Google 更准 |\n| **环保公益搜索** | Ecosia | 搜索即植树 |\n| **计算型查询** | WolframAlpha | 数学/统计/单位换算 |\n| **百科知识** | Wikipedia | 概念、术语、历史人物 |\n| **图片搜索** | `ddgs images()` / Brave | 图片索引聚合 |\n| **视频搜索** | `ddgs videos()` | 视频结果聚合 |\n| **新闻搜索** | `ddgs news()` | 新闻聚合（支持时间过滤） |\n\n### 🇨🇳 国内引擎深度指南\n\n| 引擎 | 特色功能 | 搜索示例 |\n|------|---------|---------|\n| **百度** | 中文索引最全、百度学术、百度新闻 | `site:github.com python` / `filetype:pdf` |\n| **搜狗** | 知乎优化、微信公众号 | `site:zhihu.com 机器学习` |\n| **微信搜索** | 唯一公众号文章搜索渠道 | `https://wx.sogou.com/weixin?type=2&query=Python` |\n| **必应中国版** | 中英文结果切换（ensearch=0/1） | `https://cn.bing.com/search?q=AI&ensearch=0` |\n| **360搜索** | 安全搜索、网址导航 | 安全过滤默认开启 |\n| **神马搜索** | 移动端优化、UC浏览器集成 | `https://m.sm.cn/s?q=关键词` |\n\n### 🌐 国际引擎使用技巧\n\n| 引擎 | 特色技巧 | 示例 |\n|------|---------|------|\n| **Brave** | Discussions（论坛聚合）、News、图片搜索 | `source=news` / `Goggles 自定义规则` |\n| **DuckDuckGo** | Bangs 快捷跳转（!g / !gh / !so） | `!so python error` → 直接跳转 Stack Overflow |\n| **Startpage** | Anonymous View 匿名浏览、Google 结果 | 不调用 Google 但显示相同结果 |\n| **Ecosia** | 每约 45 次搜索种一棵树 | 环保主义者首选 |\n| **Qwant** | 欧盟官方推荐、不做个性化追踪 | 适合注重数据主权用户 |\n| **Yandex** | 俄语搜索、俄区内容 | 俄语学习、俄罗斯文化资源 |\n| **Mojeek** | 自有独立索引，不依赖 Google/Bing | 隐私激进用户的替代方案 |\n\n---\n\n## 架构\n\n```\n~/.openclaw/skills/multi-web-search/scripts/\n├── constants.py        # 16+ 引擎定义\n├── url_builder.py     # URL 构建\n├── cache_utils.py     # 结果缓存（TTL 1小时）\n├── result_scorer.py   # 结果评分排序\n├── search.py          # ✅ 唯一入口 (v3.4)\n└── install.py         # 安装脚本\n```\n\n---\n\n## 输出格式\n\n```json\n{\n  \"provider\": \"multi-engine\",\n  \"query\": \"python tutorial\",\n  \"engines\": [\"google\", \"brave\"],\n  \"search_type\": \"text\",\n  \"time_filter\": \"week\",\n  \"domain\": null,\n  \"results\": [\n    {\n      \"title\": \"Python Tutorial\",\n      \"url\": \"https://...\",\n      \"snippet\": \"...\",\n      \"source\": \"google\",\n      \"_score\": 85.3\n    }\n  ],\n  \"engine_results\": {...},\n  \"total_results\": 10,\n  \"unique_results\": 8,\n  \"ddgs_available\": true,\n  \"dht_enabled\": false,\n  \"proxy\": null\n}\n```\n\n### 输出字段说明\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| `search_type` | string | 搜索类型：text/images/news/videos/books |\n| `dht_enabled` | bool | 是否启用 DHT 网络加速 |\n| `proxy` | string/null | 代理服务器地址 |\n| `engine_results` | dict | 各引擎的详细结果（包含 success/error/url） |\n\n---\n\n## 实现步骤\n\n调用此技能时，按以下步骤执行：\n\n### 1️⃣ 解析用户需求\n\n提取搜索请求中的关键参数：\n\n| 参数 | 来源 | 示例 |\n|------|------|------|\n| 查询内容 | 用户输入 | `\"python tutorial\"` |\n| 引擎选择 | `-e` 参数或推断 | `google,brave` |\n| 时间过滤 | `--time` 参数 | `week`、`month` |\n| 站点限制 | `--domain` 参数 | `github.com` |\n| 地区代码 | `-r` 参数 | `cn-zh`、`us-en` |\n| 搜索类型 | `--type` 参数 | `text`、`images`、`news`、`videos`、`books` |\n| 代理 | `--proxy/-pr` 参数 | `socks5h://127.0.0.1:9150` |\n| 超时 | `--timeout` 参数 | `10`（秒） |\n| DHT 加速 | `--dht` 参数 | 启用 P2P 缓存加速 |\n\n**引擎选择优先级：**\n- 用户明确指定 → 使用用户指定引擎\n- 中文内容 → 默认添加国内引擎（baidu / bing_cn）\n- 隐私优先 → Brave / DuckDuckGo / Startpage\n- 未指定 → 使用 DEFAULT_ENGINES = `[\"google\", \"brave\"]`\n\n**搜索类型选择：**\n- 文本搜索 → `text`（默认）\n- 图片搜索 → `images`（支持 size/color/type/layout/license 参数）\n- 新闻搜索 → `news`（支持时间过滤）\n- 视频搜索 → `videos`（支持 resolution/duration 参数）\n- 书籍搜索 → `books` |\n\n### 2️⃣ 执行搜索\n\n```bash\n# 文本搜索\npython3 search.py -q \"<query>\" -e <engines> [-t <time>] [-d <domain>] [-r <region>]\n\n# 图片搜索\npython3 search.py -q \"<query>\" --type images [-m 10] [--size Large] [--color Blue]\n\n# 新闻搜索\npython3 search.py -q \"<query>\" --type news --time week\n\n# 视频搜索\npython3 search.py -q \"<query>\" --type videos [--duration medium]\n\n# 书籍搜索\npython3 search.py -q \"<query>\" --type books\n\n# 代理 + 超时\npython3 search.py -q \"<query>\" --proxy socks5h://127.0.0.1:9150 --timeout 10\n\n# 启用 DHT 加速\npython3 search.py -q \"<query>\" --dht\n```\n\n**执行逻辑：**\n\n```\n如果 ddgs 可用:\n    → 使用 ddgs 多引擎并行搜索（支持 text/images/news/videos/books）\n    → 如果启用 DHT → 自动使用 DHT 网络缓存\n否则:\n    → 使用 DuckDuckGo Lite URL 生成\n    → 通过 web_fetch 获取结果\n```\n\n**降级策略：**\n- `ddgs` 不可用 → 自动降级到 DuckDuckGo Lite\n- 单引擎失败 → 继续返回其他引擎结果\n- 引擎不支持该搜索类型 → 返回错误提示支持的引擎\n- DHT 网络不可用 → 静默回退到普通缓存\n\n### 3️⃣ 处理结果\n\n**多引擎结果合并：**\n- 所有引擎结果合并到统一列表\n- 每个结果标注 `source` 字段（来源引擎）\n- 根据 `_score` 字段排序（仅 text 类型）\n\n**结果格式因搜索类型而异：**\n- `text`: `{title, url, snippet, source}`\n- `images`: `{title, url, image, thumbnail, width, height, source}`\n- `news`: `{title, url, snippet, published_date, source}`\n- `videos`: `{title, url, description, duration, embed_url, thumbnail, source}`\n- `books`: `{title, url, author, publisher, source}`\n\n**去重逻辑：**\n- URL 完全相同的结果只保留一个\n- 保留评分最高的那条\n- 不支持的引擎返回全部结果\n\n### 4️⃣ 错误处理\n\n| 错误场景 | 处理方式 |\n|---------|---------|\n| `ddgs` 未安装 | 降级到 DuckDuckGo Lite，无警告 |\n| 引擎不支持时间过滤 | 静默忽略，仅返回其他引擎结果 |\n| 引擎不支持该搜索类型 | 返回错误，提示支持的引擎列表 |\n| 网络超时 | 返回已获取的结果，不阻塞 |\n| 结果为空 | 建议换用其他引擎或重新表述 |\n| URL 编码错误 | 使用 `urllib.parse.quote()` 正确编码 |\n| DHT 网络不可用 | 静默回退到普通缓存 |\n| 代理连接失败 | 返回错误，提示检查代理配置 |\n\n### 5️⃣ 格式化输出\n\n**结果呈现：**\n- 标题加粗，显示 URL 链接\n- snippet 展示摘要内容\n- 标注来源引擎和相关性评分\n- 标注搜索类型（text/images/news/videos/books）\n\n**JSON 输出（`--json`）：**\n```json\n{\n  \"provider\": \"multi-engine\",\n  \"query\": \"python tutorial\",\n  \"engines\": [\"google\", \"brave\"],\n  \"search_type\": \"text\",\n  \"time_filter\": \"week\",\n  \"domain\": null,\n  \"results\": [\n    {\n      \"title\": \"Python Tutorial\",\n      \"url\": \"https://...\",\n      \"snippet\": \"...\",\n      \"source\": \"google\",\n      \"_score\": 85.3\n    }\n  ],\n  \"engine_results\": {...},\n  \"total_results\": 10,\n  \"unique_results\": 8,\n  \"ddgs_available\": true,\n  \"dht_enabled\": false,\n  \"proxy\": null\n}\n```\n\n**输出标志含义：**\n- `ddgs_available: true` → 使用 ddgs 并行搜索，速度更快\n- `ddgs_available: false` → 降级到 DuckDuckGo Lite\n- `dht_enabled: true` → 使用 DHT 网络加速（重复查询提速 90%%）\n- `proxy: <proxy_url>` → 使用代理服务器\n- `unique_results < total_results` → 有重复结果已去重\n\n---\n\n| 依赖 | 状态 | 说明 |\n|------|------|------|\n| python3 | 必须 | 运行环境 |\n| ddgs | 推荐 | 多引擎并行（pip install ddgs） |\n| ddgs[dht] | 可选 | DHT 网络加速（pip install ddgs[dht]） |\n\n无 ddgs 时，自动降级到 DuckDuckGo Lite URL 生成，使用 `web_fetch` 获取结果。\n\n---\n\n## 安全与隐私\n\n- **无需 API Key**：所有搜索基于免费工具\n- **零配置**：无需注册账号\n- **隐私友好引擎**：支持 Brave、DuckDuckGo、Startpage 等\n- **本地缓存**：仅存本地，无远程传输\n\n---\n\n*免费网页搜索技能，支持 16+ 引擎。*\n\nFile v3.4.0:_meta.json\n\n{\n  \"ownerId\": \"kn7ae6w7gcc7akqcw6xmf2nm45836gtc\",\n  \"slug\": \"multi-web-search\",\n  \"version\": \"3.4.0\",\n  \"publishedAt\": 1777731886595\n}\n\nFile v3.4.0:CHANGELOG.md\n\n# Changelog\n\nAll notable changes to multi-web-search will be documented in this file.\n\n## [3.4.0] - 2026-05-02\n\n### Added\n- **Fallback 内容抓取**：当 ddgs 失败时，自动使用 requests + BeautifulSoup 抓取搜索结果\n- **Bing URL 解码**：自动解码 Bing 的 Base64 重定向链接（移除 'a1' 前缀 + 填充修复）\n- **结果真实性**：Fallback 模式现在返回真实的搜索结果，而非空列表\n\n### Fixed\n- **问题 2**：Fallback 模式返回空结果 — 现在能够实际抓取并解析搜索引擎页面\n- **问题 3**：`mullvad_google` 未在 constants.py 声明 — 已添加到 DDGS_ENGINES 列表\n- Bing 重定向链接解析错误（Base64 解码 + 填充问题）\n\n### Changed\n- 优化 HTML 解析选择器，支持 Google/Brave/DuckDuckGo/Bing/通用引擎\n- 改进 URL 去重逻辑，确保只保留真实链接\n- 增强错误处理，单引擎失败不影响其他引擎\n\n## [3.3.0] - 2026-05-01\n\n### Added\n- 图片搜索支持（size, color, type, layout, license 参数）\n- 新闻搜索支持（时间过滤）\n- 视频搜索支持（resolution, duration 参数）\n- 书籍搜索支持\n\n### Changed\n- 统一搜索类型接口（text/images/news/videos/books）\n- 优化结果格式化，不同搜索类型返回不同字段\n\n## [3.2.0] - 2026-04-30\n\n### Added\n- DHT 网络加速支持（重复查询提速 90%）\n- 代理支持（--proxy / -pr 参数）\n- 可配置超时（--timeout 参数，默认 30s）\n- 结果评分排序（基于相关性）\n\n### Changed\n- 改进缓存机制（TTL 1 小时）\n- 优化 ddgs CLI 调用逻辑\n\n## [3.1.0] - 2026-04-30\n\n### Added\n- 新增 Mojeek 引擎（独立索引、隐私友好）\n- 新增 Google HK 引擎（香港版 Google）\n- 专业知识引擎：Wikipedia, WolframAlpha\n\n### Changed\n- 从单文件重构为 7 个模块（constants, cache, scorer, url_builder, etc.）\n- 改进错误处理，三级降级（ddgs → Lite → web_fetch）\n\n## [3.0.0] - 2026-04-29\n\n### Added\n- **合并 multi-search-engine v2.1** 所有功能\n- 新增 4 个引擎（总计 20 个）\n- ddgs 多引擎并行搜索\n- 结果缓存（TTL 1 小时）\n- 结果评分排序\n\n### Changed\n- 完全重写代码架构（从 500 行单文件 → 2724 行 7 模块）\n- 统一引擎定义到 constants.py\n- 改进文档，详细的使用指南和参数说明\n\n### Deprecated\n- 停用 multi-search-engine v2.1（功能已合并）\n\n## [2.1.0] - 2026-04-11 (multi-search-engine)\n\n### Added\n- 支持 16 个搜索引擎（7 国内 + 9 国际）\n- 高级搜索运算符（site:, filetype:, intitle:, etc.）\n- 时间过滤器（hour/day/week/month/year）\n- DuckDuckGo Bangs 支持\n\n### Features\n- 隐私友好引擎（Brave, DuckDuckGo, Startpage, Ecosia, Qwant）\n- 国内引擎（百度、搜狗、360、微信、神马、必应国内版、必应国际版）\n- 国际引擎（Google, Google HK, DuckDuckGo, Yahoo, Brave, etc.）\n\n---\n\n## Migration from multi-search-engine\n\n如果您之前使用 `multi-search-engine` v2.1，迁移到 `multi-web-search` v3.0+ 是无缝的：\n\n- ✅ 所有引擎保留\n- ✅ 参数名称一致\n- ✅ 新增功能自动可用（图片/新闻/视频/DHT/代理）\n- ✅ 性能提升（缓存 + 评分 + 并行）\n\n只需将调用从 `multi-search-engine` 改为 `multi-web-search` 即可。\n\nFile v3.4.0:skill-card.md\n\n## Description:\n\nMulti-Web-Search is a no-API-key web search skill that runs multi-engine text, image, news, video, and book searches with time, site, proxy, cache, and fallback support.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[wangzairong](https://clawhub.ai/user/wangzairong)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to let an agent search current web, technical, news, image, video, and book sources without configuring an API key. It is suited for multi-language search, site-restricted search, and search workflows that can tolerate third-party search-engine exposure.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Search queries are sent to third-party search engines.\n\nMitigation: Use the skill only for queries that can be shared with external search providers.\n\nRisk: Proxy credentials or sensitive query details may appear in output or local cache.\n\nMitigation: Avoid credentials in proxy URLs and use --no-cache for sensitive searches.\n\nRisk: The installer can install an unpinned third-party package into the user environment.\n\nMitigation: Install ddgs separately in an isolated environment with pinned versions.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/wangzairong/skills/multi-web-search)\n- [Release changelog](artifact/CHANGELOG.md)\n- [Artifact metadata](artifact/metadata.json)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with shell commands and optional JSON search-result output]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Search results can include titles, URLs, snippets, source engines, result counts, cache flags, DHT status, and proxy status.]\n\n## Skill Version(s):\n\n3.4.0 (source: frontmatter, changelog, metadata, server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v3.4.0:config.json\n\n{\n  \"name\": \"multi-web-search\",\n  \"version\": \"3.4.0\",\n  \"engines\": [\n    {\"name\": \"Google\", \"url\": \"https://www.google.com/search?q={keyword}\", \"region\": \"global\", \"privacy\": false},\n    {\"name\": \"Google HK\", \"url\": \"https://www.google.com.hk/search?q={keyword}\", \"region\": \"global\", \"privacy\": false},\n    {\"name\": \"Brave\", \"url\": \"https://search.brave.com/search?q={keyword}\", \"region\": \"global\", \"privacy\": true},\n    {\"name\": \"DuckDuckGo\", \"url\": \"https://duckduckgo.com/html/?q={keyword}\", \"region\": \"global\", \"privacy\": true},\n    {\"name\": \"Bing\", \"url\": \"https://www.bing.com/search?q={keyword}\", \"region\": \"global\", \"privacy\": false},\n    {\"name\": \"Yahoo\", \"url\": \"https://search.yahoo.com/search?p={keyword}\", \"region\": \"global\", \"privacy\": false},\n    {\"name\": \"Startpage\", \"url\": \"https://www.startpage.com/sp/search?query={keyword}\", \"region\": \"global\", \"privacy\": true},\n    {\"name\": \"Ecosia\", \"url\": \"https://www.ecosia.org/search?q={keyword}\", \"region\": \"global\", \"privacy\": true},\n    {\"name\": \"Qwant\", \"url\": \"https://www.qwant.com/?q={keyword}\", \"region\": \"global\", \"privacy\": true},\n    {\"name\": \"Yandex\", \"url\": \"https://yandex.com/search/?text={keyword}\", \"region\": \"global\", \"privacy\": false},\n    {\"name\": \"Mojeek\", \"url\": \"https://www.mojeek.com/search?q={keyword}\", \"region\": \"global\", \"privacy\": true},\n    {\"name\": \"Baidu\", \"url\": \"https://www.baidu.com/s?wd={keyword}\", \"region\": \"cn\", \"privacy\": false},\n    {\"name\": \"Bing CN\", \"url\": \"https://cn.bing.com/search?q={keyword}&ensearch=0\", \"region\": \"cn\", \"privacy\": false},\n    {\"name\": \"Bing INT\", \"url\": \"https://cn.bing.com/search?q={keyword}&ensearch=1\", \"region\": \"cn\", \"privacy\": false},\n    {\"name\": \"360\", \"url\": \"https://www.so.com/s?q={keyword}\", \"region\": \"cn\", \"privacy\": false},\n    {\"name\": \"Sogou\", \"url\": \"https://sogou.com/web?query={keyword}\", \"region\": \"cn\", \"privacy\": false},\n    {\"name\": \"WeChat\", \"url\": \"https://wx.sogou.com/weixin?type=2&query={keyword}\", \"region\": \"cn\", \"privacy\": false},\n    {\"name\": \"Shenma\", \"url\": \"https://m.sm.cn/s?q={keyword}\", \"region\": \"cn\", \"privacy\": false},\n    {\"name\": \"Wikipedia\", \"url\": \"https://en.wikipedia.org/w/index.php?search={keyword}\", \"region\": \"global\", \"type\": \"knowledge\"},\n    {\"name\": \"WolframAlpha\", \"url\": \"https://www.wolframalpha.com/input?i={keyword}\", \"region\": \"global\", \"type\": \"computational\"}\n  ],\n  \"search_types\": {\n    \"text\": {\n      \"description\": \"Standard web search\",\n      \"supported_engines\": \"all\"\n    },\n    \"images\": {\n      \"description\": \"Image search with size/color/type filters\",\n      \"supported_engines\": [\"google\", \"brave\", \"bing\", \"duckduckgo\"],\n      \"parameters\": [\"size\", \"color\", \"type\", \"layout\", \"license\"]\n    },\n    \"news\": {\n      \"description\": \"News aggregation with time filters\",\n      \"supported_engines\": [\"google\", \"brave\", \"bing\"],\n      \"parameters\": [\"time_filter\"]\n    },\n    \"videos\": {\n      \"description\": \"Video search with duration/resolution filters\",\n      \"supported_engines\": [\"google\", \"bing\"],\n      \"parameters\": [\"resolution\", \"duration\"]\n    },\n    \"books\": {\n      \"description\": \"Book search\",\n      \"supported_engines\": [\"google\"],\n      \"parameters\": []\n    }\n  },\n  \"features\": {\n    \"dht\": {\n      \"enabled\": true,\n      \"description\": \"DHT network acceleration for 90% faster repeated queries\",\n      \"requires\": \"ddgs[dht]\"\n    },\n    \"proxy\": {\n      \"enabled\": true,\n      \"description\": \"Proxy support for bypassing restrictions\",\n      \"parameter\": \"--proxy / -pr\"\n    },\n    \"cache\": {\n      \"enabled\": true,\n      \"ttl\": 3600,\n      \"description\": \"Result caching with 1-hour TTL\"\n    },\n    \"scoring\": {\n      \"enabled\": true,\n      \"description\": \"Relevance-based result ranking\"\n    },\n    \"fallback\": {\n      \"enabled\": true,\n      \"description\": \"Automatic fallback to web_fetch when ddgs unavailable\",\n      \"layers\": [\"ddgs\", \"DuckDuckGo Lite\", \"web_fetch HTML parsing\"]\n    },\n    \"time_filter\": {\n      \"enabled\": true,\n      \"values\": [\"hour\", \"day\", \"week\", \"month\", \"year\"],\n      \"supported_engines\": [\"google\", \"brave\", \"bing\", \"startpage\"]\n    },\n    \"site_filter\": {\n      \"enabled\": true,\n      \"operator\": \"site:\",\n      \"example\": \"site:github.com machine learning\"\n    }\n  },\n  \"privacy_engines\": [\"brave\", \"duckduckgo\", \"startpage\", \"ecosia\", \"qwant\", \"mojeek\"],\n  \"free_engines\": [\"brave\", \"duckduckgo\", \"startpage\", \"yahoo\", \"ecosia\", \"qwant\", \"yandex\", \"wikipedia\", \"mojeek\"],\n  \"requires_api_key\": false\n}\n\nFile v3.4.0:metadata.json\n\n{\n  \"name\": \"multi-web-search\",\n  \"display_name\": \"Multi-Web-Search | 多引擎网页搜索\",\n  \"version\": \"3.4.0\",\n  \"description\": \"Free multi-engine web search skill. No API key required, supports 20 search engines (11 international + 7 domestic + 2 professional) with parallel search, time filters, and site filters. | 免费多引擎网页搜索技能。无需 API Key，支持 20 个搜索引擎并行搜索、时间过滤、站点过滤。\",\n  \"description_short\": \"Free 20-engine web search | 免费 20 引擎网页搜索\",\n  \"engines\": 20,\n  \"requires_api_key\": false,\n  \"features\": [\n    \"multi-engine\",\n    \"image-search\",\n    \"news-search\",\n    \"video-search\",\n    \"book-search\",\n    \"dht-acceleration\",\n    \"proxy-support\",\n    \"privacy-engines\",\n    \"time-filter\",\n    \"site-filter\",\n    \"fallback-fetch\"\n  ],\n  \"dependencies\": {\n    \"python3\": \"required\",\n    \"ddgs\": \"suggested\",\n    \"requests\": \"auto-install\",\n    \"beautifulsoup4\": \"auto-install\"\n  },\n  \"regions\": [\"cn\", \"global\"],\n  \"privacy_friendly\": true,\n  \"free\": true\n}","readmeExcerpt":"Skill: Multi-Web-Search | 多引擎网页搜索 Owner: wangzairong Summary: 提供无须API密钥的多引擎并行网页搜索，支持20个国际、国内及专业搜索引擎，含时间和站点过滤，支持图片、新闻、视频搜索及DHT加速。 Tags: free:3.4.0, latest:3.4.0, multi-engine:3.4.0, privacy:3.4.0, web-search:3.4.0 Version history: v3.4.0 | 2026-05-02T14:24:46.595Z | auto Multi-Web-Search v3.4.0 – Major update with expanded search modalities and network enhancements. - Added support for image, news, video, and book sea","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"# 基础搜索（自动选择引擎）\npython3 search.py -q \"python tutorial\"\n\n# 多引擎并行\npython3 search.py -q \"react hooks\" -e google,brave\n\n# 时间过滤\npython3 search.py -q \"AI news\" --time week\n\n# 站点搜索\npython3 search.py -q \"machine learning\" --domain github.com\n\n# 无 ddgs 时，使用 DuckDuckGo Lite\npython3 search.py -q \"test\" --lite"},{"language":"text","snippet":"~/.openclaw/skills/multi-web-search/scripts/\n├── constants.py        # 16+ 引擎定义\n├── url_builder.py     # URL 构建\n├── cache_utils.py     # 结果缓存（TTL 1小时）\n├── result_scorer.py   # 结果评分排序\n├── search.py          # ✅ 唯一入口 (v3.4)\n└── install.py         # 安装脚本"},{"language":"json","snippet":"{\n  \"provider\": \"multi-engine\",\n  \"query\": \"python tutorial\",\n  \"engines\": [\"google\", \"brave\"],\n  \"search_type\": \"text\",\n  \"time_filter\": \"week\",\n  \"domain\": null,\n  \"results\": [\n    {\n      \"title\": \"Python Tutorial\",\n      \"url\": \"https://...\",\n      \"snippet\": \"...\",\n      \"source\": \"google\",\n      \"_score\": 85.3\n    }\n  ],\n  \"engine_results\": {...},\n  \"total_results\": 10,\n  \"unique_results\": 8,\n  \"ddgs_available\": true,\n  \"dht_enabled\": false,\n  \"proxy\": null\n}"},{"language":"bash","snippet":"# 文本搜索\npython3 search.py -q \"<query>\" -e <engines> [-t <time>] [-d <domain>] [-r <region>]\n\n# 图片搜索\npython3 search.py -q \"<query>\" --type images [-m 10] [--size Large] [--color Blue]\n\n# 新闻搜索\npython3 search.py -q \"<query>\" --type news --time week\n\n# 视频搜索\npython3 search.py -q \"<query>\" --type videos [--duration medium]\n\n# 书籍搜索\npython3 search.py -q \"<query>\" --type books\n\n# 代理 + 超时\npython3 search.py -q \"<query>\" --proxy socks5h://127.0.0.1:9150 --timeout 10\n\n# 启用 DHT 加速\npython3 search.py -q \"<query>\" --dht"},{"language":"text","snippet":"如果 ddgs 可用:\n    → 使用 ddgs 多引擎并行搜索（支持 text/images/news/videos/books）\n    → 如果启用 DHT → 自动使用 DHT 网络缓存\n否则:\n    → 使用 DuckDuckGo Lite URL 生成\n    → 通过 web_fetch 获取结果"},{"language":"json","snippet":"{\n  \"provider\": \"multi-engine\",\n  \"query\": \"python tutorial\",\n  \"engines\": [\"google\", \"brave\"],\n  \"search_type\": \"text\",\n  \"time_filter\": \"week\",\n  \"domain\": null,\n  \"results\": [\n    {\n      \"title\": \"Python Tutorial\",\n      \"url\": \"https://...\",\n      \"snippet\": \"...\",\n      \"source\": \"google\",\n      \"_score\": 85.3\n    }\n  ],\n  \"engine_results\": {...},\n  \"total_results\": 10,\n  \"unique_results\": 8,\n  \"ddgs_available\": true,\n  \"dht_enabled\": false,\n  \"proxy\": null\n}"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: \"Multi-Web-Search | 多引擎网页搜索\"\ndescription: >\n  Free multi-engine web search skill v3.4. No API key required, supports 20 search engines (11 international + 7 domestic + 2 professional) with parallel search, time filters, and site filters.\n  New features: image/news/video/book search, DHT network acceleration, proxy support, configurable timeout.\n  | 免费多引擎网页搜索技能 v3.4。无需 API Key，支持 20 个搜索引擎并行搜索、时间过滤、站点过滤。\n  Use when you need real-time web search, code examples, technical docs, multi-language search, privacy-first searching, image search, news aggregation, or video search. Zero-config fallback (DuckDuckGo Lite), auto-degrades when ddgs unavailable. DHT network provides 90%% faster repeated queries.\nuse_when:\n  - \"需要搜索网页内容\"\n  - \"需要多引擎并行搜索\"\n  - \"需要免费搜索（无 API Key）\"\n  - \"需要时间过滤的新闻搜索\"\n  - \"需要站点限定的代码搜索\"\n  - \"需要中文/国际内容搜索\"\n  - \"需要 DuckDuckGo/Brave 等隐私引擎\"\n  - \"需要搜索 Reddit/HackerNews 社区\"\n  - \"需要技术文档/教程搜索\"\n  - \"需要图片搜索\"\n  - \"需要新闻聚合\"\n  - \"需要视频搜索\"\n  - \"需要代理搜索\"\n  - \"需要 DHT 加速\"\ntrigger:\n  phrases:\n    - \"搜索网页\"\n    - \"免费搜索\"\n    - \"多引擎搜索\"\n    - \"网页结果\"\n    - \"搜索引擎\"\n    - \"Google 搜索\"\n    - \"百度搜索\"\n    - \"DuckDuckGo\"\n    - \"Brave 搜索\"\n    - \"实时资讯\"\n    - \"最新新闻\"\n    - \"技术文档\"\n    - \"代码示例\"\n    - \"site:github\"\n    - \"--time week\"\n    - \"--domain\"\n    - \"web_fetch\"\n    - \"搜索一下\"\n    - \"帮我搜\"\n    - \"图片搜索\"\n    - \"新闻搜索\"\n    - \"视频搜索\"\n    - \"代理搜索\"\n    - \"DHT\"\nversion: 3.4.0\nemoji: \"🔍\"\nopenclaw:\n  requires:\n    bins: [python3]\n  suggests:\n    bins: [ddgs]\n    extras: [ddgs[dht]]  # DHT 网络加速（可选）\n---\n\n# 🌐 Multi-Web-Search v2.0.0\n\n**免费、无需 API Key 的多引擎网页搜索。** 支持 20 个搜索引擎（11 国际 + 7 国内 + 2 专业），可并行搜索、时间过滤、站点过滤。\n\n---\n\n## 快速开始\n\n```bash\n# 基础搜索（自动选择引擎）\npython3 search.py -q \"python tutorial\"\n\n# 多引擎并行\npython3 search.py -q \"react hooks\" -e google,brave\n\n# 时间过滤\npython3 search.py -q \"AI news\" --time week\n\n# 站点搜索\npython3 search.py -q \"machine learning\" --domain github.com\n\n# 无 ddgs 时，使用 DuckDuckGo Lite\npython3 search.py -q \"test\" --lite\n```\n\n---\n\n## 支持的搜索引擎\n\n### 🌐 国际引擎\n\n| 引擎 | 说明 | 适用场景 | 隐私 |\n|------|------|---------|------|\n| `google` | Google 搜索 | 综合搜索、技术文档、学术资源 | ❌ |\n| `google_hk` | 谷歌香港 | 简化版 Google，广告少 | ❌ |\n| `brave` | Brave Search | 隐私优先、新闻聚合、Discussions | ✅ |\n| `ddg` / `duckduckgo` | DuckDuckGo | 隐私搜索、Bangs 快捷跳转 | ✅ |\n| `bing` | Microsoft Bing | 微软生态、英文搜索 | ❌ |\n| `yahoo` | Yahoo Search | 新闻聚合、传统搜索用户 | ❌ |\n| `startpage` | Startpage | Google 结果 + 隐私保护 | ✅ |\n| `ecosia` | Ecosia（环保） | 环保搜索、植树公益 | ✅ |\n| `qwant` | Qwant（欧盟） | 欧盟推荐、不追踪用户 | ✅ |\n| `yandex` | Yandex（俄罗斯） | 俄语搜索、俄罗斯资源 | ❌ |\n| `mojeek` | Mojeek（独立索引） | 自有索引、隐私友好 | ✅ |\n\n### 🔬 专业知识引擎\n\n| 引擎 | 说明 | 适用场景 |\n|------|------|---------|\n| `wikipedia` | 维基百科 | 概念、术语、历史人物等百科查询 |\n| `wolframalpha` | 计算知识引擎 | 数学公式、统计数据、单位换算 |\n| `github` | GitHub 代码搜索 | 代码片段、开源项目、Issue 查询 |\n| `stackoverflow` | Stack Overflow | 编程问题、技术方案、错误排查 |\n\n### 🇨🇳 国内引擎（7个）\n\n| 引擎 | 说明 | 适用场景 |\n|------|------|---------|\n| `baidu` | 百度搜索 | 中文内容、百度系产品 |\n| `bing_cn` | 必应中国版 | 中文结果（ensearch=0） |\n| `bing_int` | 必应国际版 | 英文结果（ensearch=1） |\n| `360` | 360搜索 | 安全搜索、网址导航 |\n| `sogou"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7ae6w7gcc7akqcw6xmf2nm45836gtc\",\n  \"slug\": \"multi-web-search\",\n  \"version\": \"3.4.0\",\n  \"publishedAt\": 1777731886595\n}"},{"path":"CHANGELOG.md","content":"# Changelog\n\nAll notable changes to multi-web-search will be documented in this file.\n\n## [3.4.0] - 2026-05-02\n\n### Added\n- **Fallback 内容抓取**：当 ddgs 失败时，自动使用 requests + BeautifulSoup 抓取搜索结果\n- **Bing URL 解码**：自动解码 Bing 的 Base64 重定向链接（移除 'a1' 前缀 + 填充修复）\n- **结果真实性**：Fallback 模式现在返回真实的搜索结果，而非空列表\n\n### Fixed\n- **问题 2**：Fallback 模式返回空结果 — 现在能够实际抓取并解析搜索引擎页面\n- **问题 3**：`mullvad_google` 未在 constants.py 声明 — 已添加到 DDGS_ENGINES 列表\n- Bing 重定向链接解析错误（Base64 解码 + 填充问题）\n\n### Changed\n- 优化 HTML 解析选择器，支持 Google/Brave/DuckDuckGo/Bing/通用引擎\n- 改进 URL 去重逻辑，确保只保留真实链接\n- 增强错误处理，单引擎失败不影响其他引擎\n\n## [3.3.0] - 2026-05-01\n\n### Added\n- 图片搜索支持（size, color, type, layout, license 参数）\n- 新闻搜索支持（时间过滤）\n- 视频搜索支持（resolution, duration 参数）\n- 书籍搜索支持\n\n### Changed\n- 统一搜索类型接口（text/images/news/videos/books）\n- 优化结果格式化，不同搜索类型返回不同字段\n\n## [3.2.0] - 2026-04-30\n\n### Added\n- DHT 网络加速支持（重复查询提速 90%）\n- 代理支持（--proxy / -pr 参数）\n- 可配置超时（--timeout 参数，默认 30s）\n- 结果评分排序（基于相关性）\n\n### Changed\n- 改进缓存机制（TTL 1 小时）\n- 优化 ddgs CLI 调用逻辑\n\n## [3.1.0] - 2026-04-30\n\n### Added\n- 新增 Mojeek 引擎（独立索引、隐私友好）\n- 新增 Google HK 引擎（香港版 Google）\n- 专业知识引擎：Wikipedia, WolframAlpha\n\n### Changed\n- 从单文件重构为 7 个模块（constants, cache, scorer, url_builder, etc.）\n- 改进错误处理，三级降级（ddgs → Lite → web_fetch）\n\n## [3.0.0] - 2026-04-29\n\n### Added\n- **合并 multi-search-engine v2.1** 所有功能\n- 新增 4 个引擎（总计 20 个）\n- ddgs 多引擎并行搜索\n- 结果缓存（TTL 1 小时）\n- 结果评分排序\n\n### Changed\n- 完全重写代码架构（从 500 行单文件 → 2724 行 7 模块）\n- 统一引擎定义到 constants.py\n- 改进文档，详细的使用指南和参数说明\n\n### Deprecated\n- 停用 multi-search-engine v2.1（功能已合并）\n\n## [2.1.0] - 2026-04-11 (multi-search-engine)\n\n### Added\n- 支持 16 个搜索引擎（7 国内 + 9 国际）\n- 高级搜索运算符（site:, filetype:, intitle:, etc.）\n- 时间过滤器（hour/day/week/month/year）\n- DuckDuckGo Bangs 支持\n\n### Features\n- 隐私友好引擎（Brave, DuckDuckGo, Startpage, Ecosia, Qwant）\n- 国内引擎（百度、搜狗、360、微信、神马、必应国内版、必应国际版）\n- 国际引擎（Google, Google HK, DuckDuckGo, Yahoo, Brave, etc.）\n\n---\n\n## Migration from multi-search-engine\n\n如果您之前使用 `multi-search-engine` v2.1，迁移到 `multi-web-search` v3.0+ 是无缝的：\n\n- ✅ 所有引擎保留\n- ✅ 参数名称一致\n- ✅ 新增功能自动可用（图片/新闻/视频/DHT/代理）\n- ✅ 性能提升（缓存 + 评分 + 并行）\n\n只需将调用从 `multi-search-engine` 改为 `multi-web-search` 即可。"},{"path":"skill-card.md","content":"## Description:\n\nMulti-Web-Search is a no-API-key web search skill that runs multi-engine text, image, news, video, and book searches with time, site, proxy, cache, and fallback support.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[wangzairong](https://clawhub.ai/user/wangzairong)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to let an agent search current web, technical, news, image, video, and book sources without configuring an API key. It is suited for multi-language search, site-restricted search, and search workflows that can tolerate third-party search-engine exposure.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Search queries are sent to third-party search engines.\n\nMitigation: Use the skill only for queries that can be shared with external search providers.\n\nRisk: Proxy credentials or sensitive query details may appear in output or local cache.\n\nMitigation: Avoid credentials in proxy URLs and use --no-cache for sensitive searches.\n\nRisk: The installer can install an unpinned third-party package into the user environment.\n\nMitigation: Install ddgs separately in an isolated environment with pinned versions.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/wangzairong/skills/multi-web-search)\n- [Release changelog](artifact/CHANGELOG.md)\n- [Artifact metadata](artifact/metadata.json)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with shell commands and optional JSON search-result output]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Search results can include titles, URLs, snippets, source engines, result counts, cache flags, DHT status, and proxy status.]\n\n## Skill Version(s):\n\n3.4.0 (source: frontmatter, changelog, metadata, server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."},{"path":"config.json","content":"{\n  \"name\": \"multi-web-search\",\n  \"version\": \"3.4.0\",\n  \"engines\": [\n    {\"name\": \"Google\", \"url\": \"https://www.google.com/search?q={keyword}\", \"region\": \"global\", \"privacy\": false},\n    {\"name\": \"Google HK\", \"url\": \"https://www.google.com.hk/search?q={keyword}\", \"region\": \"global\", \"privacy\": false},\n    {\"name\": \"Brave\", \"url\": \"https://search.brave.com/search?q={keyword}\", \"region\": \"global\", \"privacy\": true},\n    {\"name\": \"DuckDuckGo\", \"url\": \"https://duckduckgo.com/html/?q={keyword}\", \"region\": \"global\", \"privacy\": true},\n    {\"name\": \"Bing\", \"url\": \"https://www.bing.com/search?q={keyword}\", \"region\": \"global\", \"privacy\": false},\n    {\"name\": \"Yahoo\", \"url\": \"https://search.yahoo.com/search?p={keyword}\", \"region\": \"global\", \"privacy\": false},\n    {\"name\": \"Startpage\", \"url\": \"https://www.startpage.com/sp/search?query={keyword}\", \"region\": \"global\", \"privacy\": true},\n    {\"name\": \"Ecosia\", \"url\": \"https://www.ecosia.org/search?q={keyword}\", \"region\": \"global\", \"privacy\": true},\n    {\"name\": \"Qwant\", \"url\": \"https://www.qwant.com/?q={keyword}\", \"region\": \"global\", \"privacy\": true},\n    {\"name\": \"Yandex\", \"url\": \"https://yandex.com/search/?text={keyword}\", \"region\": \"global\", \"privacy\": false},\n    {\"name\": \"Mojeek\", \"url\": \"https://www.mojeek.com/search?q={keyword}\", \"region\": \"global\", \"privacy\": true},\n    {\"name\": \"Baidu\", \"url\": \"https://www.baidu.com/s?wd={keyword}\", \"region\": \"cn\", \"privacy\": false},\n    {\"name\": \"Bing CN\", \"url\": \"https://cn.bing.com/search?q={keyword}&ensearch=0\", \"region\": \"cn\", \"privacy\": false},\n    {\"name\": \"Bing INT\", \"url\": \"https://cn.bing.com/search?q={keyword}&ensearch=1\", \"region\": \"cn\", \"privacy\": false},\n    {\"name\": \"360\", \"url\": \"https://www.so.com/s?q={keyword}\", \"region\": \"cn\", \"privacy\": false},\n    {\"name\": \"Sogou\", \"url\": \"https://sogou.com/web?query={keyword}\", \"region\": \"cn\", \"privacy\": false},\n    {\"name\": \"WeChat\", \"url\": \"https://wx.sogou.com/weixin?type=2&query={keyword}\", \"region\": \"cn\", \"privacy\": false},\n    {\"name\": \"Shenma\", \"url\": \"https://m.sm.cn/s?q={keyword}\", \"region\": \"cn\", \"privacy\": false},\n    {\"name\": \"Wikipedia\", \"url\": \"https://en.wikipedia.org/w/index.php?search={keyword}\", \"region\": \"global\", \"type\": \"knowledge\"},\n    {\"name\": \"WolframAlpha\", \"url\": \"https://www.wolframalpha.com/input?i={keyword}\", \"region\": \"global\", \"type\": \"computational\"}\n  ],\n  \"search_types\": {\n    \"text\": {\n      \"description\": \"Standard web search\",\n      \"supported_engines\": \"all\"\n    },\n    \"images\": {\n      \"description\": \"Image search with size/color/type filters\",\n      \"supported_engines\": [\"google\", \"brave\", \"bing\", \"duckduckgo\"],\n      \"parameters\": [\"size\", \"color\", \"type\", \"layout\", \"license\"]\n    },\n    \"news\": {\n      \"description\": \"News aggregation with time filters\",\n      \"supported_engines\": [\"google\", \"brave\", \"bing\"],\n      \"parameters\": [\"time_filter\"]\n    },\n    \"videos\": {\n      \"description\": \"Video search with duration/resolution filters\",\n      \"supported_engines\": [\"google\", "}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1406,"uniquenessScore":41,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T09:09:01.259Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T09:09:01.259Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T11:25:44.678Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}