{"id":"4af14abc-be78-4cd1-b9ef-8f21bf63b695","entityType":"agent","slug":"clawhub-ucsdzehualiu-free-web-search","name":"Free Web Search","canonicalUrl":"https://www.xpersona.co/agent/clawhub-ucsdzehualiu-free-web-search","canonicalPath":"/agent/clawhub-ucsdzehualiu-free-web-search","generatedAt":"2026-10-10T06:24:01.610Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T04:11:07.403Z","emptyReason":null},"description":"基于 Bing 国内版 / DuckDuckGo 的联网搜索工具，中文环境优化，可按需抓取目标网页正文，返回结构化结果。仅在用户明确请求联网搜索时调用。 Skill: Free Web Search Owner: ucsdzehualiu Summary: 基于 Bing 国内版 / DuckDuckGo 的联网搜索工具，中文环境优化，可按需抓取目标网页正文，返回结构化结果。仅在用户明确请求联网搜索时调用。 Tags: latest:8.1.0 Version history: v8.1.0 | 2026-06-22T07:29:06.147Z | user v8.1.0: Add LICENSE, fix doc/code mismatch (removed phantom --engine/--filter/--no-rewrite docs), disclose IP-geo probe services, drop unused deps v8.0.0 | 2026-06-17T16:45:54.407Z | auto free-web-search 8.0.0 重大更新","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 5.2K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s17bk47xgrxy45rkmxpwv5p1z983nsd8:free-web-search","sourceUrl":"https://clawhub.ai/ucsdzehualiu/free-web-search","homepage":"https://clawhub.ai/ucsdzehualiu/skills/free-web-search","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/ucsdzehualiu/free-web-search","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/ucsdzehualiu/skills/free-web-search","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":66,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"基于 Bing 国内版 / DuckDuckGo 的联网搜索工具，中文环境优化，可按需抓取目标网页正文，返回结构化结果。仅在用户明确请求联网搜索时调用。 Skill: Free Web Search Owner: ucsdzehualiu Summary: 基于 Bing 国内版 / DuckDuckGo 的联网搜索工"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T04:11:07.403Z","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-09T04:11:07.403Z","emptyReason":null},"stars":null,"forks":null,"downloads":5249,"packageName":null,"latestVersion":"8.1.0","tractionLabel":"5.2K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T04:11:07.402Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T04:11:07.403Z","lastCrawledAt":"2026-10-09T04:11:07.402Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T04:11:07.402Z","lastVerifiedAt":null,"highlights":[{"version":"8.1.0","createdAt":"2026-06-22T07:29:06.147Z","changelog":"v8.1.0: Add LICENSE, fix doc/code mismatch (removed phantom --engine/--filter/--no-rewrite docs), disclose IP-geo probe services, drop unused deps","fileCount":6,"zipByteSize":10896},{"version":"8.0.0","createdAt":"2026-06-17T16:45:54.407Z","changelog":"free-web-search 8.0.0 重大更新 - 升级主版本号至 8.0.0 - 公开 changelog 未提及具体新功能或参数变化，常规功能说明、用法和依赖均与前一版本相同 - 所有核心功能（多引擎搜索、正文抓取、低质量域名过滤、意图改写等）保持不变 - 文档内容同步小幅修订，未见破坏性变更","fileCount":5,"zipByteSize":9966},{"version":"7.1.1","createdAt":"2026-06-17T15:19:44.926Z","changelog":"free-web-search v7.1.1 - Narrowed trigger keywords to reduce accidental invocation; now only responds to explicit search requests (e.g., \"free-web-search\", \"联网搜索\"). - Updated SKILL.md for clarity; simplified description and improved privacy, dependency, and parameter documentation. - Added clear install instructions and explicit dependency management; tool now requires manual setup for all dependencies. - Improved examples and query guidelines for better search results. - Removed unused file: skill-card.md.","fileCount":5,"zipByteSize":12160},{"version":"7.0.8","createdAt":"2026-04-09T16:22:39.393Z","changelog":"free-web-search v7.0.8 - No file changes detected in this release. - All features, usage and parameters remain unchanged from the previous version.","fileCount":5,"zipByteSize":12441},{"version":"7.0.7","createdAt":"2026-04-09T14:13:52.487Z","changelog":"free-web-search v7.0.7 - 更新描述和参数细节，强调中文环境优化和全文抓取能力 - 明确仅支持 Bing（国内版）和 DuckDuckGo，可自动选择 - 增加 Query 优化规范，推荐简洁精准关键词，禁止长句/反问句 - trigger_keywords 新增“是什么” - 优化工具参数说明，调整部分默认值和最大值限制 - 移除新闻专用参数，突出中文环境和结构化结果特点","fileCount":4,"zipByteSize":11215},{"version":"7.0.6","createdAt":"2026-04-09T11:38:27.888Z","changelog":"free-web-search v10 — 新增多搜索引擎、新闻模式、纯 Bash 安装脚本等特性。 - 支持 Bing/Google/DuckDuckGo 多引擎，自动切换（auto 模式） - 新增 --news 新闻模式，仅限新闻源并屏蔽知乎/百科噪声 - 新增 scripts/setup.sh 一键安装脚本 - 搜索全面升级为 httpx+BeautifulSoup，全文采用 Playwright 渲染 - 参数简化，使用更灵活（--max, --full, --engine, --news, --filter） - Query 规范和实例文档更精炼、明确","fileCount":4,"zipByteSize":7553},{"version":"7.0.5","createdAt":"2026-04-08T14:36:13.266Z","changelog":"- 版本号从 12 降回 7。 - 其余功能与文档内容无变化。","fileCount":3,"zipByteSize":8584},{"version":"7.0.4","createdAt":"2026-04-08T14:31:13.234Z","changelog":"free-web-search v12 introduces several server and search quality improvements: - 新增结果质量检测，自动警告结果集中在单一域名 - 页面渲染/超时/重试时间更长，提升稳定性 - 新增域名黑名单和 --filter 参数，可过滤知乎等低质量网站 - 支持通过 engine 参数选择 bing、duckduckgo 或 auto - 全文抓取时自动跳过黑名单域名 - 增强 headless 模式，优化服务器环境兼容性","fileCount":3,"zipByteSize":8614}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17bk47xgrxy45rkmxpwv5p1z983nsd8:free-web-search","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"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-ucsdzehualiu-free-web-search/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ucsdzehualiu-free-web-search/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ucsdzehualiu-free-web-search/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-ucsdzehualiu-free-web-search/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-ucsdzehualiu-free-web-search/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-ucsdzehualiu-free-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-10T06:24:01.609Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ucsdzehualiu-free-web-search/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ucsdzehualiu-free-web-search/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ucsdzehualiu-free-web-search/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ucsdzehualiu-free-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":"high","updatedAt":"2026-10-09T04:11:07.403Z","emptyReason":null},"readme":"Skill: Free Web Search\n\nOwner: ucsdzehualiu\n\nSummary: 基于 Bing 国内版 / DuckDuckGo 的联网搜索工具，中文环境优化，可按需抓取目标网页正文，返回结构化结果。仅在用户明确请求联网搜索时调用。\n\nTags: latest:8.1.0\n\nVersion history:\n\nv8.1.0 | 2026-06-22T07:29:06.147Z | user\n\nv8.1.0: Add LICENSE, fix doc/code mismatch (removed phantom --engine/--filter/--no-rewrite docs), disclose IP-geo probe services, drop unused deps\n\nv8.0.0 | 2026-06-17T16:45:54.407Z | auto\n\nfree-web-search 8.0.0 重大更新\n\n- 升级主版本号至 8.0.0\n- 公开 changelog 未提及具体新功能或参数变化，常规功能说明、用法和依赖均与前一版本相同\n- 所有核心功能（多引擎搜索、正文抓取、低质量域名过滤、意图改写等）保持不变\n- 文档内容同步小幅修订，未见破坏性变更\n\nv7.1.1 | 2026-06-17T15:19:44.926Z | auto\n\nfree-web-search v7.1.1\n\n- Narrowed trigger keywords to reduce accidental invocation; now only responds to explicit search requests (e.g., \"free-web-search\", \"联网搜索\").\n- Updated SKILL.md for clarity; simplified description and improved privacy, dependency, and parameter documentation.\n- Added clear install instructions and explicit dependency management; tool now requires manual setup for all dependencies.\n- Improved examples and query guidelines for better search results.\n- Removed unused file: skill-card.md.\n\nv7.0.8 | 2026-04-09T16:22:39.393Z | user\n\nfree-web-search v7.0.8\n\n- No file changes detected in this release.\n- All features, usage and parameters remain unchanged from the previous version.\n\nv7.0.7 | 2026-04-09T14:13:52.487Z | user\n\nfree-web-search v7.0.7\n\n- 更新描述和参数细节，强调中文环境优化和全文抓取能力\n- 明确仅支持 Bing（国内版）和 DuckDuckGo，可自动选择\n- 增加 Query 优化规范，推荐简洁精准关键词，禁止长句/反问句\n- trigger_keywords 新增“是什么”\n- 优化工具参数说明，调整部分默认值和最大值限制\n- 移除新闻专用参数，突出中文环境和结构化结果特点\n\nv7.0.6 | 2026-04-09T11:38:27.888Z | user\n\nfree-web-search v10 — 新增多搜索引擎、新闻模式、纯 Bash 安装脚本等特性。\n\n- 支持 Bing/Google/DuckDuckGo 多引擎，自动切换（auto 模式）\n- 新增 --news 新闻模式，仅限新闻源并屏蔽知乎/百科噪声\n- 新增 scripts/setup.sh 一键安装脚本\n- 搜索全面升级为 httpx+BeautifulSoup，全文采用 Playwright 渲染\n- 参数简化，使用更灵活（--max, --full, --engine, --news, --filter）\n- Query 规范和实例文档更精炼、明确\n\nv7.0.5 | 2026-04-08T14:36:13.266Z | user\n\n- 版本号从 12 降回 7。\n- 其余功能与文档内容无变化。\n\nv7.0.4 | 2026-04-08T14:31:13.234Z | user\n\nfree-web-search v12 introduces several server and search quality improvements:\n\n- 新增结果质量检测，自动警告结果集中在单一域名\n- 页面渲染/超时/重试时间更长，提升稳定性\n- 新增域名黑名单和 --filter 参数，可过滤知乎等低质量网站\n- 支持通过 engine 参数选择 bing、duckduckgo 或 auto\n- 全文抓取时自动跳过黑名单域名\n- 增强 headless 模式，优化服务器环境兼容性\n\nv7.0.3 | 2026-04-08T13:45:29.438Z | user\n\nfree-web-search v7.0.3\n\n- 更新触发关键词，收窄触发范围（移除部分泛用词，添加更精准词）\n- 精简和优化了 SKILL.md 文档内容，突出查询优化规则和常用场景\n- 简化“参数说明”和“使用示例”，适配更广泛的用户需求\n- 删除“双引擎降级”等特定特性描述，强调 Playwright 方案和中文环境优化\n- 增强关于 Query 规范、过滤技巧的说明，便于生成高效的搜索关键词\n\nv7.0.2 | 2026-04-08T12:42:01.572Z | user\n\nVersion 8 is a major upgrade focused on precision, usability, and flexibility:\n\n- Deeply optimized search for Chinese environment, with enforced Chinese Bing results and precise query structuring.\n- Added many new trigger keywords for richer natural language query support.\n- Now supports structural search result output and full content fetching with fine-grained control (max/full arguments).\n- Implements automatic fallback to requests+BeautifulSoup mode if Playwright is unavailable.\n- Comprehensive user and agent documentation for query optimization, when to trigger a search, and recommended parameter usage.\n- Removed unnecessary files for a cleaner build.\n\nv7.0.1 | 2026-03-30T07:49:48.379Z | user\n\n- No changes detected in this version.\n- Version number remains at 7.0.\n- All features and documentation are unchanged.\n\nv7.0.0 | 2026-03-30T07:15:56.648Z | user\n\nVersion 7.0 is a major update focusing on improved reliability and search accuracy.\n\n- Switched to Bing as the search engine for more up-to-date and stable results\n- Automatically appends the current date to queries to ensure the freshest information\n- Search parameters clarified and simplified, with better descriptions\n- Expanded documentation with practical tips for optimizing Chinese search queries\n- Tool parameters standardized for easier integration\n\nv3.0.0 | 2026-03-29T16:15:51.404Z | user\n\n/\n\nv9.3.4 | 2026-03-29T15:50:45.633Z | user\n\nNo changes detected in this version.\n\n- No file modifications or updates were made to the skill.\n- Functionality and documentation remain the same as the previous version.\n\nv9.3.3 | 2026-03-29T05:54:59.340Z | user\n\nfree-web-search  introduces major enhancements for faster and higher-quality web searches.\n\n- Added parallel fetching (multi-threaded), making page retrieval up to 3× faster\n- Introduced smart filtering for deduplication and low-quality result removal\n- New --simple parameter for concise, readable output\n- Connection reuse implemented to reduce network overhead\n- Improved error handling with automatic network retries\n- Enhanced Chinese encoding detection and support\n- Skill documentation updated with new parameters and usage examples\n\nv9.3.2 | 2026-03-26T16:08:19.849Z | user\n\nfree-web-search 9.3.2\n\n- 新增：全面重构说明文档，明确技能核心能力为“搜索并获取网页全文内容”\n- 工具接口更新：引入 web_search 工具，支持获取搜索引擎摘要与前N个页面的完整内容\n- 支持中文搜索和常见网页编码，优化编码检测多层次方案，强制 Windows 下 UTF-8 输出，解决乱码\n- 参数调整：引入 --full 选项自定义抓取完整页面数量，默认前3个\n- 增强结果结构化输出，包括标题、链接、预览摘要及全文\n\nv9.3.1 | 2026-03-26T14:53:13.833Z | user\n\n- Initial skill version released under the new name and structure.\n- Added detailed execution workflow for web search: from intent analysis, search execution, to structured result presentation.\n- Supports Chinese and English trigger keywords.\n- Integrates with the `general_search` tool for live web queries.\n- Emphasizes accuracy, transparency, and proper citation of sources in result output.\n\nv9.3.0 | 2026-03-18T07:25:05.984Z | user\n\n- Added support for recency-boosted searches with the new --recent command-line option.\n- Documentation updated to include instructions for using the --recent flag for fresher search results.\n- Version bumped to 9.3.0.\n\nv9.0.8 | 2026-03-18T06:31:54.360Z | user\n\n- Version bumped from 9.0.0 to 9.2.0 in SKILL.md.\n- No code or documentation changes detected beyond the version update.\n\nv1.0.7 | 2026-03-18T06:23:20.761Z | user\n\nVersion 1.0.7\n\n- No code or documentation changes detected in this release.\n- Skill version updated without additional modifications.\n\nv1.0.6 | 2026-03-18T03:56:50.352Z | user\n\nfree-web-search v9.0.0 is a major update focused on speed, simplicity, and agent integration.\n\n- Switched to fast, lightweight httpx-based engine (no more browser dependencies)\n- Now optimized for Claude Code / OpenClaw agents with improved JSON output\n- Extended documentation with clear usage guidance, sample queries, and agent workflow\n- Enhanced error handling and structured output for easier integration\n- Updated dependencies (removed playwright, added httpx, lxml)\n\nv1.0.5 | 2026-03-17T12:41:41.636Z | user\n\n- No code or documentation changes detected in this release.\n- Version number updated from 1.0.5 to 8.0.0.\n\nv1.0.4 | 2026-03-17T12:40:35.215Z | user\n\n- Added support for multi-engine search with automatic fallback from DuckDuckGo to Bing when needed.\n- Improved intelligent content extraction, filtering ads and redundant information for cleaner results.\n- Enhanced error handling for more robust searches.\n- Introduced structured output and sorting by title relevance and authoritative sources.\n- Added command-line options for JSON output and customizable page count.\n\nv1.0.3 | 2026-03-17T09:45:38.259Z | user\n\nFree-bing-search v1.0.3\n\n- Added Python script for web search functionality: scripts/web_search.py\n- Removed obsolete file: .clawhub/origin.json\n- Now provides fast web search for external knowledge, returns concise answers extracted from the most relevant pages\n- Updated dependencies to include beautifulsoup4 and readability-lxml for content extraction\n- Usage instructions and examples clarified in documentation\n\nArchive index:\n\nArchive v8.1.0: 6 files, 10896 bytes\n\nFiles: LICENSE (1072b), scripts/setup.sh (1001b), scripts/web_search.py (15018b), skill-card.md (2107b), SKILL.md (6785b), _meta.json (134b)\n\nFile v8.1.0:SKILL.md\n\n---\nname: free-web-search\ndescription: 基于 Bing 国内版 / DuckDuckGo 的联网搜索工具，中文环境优化，可按需抓取目标网页正文，返回结构化结果。仅在用户明确请求联网搜索时调用。\nversion: 8.1.0\nauthor: free-web-search\nlicense: MIT\ntrigger_keywords:\n  - free-web-search\n  - 联网搜索\n  - 网页搜索\n  - web search\ntools:\n  - name: web_search\n    description: 联网搜索并返回结构化结果，中文环境优化，可选抓取网页正文（默认不抓取）\n    script: scripts/web_search.py\n    parameters:\n      query:\n        type: string\n        description: 【必填】搜索关键词/短句，简洁精准（2-5 个核心词），禁止长句/反问句\n        required: true\n      max:\n        type: integer\n        description: 最大返回的搜索结果条数，默认 10，最大 20\n        required: false\n      full:\n        type: integer\n        description: 抓取前 N 条结果的网页全文内容，默认 0（不抓取），最大 5\n        required: false\n---\n\n# free-web-search 联网搜索工具\n\n基于 Playwright 的 Bing 国内版 / DuckDuckGo 搜索工具。专注于**搜索 + 可选正文抓取**两件事，无副作用。\n\n## 触发方式\n\n仅在用户**明确请求联网搜索**时调用，例如：\n\n- \"用 free-web-search 查一下 Python 异步教程\"\n- \"联网搜索 2026 年中国大型邮轮\"\n- \"web search: latest LLM benchmarks\"\n\ntrigger_keywords 已经收窄到只识别 `free-web-search`、`联网搜索`、`网页搜索`、`web search`，不会因为消息里出现\"新闻\"、\"最新消息\"这些常见词就把对话内容发到外部搜索引擎。\n\n## 核心能力\n\n- **中文环境优化**：默认 `mkt=zh-CN`，结果以中文为主\n- **可选全文抓取**：通过 `--full=N` 抓取前 N 条结果正文（默认 0 不抓取）\n- **智能路由**：基于 IP 地理位置自动选择 Bing CN（国内）或 DuckDuckGo（国外），单引擎失败时自动兜底\n- **Headless 浏览器**：服务器/容器可用，仅开 `--no-sandbox`、`--disable-gpu`、`--disable-dev-shm-usage` 三个标准稳定性参数\n\n## 安装\n\n**所有依赖必须在使用前手动安装。脚本运行时不会自动安装任何 npm/pip 包，也不会修改宿主环境。**\n\n### 前置依赖\n\n| 依赖 | 用途 | 备注 |\n|---|---|---|\n| Python 3.8+ | 运行时 | — |\n| playwright | 浏览器自动化 | `pip install playwright` |\n| Chromium | Playwright 浏览器引擎 | `playwright install chromium`（约 150 MB） |\n\n### 一键安装\n\n```bash\n# Linux / macOS\nbash scripts/setup.sh\n```\n\n### 手动安装\n\n```bash\npip install playwright\nplaywright install chromium\n```\n\n## 使用示例\n\n```bash\n# 基础搜索（不抓正文）\npython scripts/web_search.py \"Python 异步编程 最佳实践 2026\" --max=10\n\n# 搜索 + 抓前 3 条全文\npython scripts/web_search.py \"中国大型邮轮 花城号 出坞\" --full=3\n\n# 手动指定区域（代理用户）\npython scripts/web_search.py \"技术教程\" --region=cn    # 强制 Bing CN\npython scripts/web_search.py \"技术教程\" --region=intl  # 强制 DuckDuckGo\n```\n\n## 搜索 Query 优化建议\n\n搜索效果取决于 Query 是否合理：\n\n1. **简洁精准**：2-5 个核心词组合，避免长句、反问句\n2. **限定明确**：需要时效性/地区内容时加上对应限定词\n3. **格式正确**：中文关键词 + 数字/英文限定词\n\n| 场景 | 推荐 | 不推荐 |\n|---|---|---|\n| 时效新闻 | `2026年04月 美伊局势` | `最近美伊之间发生了什么` |\n| 技术教程 | `Python 异步编程 2026` | `我想学 Python 异步编程` |\n| 本地内容 | `广东东莞 今日天气` | `东莞今天天气怎么样啊` |\n| 官方信息 | `华为云 ModelArts 文档` | `华为云那个 ModelArts 怎么看` |\n\n## 参数说明\n\n| 参数 | 类型 | 默认 | 范围 | 说明 |\n|---|---|---|---|---|\n| `query` | 字符串 | — | 必填 | 搜索关键词 |\n| `--max` | 整数 | 10 | 1-20 | 最多返回条数 |\n| `--full` | 整数 | 0 | 0-5 | 抓取前 N 条全文 |\n| `--region` | 字符串 | auto | auto/cn/intl | 区域覆盖（auto = IP 探测，cn = Bing CN，intl = DuckDuckGo） |\n\n## 隐私与网络说明\n\n启用此工具会产生以下出站请求，使用前请确认你的环境允许：\n\n| 目的 | 端点 | 数据 |\n|---|---|---|\n| IP 地理位置探测 | `myip.ipip.net`, `cip.cc`, `ipinfo.io/json`, `ipapi.co/json` | 你的 IP、UA |\n| Bing 搜索（国内 IP 默认） | `cn.bing.com` | 你的 query 文本、IP、UA |\n| DuckDuckGo 搜索（国外 IP 默认） | `duckduckgo.com` | 你的 query 文本、IP、UA |\n| 抓取目标页（仅当 `--full > 0`） | 各搜索结果对应的站点 | 你的 IP、UA、Referer |\n\n工具本身：\n\n- 不收集 telemetry、不写日志到第三方\n- 不在运行时安装 pip 包、不修改宿主目录之外的文件\n- 浏览器 cookie 仅在当前 Playwright 上下文内使用，进程退出即销毁\n\n如果你不希望抓取目标页，把 `--full` 留在默认值 `0` 即可，工具只会访问搜索引擎和 IP 探测服务。\n\n## 与 free-web-search-js 的区别\n\n**free-web-search**（本工具）：\n- 轻量级 Python 实现，无需 Node.js\n- 依赖 Playwright + Chromium（~150 MB）\n- 适合简单查询、快速结果\n- 不支持复杂 JS 渲染的单页应用\n\n**free-web-search-js**：\n- 基于 Puppeteer 的 Node.js 实现\n- 完整浏览器环境，支持重度 JS 渲染\n- 适合需要完整 DOM 交互的场景\n\n选择建议：优先使用本工具（free-web-search），仅在遇到 JS 渲染问题时切换到 free-web-search-js。\n\n## 测试\n\n当前版本无自动化测试覆盖。欢迎贡献测试用例。\n\n## 常见问题\n\n### 搜索返回空结果\n- 检查网络（Bing 国内版偶发限流，工具已内置 3s 节流和指数退避）\n- 如果在国外但被误判为国内，试 `--region=intl` 强制 DuckDuckGo\n- 检查 query 是否过于冗长\n\n### 浏览器启动失败\n脚本不会自动安装。手动跑：\n```bash\npip install playwright\nplaywright install chromium\n```\n\n### 全文抓取失败\n- 部分站点 JS 渲染较重或返回非 HTML，工具不会做特殊处理\n- 考虑使用 free-web-search-js（基于 Puppeteer，JS 渲染能力更强）\n\n### IP 探测失败或被误判\n- 工具依次探测 4 个公开 IP 服务（myip.ipip.net、cip.cc、ipinfo.io、ipapi.co）\n- 如果所有探测失败，默认使用 DuckDuckGo（国外）\n- 可通过 `--region=cn` 或 `--region=intl` 手动覆盖\n\n## 已知限制\n\n- **VPN/代理**：可能影响 Bing 国内版的可达性\n- **headless**：默认 `headless=True`，无 GUI 依赖\n- **DDG 国内不可达**：DuckDuckGo 在中国大陆需要科学上网，超时单次 10s 快速失败\n- **抓取上限**：`--full` 最多 5 条，单页正文截断到 8000 字\n\nFile v8.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn7ecgbzbya89gesghbv1kty9d82r8e4\",\n  \"slug\": \"free-web-search\",\n  \"version\": \"8.1.0\",\n  \"publishedAt\": 1782113346147\n}\n\nFile v8.1.0:skill-card.md\n\n## Description:\n\nFree Web Search lets an agent run Bing China or DuckDuckGo searches with optional page-text fetching and returns structured search results.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[ucsdzehualiu](https://clawhub.ai/user/ucsdzehualiu)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and agents use this skill to perform explicit web searches, route between Bing China and DuckDuckGo, and optionally fetch page text for the first results. It is suited to search-assisted answers where outbound search and geolocation probes are acceptable.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Search queries and IP metadata are sent to external search and geolocation services.\n\nMitigation: Use the skill only when outbound search is approved and avoid sensitive queries.\n\nRisk: Optional full-page fetch loads arbitrary search results in an unsandboxed browser.\n\nMitigation: Keep --full at 0 unless page text is needed, and run the skill in an isolated low-privilege environment.\n\nRisk: Dependency setup installs Playwright and Chromium and can use custom package mirrors.\n\nMitigation: Avoid running setup as root, prefer a virtual environment with pinned dependencies, and use only trusted package mirrors.\n\n## Reference(s):\n\n- [Free Web Search on ClawHub](https://clawhub.ai/ucsdzehualiu/skills/free-web-search)\n\n## Skill Output:\n\n**Output Type(s):** [text]\n\n**Output Format:** [JSON array of search results with title, URL, snippet, and optional page text]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Search result count is capped at 20; optional full-page fetching is capped at 5 results and truncates each page to 8000 characters.]\n\n## Skill Version(s):\n\n8.1.0 (source: server release metadata and SKILL.md frontmatter)\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 v8.1.0:LICENSE\n\nMIT License\n\nCopyright (c) 2026 free-web-search\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\nArchive v8.0.0: 5 files, 9966 bytes\n\nFiles: scripts/setup.sh (1116b), scripts/web_search.py (15016b), skill-card.md (1967b), SKILL.md (6499b), _meta.json (134b)\n\nFile v8.0.0:SKILL.md\n\n---\nname: free-web-search\ndescription: 基于 Bing 国内版 / DuckDuckGo 的联网搜索工具，中文环境优化，可按需抓取目标网页正文，返回结构化结果。仅在用户明确请求联网搜索时调用。\nversion: 8.0.0\nauthor: free-web-search\nlicense: MIT\ntrigger_keywords:\n  - free-web-search\n  - 联网搜索\n  - 网页搜索\n  - web search\ntools:\n  - name: web_search\n    description: 联网搜索并返回结构化结果，中文环境优化，可选抓取网页正文（默认不抓取）\n    script: scripts/web_search.py\n    parameters:\n      query:\n        type: string\n        description: 【必填】搜索关键词/短句，简洁精准（2-5 个核心词），禁止长句/反问句\n        required: true\n      max:\n        type: integer\n        description: 最大返回的搜索结果条数，默认 10，最大 20\n        required: false\n      full:\n        type: integer\n        description: 抓取前 N 条结果的网页全文内容，默认 0（不抓取），最大 5\n        required: false\n      engine:\n        type: string\n        description: 搜索引擎选择，bing/duckduckgo/auto（默认 bing）\n        required: false\n      filter:\n        type: boolean\n        description: 过滤低质量域名（如知乎、百度知道），默认 false（不过滤）\n        required: false\n---\n\n# free-web-search 联网搜索工具\n\n基于 Playwright 的 Bing 国内版 / DuckDuckGo 搜索工具。专注于**搜索 + 可选正文抓取**两件事，无副作用。\n\n## 触发方式\n\n仅在用户**明确请求联网搜索**时调用，例如：\n\n- \"用 free-web-search 查一下 Python 异步教程\"\n- \"联网搜索 2026 年中国大型邮轮\"\n- \"web search: latest LLM benchmarks\"\n\ntrigger_keywords 已经收窄到只识别 `free-web-search`、`联网搜索`、`网页搜索`、`web search`，不会因为消息里出现\"新闻\"、\"最新消息\"这些常见词就把对话内容发到外部搜索引擎。\n\n## 核心能力\n\n- **中文环境优化**：默认 `mkt=zh-CN`，结果以中文为主\n- **可选全文抓取**：通过 `--full=N` 抓取前 N 条结果正文（默认 0 不抓取）\n- **质量评分**：低质量域名命中、单域名集中时自动重试\n- **意图改写**：搜索质量差时按预定义规则改写 query（可用 `--no-rewrite` 禁用）\n- **Headless 浏览器**：服务器/容器可用，仅开 `--no-sandbox`、`--disable-gpu`、`--disable-dev-shm-usage` 三个标准稳定性参数\n\n## 安装\n\n**所有依赖必须在使用前手动安装。脚本运行时不会自动安装任何 npm/pip 包，也不会修改宿主环境。**\n\n### 前置依赖\n\n| 依赖 | 用途 | 备注 |\n|---|---|---|\n| Python 3.8+ | 运行时 | — |\n| playwright | 浏览器自动化 | `pip install playwright` |\n| Chromium | Playwright 浏览器引擎 | `playwright install chromium`（约 150 MB） |\n\n### 一键安装\n\n```bash\n# Linux / macOS\nbash scripts/setup.sh\n\n# Windows\npowershell -File scripts/setup.ps1\n```\n\n### 手动安装\n\n```bash\npip install playwright\nplaywright install chromium\n```\n\n## 使用示例\n\n```bash\n# 基础搜索（不抓正文）\npython scripts/web_search.py \"Python 异步编程 最佳实践 2026\" --max=10\n\n# 搜索 + 抓前 3 条全文\npython scripts/web_search.py \"中国大型邮轮 花城号 出坞\" --full=3\n\n# auto 模式：Bing 结果不足时切换 DuckDuckGo\npython scripts/web_search.py \"技术教程\" --engine=auto\n\n# 过滤知乎/百度知道等低质量域名\npython scripts/web_search.py \"某话题\" --filter\n\n# 禁用 query 改写（调试用）\npython scripts/web_search.py \"今日金价\" --no-rewrite\n```\n\n## 搜索 Query 优化建议\n\n搜索效果取决于 Query 是否合理：\n\n1. **简洁精准**：2-5 个核心词组合，避免长句、反问句\n2. **限定明确**：需要时效性/地区内容时加上对应限定词\n3. **格式正确**：中文关键词 + 数字/英文限定词\n\n| 场景 | 推荐 | 不推荐 |\n|---|---|---|\n| 时效新闻 | `2026年04月 美伊局势` | `最近美伊之间发生了什么` |\n| 技术教程 | `Python 异步编程 2026` | `我想学 Python 异步编程` |\n| 本地内容 | `广东东莞 今日天气` | `东莞今天天气怎么样啊` |\n| 官方信息 | `华为云 ModelArts 文档` | `华为云那个 ModelArts 怎么看` |\n\n## 参数说明\n\n| 参数 | 类型 | 默认 | 范围 | 说明 |\n|---|---|---|---|---|\n| `query` | 字符串 | — | 必填 | 搜索关键词 |\n| `--max` | 整数 | 10 | 1-20 | 最多返回条数 |\n| `--full` | 整数 | 0 | 0-5 | 抓取前 N 条全文 |\n| `--engine` | 字符串 | bing | bing/duckduckgo/auto | 搜索引擎 |\n| `--filter` | 布尔 | false | — | 过滤低质量域名 |\n| `--no-rewrite` | 布尔 | false | — | 禁用 query 改写 |\n\n## 隐私与网络说明\n\n启用此工具会产生以下出站请求，使用前请确认你的环境允许：\n\n| 目的 | 端点 | 数据 |\n|---|---|---|\n| Bing 搜索（默认引擎） | `cn.bing.com` | 你的 query 文本、IP、UA |\n| DuckDuckGo 搜索（备用） | `duckduckgo.com` | 同上 |\n| 抓取目标页（仅当 `--full > 0`） | 各搜索结果对应的站点 | 你的 IP、UA、Referer |\n\n工具本身：\n\n- 不收集 telemetry、不写日志到第三方\n- 不在运行时安装 pip 包、不修改宿主目录之外的文件\n- 浏览器 cookie 仅在当前 Playwright 上下文内使用，进程退出即销毁\n\n如果你不希望抓取目标页，把 `--full` 留在默认值 `0` 即可，工具只会访问搜索引擎。\n\n## 常见问题\n\n### 搜索返回空结果\n- 检查网络（Bing 国内版偶发限流，工具已内置 3s 节流和指数退避）\n- 试 `--engine=duckduckgo`（前提是网络可达）\n- 检查 query 是否过于冗长\n\n### 浏览器启动失败\n脚本不会自动安装。手动跑：\n```bash\npip install playwright\nplaywright install chromium\n```\n\n### 全文抓取失败\n- 部分站点 JS 渲染较重或返回非 HTML，工具不会做特殊处理\n- 黑名单/低质量域名（百度知道、知乎等）在 `--filter` 启用时跳过\n\n### 单域名集中\n- 工具自动检测并打印 `[WARN] 单域名集中: xxx`\n- 触发时会自动用 `-site:xxx` 排除该域名重试一次（最多 2 轮）\n\n## 已知限制\n\n- **VPN/代理**：可能影响 Bing 国内版的可达性\n- **headless**：默认 `headless=True`，无 GUI 依赖\n- **DDG 国内不可达**：DuckDuckGo 在中国大陆需要科学上网，超时单次 10s 快速失败\n- **抓取上限**：`--full` 最多 5 条，单页正文截断到 8000 字\n\nFile v8.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7ecgbzbya89gesghbv1kty9d82r8e4\",\n  \"slug\": \"free-web-search\",\n  \"version\": \"8.0.0\",\n  \"publishedAt\": 1781714754407\n}\n\nFile v8.0.0:skill-card.md\n\n## Description: <br>\nA region-aware web search skill that uses Bing CN or DuckDuckGo and can optionally fetch page text, returning structured results when the user explicitly asks for web search. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[ucsdzehualiu](https://clawhub.ai/user/ucsdzehualiu) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and agents use this skill to perform explicit web searches, with Chinese-language optimization and optional retrieval of result-page body text for richer answers. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Searches and optional page fetching may contact geolocation services, search engines, and destination pages, exposing public IP address, query intent, and destination URLs. <br>\nMitigation: Use only for intended web-search tasks, avoid sensitive queries, and leave full-page fetching disabled unless the additional page content is necessary. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/ucsdzehualiu/free-web-search) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, json, shell commands, guidance] <br>\n**Output Format:** [JSON array of search results with title, URL, snippet, and optional page content; setup and usage guidance are shown as shell commands and markdown.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Search result count is capped at 20, optional full-page fetching is capped at 5 results, and fetched page text is truncated.] <br>\n\n## Skill Version(s): <br>\n8.0.0 (source: server release metadata and SKILL.md frontmatter) <br>\n\n## Ethical Considerations: <br>\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. <br>\n\nArchive v7.1.1: 5 files, 12160 bytes\n\nFiles: scripts/setup.sh (1116b), scripts/web_search.py (18815b), skill-card.md (2382b), SKILL.md (6499b), _meta.json (134b)\n\nFile v7.1.1:SKILL.md\n\n---\nname: free-web-search\ndescription: 基于 Bing 国内版 / DuckDuckGo 的联网搜索工具，中文环境优化，可按需抓取目标网页正文，返回结构化结果。仅在用户明确请求联网搜索时调用。\nversion: 7.1.1\nauthor: free-web-search\nlicense: MIT\ntrigger_keywords:\n  - free-web-search\n  - 联网搜索\n  - 网页搜索\n  - web search\ntools:\n  - name: web_search\n    description: 联网搜索并返回结构化结果，中文环境优化，可选抓取网页正文（默认不抓取）\n    script: scripts/web_search.py\n    parameters:\n      query:\n        type: string\n        description: 【必填】搜索关键词/短句，简洁精准（2-5 个核心词），禁止长句/反问句\n        required: true\n      max:\n        type: integer\n        description: 最大返回的搜索结果条数，默认 10，最大 20\n        required: false\n      full:\n        type: integer\n        description: 抓取前 N 条结果的网页全文内容，默认 0（不抓取），最大 5\n        required: false\n      engine:\n        type: string\n        description: 搜索引擎选择，bing/duckduckgo/auto（默认 bing）\n        required: false\n      filter:\n        type: boolean\n        description: 过滤低质量域名（如知乎、百度知道），默认 false（不过滤）\n        required: false\n---\n\n# free-web-search 联网搜索工具\n\n基于 Playwright 的 Bing 国内版 / DuckDuckGo 搜索工具。专注于**搜索 + 可选正文抓取**两件事，无副作用。\n\n## 触发方式\n\n仅在用户**明确请求联网搜索**时调用，例如：\n\n- \"用 free-web-search 查一下 Python 异步教程\"\n- \"联网搜索 2026 年中国大型邮轮\"\n- \"web search: latest LLM benchmarks\"\n\ntrigger_keywords 已经收窄到只识别 `free-web-search`、`联网搜索`、`网页搜索`、`web search`，不会因为消息里出现\"新闻\"、\"最新消息\"这些常见词就把对话内容发到外部搜索引擎。\n\n## 核心能力\n\n- **中文环境优化**：默认 `mkt=zh-CN`，结果以中文为主\n- **可选全文抓取**：通过 `--full=N` 抓取前 N 条结果正文（默认 0 不抓取）\n- **质量评分**：低质量域名命中、单域名集中时自动重试\n- **意图改写**：搜索质量差时按预定义规则改写 query（可用 `--no-rewrite` 禁用）\n- **Headless 浏览器**：服务器/容器可用，仅开 `--no-sandbox`、`--disable-gpu`、`--disable-dev-shm-usage` 三个标准稳定性参数\n\n## 安装\n\n**所有依赖必须在使用前手动安装。脚本运行时不会自动安装任何 npm/pip 包，也不会修改宿主环境。**\n\n### 前置依赖\n\n| 依赖 | 用途 | 备注 |\n|---|---|---|\n| Python 3.8+ | 运行时 | — |\n| playwright | 浏览器自动化 | `pip install playwright` |\n| Chromium | Playwright 浏览器引擎 | `playwright install chromium`（约 150 MB） |\n\n### 一键安装\n\n```bash\n# Linux / macOS\nbash scripts/setup.sh\n\n# Windows\npowershell -File scripts/setup.ps1\n```\n\n### 手动安装\n\n```bash\npip install playwright\nplaywright install chromium\n```\n\n## 使用示例\n\n```bash\n# 基础搜索（不抓正文）\npython scripts/web_search.py \"Python 异步编程 最佳实践 2026\" --max=10\n\n# 搜索 + 抓前 3 条全文\npython scripts/web_search.py \"中国大型邮轮 花城号 出坞\" --full=3\n\n# auto 模式：Bing 结果不足时切换 DuckDuckGo\npython scripts/web_search.py \"技术教程\" --engine=auto\n\n# 过滤知乎/百度知道等低质量域名\npython scripts/web_search.py \"某话题\" --filter\n\n# 禁用 query 改写（调试用）\npython scripts/web_search.py \"今日金价\" --no-rewrite\n```\n\n## 搜索 Query 优化建议\n\n搜索效果取决于 Query 是否合理：\n\n1. **简洁精准**：2-5 个核心词组合，避免长句、反问句\n2. **限定明确**：需要时效性/地区内容时加上对应限定词\n3. **格式正确**：中文关键词 + 数字/英文限定词\n\n| 场景 | 推荐 | 不推荐 |\n|---|---|---|\n| 时效新闻 | `2026年04月 美伊局势` | `最近美伊之间发生了什么` |\n| 技术教程 | `Python 异步编程 2026` | `我想学 Python 异步编程` |\n| 本地内容 | `广东东莞 今日天气` | `东莞今天天气怎么样啊` |\n| 官方信息 | `华为云 ModelArts 文档` | `华为云那个 ModelArts 怎么看` |\n\n## 参数说明\n\n| 参数 | 类型 | 默认 | 范围 | 说明 |\n|---|---|---|---|---|\n| `query` | 字符串 | — | 必填 | 搜索关键词 |\n| `--max` | 整数 | 10 | 1-20 | 最多返回条数 |\n| `--full` | 整数 | 0 | 0-5 | 抓取前 N 条全文 |\n| `--engine` | 字符串 | bing | bing/duckduckgo/auto | 搜索引擎 |\n| `--filter` | 布尔 | false | — | 过滤低质量域名 |\n| `--no-rewrite` | 布尔 | false | — | 禁用 query 改写 |\n\n## 隐私与网络说明\n\n启用此工具会产生以下出站请求，使用前请确认你的环境允许：\n\n| 目的 | 端点 | 数据 |\n|---|---|---|\n| Bing 搜索（默认引擎） | `cn.bing.com` | 你的 query 文本、IP、UA |\n| DuckDuckGo 搜索（备用） | `duckduckgo.com` | 同上 |\n| 抓取目标页（仅当 `--full > 0`） | 各搜索结果对应的站点 | 你的 IP、UA、Referer |\n\n工具本身：\n\n- 不收集 telemetry、不写日志到第三方\n- 不在运行时安装 pip 包、不修改宿主目录之外的文件\n- 浏览器 cookie 仅在当前 Playwright 上下文内使用，进程退出即销毁\n\n如果你不希望抓取目标页，把 `--full` 留在默认值 `0` 即可，工具只会访问搜索引擎。\n\n## 常见问题\n\n### 搜索返回空结果\n- 检查网络（Bing 国内版偶发限流，工具已内置 3s 节流和指数退避）\n- 试 `--engine=duckduckgo`（前提是网络可达）\n- 检查 query 是否过于冗长\n\n### 浏览器启动失败\n脚本不会自动安装。手动跑：\n```bash\npip install playwright\nplaywright install chromium\n```\n\n### 全文抓取失败\n- 部分站点 JS 渲染较重或返回非 HTML，工具不会做特殊处理\n- 黑名单/低质量域名（百度知道、知乎等）在 `--filter` 启用时跳过\n\n### 单域名集中\n- 工具自动检测并打印 `[WARN] 单域名集中: xxx`\n- 触发时会自动用 `-site:xxx` 排除该域名重试一次（最多 2 轮）\n\n## 已知限制\n\n- **VPN/代理**：可能影响 Bing 国内版的可达性\n- **headless**：默认 `headless=True`，无 GUI 依赖\n- **DDG 国内不可达**：DuckDuckGo 在中国大陆需要科学上网，超时单次 10s 快速失败\n- **抓取上限**：`--full` 最多 5 条，单页正文截断到 8000 字\n\nFile v7.1.1:_meta.json\n\n{\n  \"ownerId\": \"kn7ecgbzbya89gesghbv1kty9d82r8e4\",\n  \"slug\": \"free-web-search\",\n  \"version\": \"7.1.1\",\n  \"publishedAt\": 1781709584926\n}\n\nFile v7.1.1:skill-card.md\n\n## Description: <br>\nProvides a Chinese-optimized web search tool using Bing China or DuckDuckGo, with optional page-text fetching and structured results when explicitly invoked. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[ucsdzehualiu](https://clawhub.ai/user/ucsdzehualiu) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and agent users use this skill when they need explicit, China-localized web search results or optional page-text extraction in an agent workflow. <br>\n\n### Deployment Geography for Use: <br>\nGlobal; search behavior is optimized for Chinese-language and China-localized results. <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Search queries and optional page fetching send request data to search engines or target websites. <br>\nMitigation: Use the skill only for searches appropriate for external network requests, and keep full-page fetching disabled when URLs or page contents are sensitive. <br>\nRisk: Results are intentionally optimized for Chinese-language and China-localized search and may differ from neutral or US-localized results. <br>\nMitigation: Use DuckDuckGo or another search source when non-China localization or broader source coverage is required. <br>\nRisk: Fetched page text can be incomplete or unavailable for heavy JavaScript, non-HTML, blocked, or low-quality pages. <br>\nMitigation: Treat fetched content as retrieval aid rather than authoritative evidence, and review sources before relying on the result. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/ucsdzehualiu/free-web-search) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text] <br>\n**Output Format:** [JSON array of search results with title, URL, snippet, and optional page content fields] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Search result count is capped at 20; optional full-page fetching is capped at five results and truncates each page body.] <br>\n\n## Skill Version(s): <br>\n7.1.1 (source: server release metadata and SKILL.md frontmatter) <br>\n\n## Ethical Considerations: <br>\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. <br>\n\nArchive v7.0.8: 5 files, 12441 bytes\n\nFiles: scripts/setup.sh (1116b), scripts/web_search.py (20442b), skill-card.md (2283b), SKILL.md (5729b), _meta.json (134b)\n\nFile v7.0.8:SKILL.md\n\n---\nname: free-web-search\ndescription: 基于Bing国内版的稳定联网搜索工具，中文环境深度优化，支持全文内容抓取，绕过常见反爬限制，返回结构化搜索结果。\nversion: 7\nauthor: free-web-search\ntrigger_keywords:\n  - 搜索\n  - 查一下\n  - 找一下\n  - 最新消息\n  - 新闻\n  - 最新动态\n  - 官网\n  - 教程\n  - 是什么\ntools:\n  - name: web_search\n    description: 联网搜索并返回结构化结果，中文环境优化，支持全文内容抓取\n    script: scripts/web_search.py\n    parameters:\n      query:\n        type: string\n        description: 【必填】搜索关键词/短句，必须简洁精准，符合下方Query优化规范，禁止长句/反问句\n        required: true\n      max:\n        type: integer\n        description: 最大返回的搜索结果条数，默认10，最大不超过20\n        required: false\n      full:\n        type: integer\n        description: 抓取前N条结果的网页全文内容，默认0（不抓取），最大不超过5\n        required: false\n      engine:\n        type: string\n        description: 搜索引擎选择，bing/duckduckgo/auto（默认bing）\n        required: false\n      filter:\n        type: boolean\n        description: 过滤低质量域名（如知乎），默认false（不过滤）\n        required: false\n---\n\n# free-web-search v14 联网搜索工具\n\n基于 Playwright 浏览器实现的稳定搜索工具，**意图识别** + **请求节流** + **结果质量评分** + **保留CSS修复**。\n\n## v14 更新内容\n\n- ✅ **[关键修复] 保留CSS**：之前拦截CSS导致Bing搜索结果标题文字丢失\n- ✅ **意图识别+query改写**：搜索质量差时自动改写query（城市游玩→景点推荐、今日价格→实时行情等）\n- ✅ **改写仅在质量差时触发**：先搜原始query，质量好就不改写，避免改写搞坏本来好的query\n- ✅ **请求节流**：两次Bing请求间隔≥3s，避免触发限流\n- ✅ **限流检测+退避**：0结果时递增等待重试，排除重试也0结果时停止\n- ✅ **`--filter` 回退**：过滤后为空自动回退到不过滤结果\n- ✅ **单域名排除重试**：最多2轮，结果更好才替换\n- ✅ **DuckDuckGo国内快速失败**：10s超时×1次\n- ✅ **`--no-rewrite`**：禁用query改写（调试用）\n\n## 核心能力\n\n- ✅ **中文环境深度优化**：强制 Bing 返回中文结果\n- ✅ **反爬检测绕过**：多层反检测措施（stealth.js）\n- ✅ **全文抓取**：支持按需抓取目标网页的完整正文内容\n- ✅ **Headless 模式**：服务器可用，无需显示器\n\n---\n\n## 【核心必读】搜索Query优化规范\n\n**搜索效果的好坏，90%取决于Query是否合理**，请严格遵循以下规则生成搜索词：\n\n### 一、黄金原则\n1.  **简洁精准**：只保留核心关键词，用2-5个核心词组合，禁止长句、反问句、口语化描述\n2.  **限定明确**：需要时效性/领域/地区内容时，必须加上对应的限定词\n3.  **格式正确**：使用中文关键词 + 英文/数字限定词，禁止特殊符号、无意义助词\n\n### 二、正确示例 vs 错误示例\n| 搜索场景 | 正确Query（推荐） | 错误Query（禁止） |\n|----------|--------------------|--------------------|\n| 时效性新闻 | 2026年04月 美伊局势 最新 | 你能帮我查一下最近美国和伊朗之间发生了什么事吗 |\n| 技术教程 | Python 异步编程 最佳实践 2026 | 我想学习一下Python的异步编程，有没有好的教程 |\n| 知识科普 | 中国大型邮轮 花城号 出坞 最新消息 | 中国的那个大型邮轮花城号现在怎么样了 |\n| 本地内容 | 广东东莞 今日天气 | 我现在在东莞，今天天气怎么样啊 |\n| 官方信息 | 华为云 ModelArts 官方文档 | 华为云的那个ModelArts的官网在哪里，文档怎么看 |\n\n---\n\n## 参数说明\n| 参数名 | 类型 | 说明 | 默认值 | 取值限制 |\n|--------|------|------|--------|----------|\n| `query` | 字符串 | 【必填】搜索关键词 | - | 不能为空 |\n| `max` | 整数 | 最多返回的搜索结果条数 | 10 | 1-20 |\n| `full` | 整数 | 抓取前N条结果的网页全文 | 0 | 0-5 |\n| `engine` | 字符串 | 搜索引擎选择 | bing | bing/duckduckgo/auto |\n| `filter` | 布尔 | 过滤低质量域名 | false | - |\n\n---\n\n## 使用示例\n\n```bash\n# 基础搜索\npython scripts/web_search.py \"经济新闻 今日\" --max=10\n\n# 抓取前3条结果的全文\npython scripts/web_search.py \"经济新闻 最新\" --full=3\n\n# 使用 auto 模式（Bing 结果不足时切换 DuckDuckGo）\npython scripts/web_search.py \"技术教程\" --engine=auto\n\n# 过滤知乎等低质量域名\npython scripts/web_search.py \"某个话题\" --filter\n```\n\n---\n\n## 常见问题\n\n### 搜索返回空结果\n1. 检查网络连接（VPN 可能影响 Bing 国内版）\n2. 尝试 `--engine=duckduckgo` 直接用 DuckDuckGo\n3. 检查 Query 是否过于冗长或口语化\n\n### 浏览器启动失败\n```bash\npip install playwright && playwright install chromium\n```\n\n### 全文抓取失败\n- 某些网站有强反爬限制\n- 知乎等域名在全文抓取时自动跳过\n\n### 结果集中在单一域名\n- 脚本会自动检测并警告 `[WARN] 结果集中在单一域名`\n- **解决方案**：换用更具体的关键词，避免歧义词\n\n### 搜索关键词避坑指南\n| ❌ 避免 | ✅ 推荐 |\n|---------|---------|\n| `民生新闻` | `住房 医疗 就业` 或 `社会政策 百姓生活` |\n| `经济新闻` | `财经政策 GDP` 或 `A股 沪指` |\n| `长护险` | `长期护理保险 养老服务` |\n\n### 服务器环境\n- 脚本强制使用 `headless=True`，无需显示器\n- 已添加服务器兼容的浏览器参数\n\nFile v7.0.8:_meta.json\n\n{\n  \"ownerId\": \"kn7ecgbzbya89gesghbv1kty9d82r8e4\",\n  \"slug\": \"free-web-search\",\n  \"version\": \"7.0.8\",\n  \"publishedAt\": 1775751759393\n}\n\nFile v7.0.8:skill-card.md\n\n## Description: <br>\nProvides Chinese-localized web search through Bing China or DuckDuckGo, returning structured search results with optional full-page content fetching. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[ucsdzehualiu](https://clawhub.ai/user/ucsdzehualiu) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers can use this skill to run concise web searches in Chinese-language contexts, inspect structured result metadata, and optionally retrieve text from top result pages. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The setup and runtime paths can install Python packages and Playwright Chromium, modifying the host environment. <br>\nMitigation: Install and run the skill only in an isolated environment where package and browser installation are acceptable. <br>\nRisk: The browser automation uses weakened protections and stealth behavior while visiting arbitrary webpages. <br>\nMitigation: Limit use to non-sensitive searches, avoid private URLs or confidential queries, and review outbound network behavior before deployment. <br>\nRisk: Fetched webpage text may contain untrusted or misleading content. <br>\nMitigation: Treat page content as untrusted input and review it before using it in downstream decisions or generated outputs. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/ucsdzehualiu/free-web-search) <br>\n- [Publisher profile](https://clawhub.ai/user/ucsdzehualiu) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, code, shell commands, configuration, guidance] <br>\n**Output Format:** [JSON search results and Markdown guidance with shell command examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Search result objects can include title, URL, snippet, and optional fetched page content.] <br>\n\n## Skill Version(s): <br>\n7.0.8 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\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. <br>\n\nArchive v7.0.7: 4 files, 11215 bytes\n\nFiles: scripts/setup.sh (1116b), scripts/web_search.py (20442b), SKILL.md (5729b), _meta.json (134b)\n\nFile v7.0.7:SKILL.md\n\n---\nname: free-web-search\ndescription: 基于Bing国内版的稳定联网搜索工具，中文环境深度优化，支持全文内容抓取，绕过常见反爬限制，返回结构化搜索结果。\nversion: 7\nauthor: free-web-search\ntrigger_keywords:\n  - 搜索\n  - 查一下\n  - 找一下\n  - 最新消息\n  - 新闻\n  - 最新动态\n  - 官网\n  - 教程\n  - 是什么\ntools:\n  - name: web_search\n    description: 联网搜索并返回结构化结果，中文环境优化，支持全文内容抓取\n    script: scripts/web_search.py\n    parameters:\n      query:\n        type: string\n        description: 【必填】搜索关键词/短句，必须简洁精准，符合下方Query优化规范，禁止长句/反问句\n        required: true\n      max:\n        type: integer\n        description: 最大返回的搜索结果条数，默认10，最大不超过20\n        required: false\n      full:\n        type: integer\n        description: 抓取前N条结果的网页全文内容，默认0（不抓取），最大不超过5\n        required: false\n      engine:\n        type: string\n        description: 搜索引擎选择，bing/duckduckgo/auto（默认bing）\n        required: false\n      filter:\n        type: boolean\n        description: 过滤低质量域名（如知乎），默认false（不过滤）\n        required: false\n---\n\n# free-web-search v14 联网搜索工具\n\n基于 Playwright 浏览器实现的稳定搜索工具，**意图识别** + **请求节流** + **结果质量评分** + **保留CSS修复**。\n\n## v14 更新内容\n\n- ✅ **[关键修复] 保留CSS**：之前拦截CSS导致Bing搜索结果标题文字丢失\n- ✅ **意图识别+query改写**：搜索质量差时自动改写query（城市游玩→景点推荐、今日价格→实时行情等）\n- ✅ **改写仅在质量差时触发**：先搜原始query，质量好就不改写，避免改写搞坏本来好的query\n- ✅ **请求节流**：两次Bing请求间隔≥3s，避免触发限流\n- ✅ **限流检测+退避**：0结果时递增等待重试，排除重试也0结果时停止\n- ✅ **`--filter` 回退**：过滤后为空自动回退到不过滤结果\n- ✅ **单域名排除重试**：最多2轮，结果更好才替换\n- ✅ **DuckDuckGo国内快速失败**：10s超时×1次\n- ✅ **`--no-rewrite`**：禁用query改写（调试用）\n\n## 核心能力\n\n- ✅ **中文环境深度优化**：强制 Bing 返回中文结果\n- ✅ **反爬检测绕过**：多层反检测措施（stealth.js）\n- ✅ **全文抓取**：支持按需抓取目标网页的完整正文内容\n- ✅ **Headless 模式**：服务器可用，无需显示器\n\n---\n\n## 【核心必读】搜索Query优化规范\n\n**搜索效果的好坏，90%取决于Query是否合理**，请严格遵循以下规则生成搜索词：\n\n### 一、黄金原则\n1.  **简洁精准**：只保留核心关键词，用2-5个核心词组合，禁止长句、反问句、口语化描述\n2.  **限定明确**：需要时效性/领域/地区内容时，必须加上对应的限定词\n3.  **格式正确**：使用中文关键词 + 英文/数字限定词，禁止特殊符号、无意义助词\n\n### 二、正确示例 vs 错误示例\n| 搜索场景 | 正确Query（推荐） | 错误Query（禁止） |\n|----------|--------------------|--------------------|\n| 时效性新闻 | 2026年04月 美伊局势 最新 | 你能帮我查一下最近美国和伊朗之间发生了什么事吗 |\n| 技术教程 | Python 异步编程 最佳实践 2026 | 我想学习一下Python的异步编程，有没有好的教程 |\n| 知识科普 | 中国大型邮轮 花城号 出坞 最新消息 | 中国的那个大型邮轮花城号现在怎么样了 |\n| 本地内容 | 广东东莞 今日天气 | 我现在在东莞，今天天气怎么样啊 |\n| 官方信息 | 华为云 ModelArts 官方文档 | 华为云的那个ModelArts的官网在哪里，文档怎么看 |\n\n---\n\n## 参数说明\n| 参数名 | 类型 | 说明 | 默认值 | 取值限制 |\n|--------|------|------|--------|----------|\n| `query` | 字符串 | 【必填】搜索关键词 | - | 不能为空 |\n| `max` | 整数 | 最多返回的搜索结果条数 | 10 | 1-20 |\n| `full` | 整数 | 抓取前N条结果的网页全文 | 0 | 0-5 |\n| `engine` | 字符串 | 搜索引擎选择 | bing | bing/duckduckgo/auto |\n| `filter` | 布尔 | 过滤低质量域名 | false | - |\n\n---\n\n## 使用示例\n\n```bash\n# 基础搜索\npython scripts/web_search.py \"经济新闻 今日\" --max=10\n\n# 抓取前3条结果的全文\npython scripts/web_search.py \"经济新闻 最新\" --full=3\n\n# 使用 auto 模式（Bing 结果不足时切换 DuckDuckGo）\npython scripts/web_search.py \"技术教程\" --engine=auto\n\n# 过滤知乎等低质量域名\npython scripts/web_search.py \"某个话题\" --filter\n```\n\n---\n\n## 常见问题\n\n### 搜索返回空结果\n1. 检查网络连接（VPN 可能影响 Bing 国内版）\n2. 尝试 `--engine=duckduckgo` 直接用 DuckDuckGo\n3. 检查 Query 是否过于冗长或口语化\n\n### 浏览器启动失败\n```bash\npip install playwright && playwright install chromium\n```\n\n### 全文抓取失败\n- 某些网站有强反爬限制\n- 知乎等域名在全文抓取时自动跳过\n\n### 结果集中在单一域名\n- 脚本会自动检测并警告 `[WARN] 结果集中在单一域名`\n- **解决方案**：换用更具体的关键词，避免歧义词\n\n### 搜索关键词避坑指南\n| ❌ 避免 | ✅ 推荐 |\n|---------|---------|\n| `民生新闻` | `住房 医疗 就业` 或 `社会政策 百姓生活` |\n| `经济新闻` | `财经政策 GDP` 或 `A股 沪指` |\n| `长护险` | `长期护理保险 养老服务` |\n\n### 服务器环境\n- 脚本强制使用 `headless=True`，无需显示器\n- 已添加服务器兼容的浏览器参数\n\nFile v7.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn7ecgbzbya89gesghbv1kty9d82r8e4\",\n  \"slug\": \"free-web-search\",\n  \"version\": \"7.0.7\",\n  \"publishedAt\": 1775744032487\n}\n\nArchive v7.0.6: 4 files, 7553 bytes\n\nFiles: scripts/setup.sh (1116b), scripts/web_search.py (13528b), SKILL.md (4071b), _meta.json (134b)\n\nFile v7.0.6:SKILL.md\n\n---\nname: free-web-search\ndescription: 联网搜索工具，支持 Bing/Google/DuckDuckGo，中文环境优化，--news 新闻模式，全文 Playwright 渲染抓取。\nversion: 10\nauthor: free-web-search\ntrigger_keywords:\n  - 搜索\n  - 查一下\n  - 找一下\n  - 最新消息\n  - 新闻\n  - 最新动态\n  - 官网\n  - 教程\ntools:\n  - name: web_search\n    description: 联网搜索返回结构化结果，--news 限定新闻源，--full 全文抓取\n    script: scripts/web_search.py\n    parameters:\n      query:\n        type: string\n        description: 搜索关键词，2-5个核心词组合，禁止长句/反问句\n        required: true\n      max:\n        type: integer\n        description: 最大返回条数，默认10\n        required: false\n      full:\n        type: integer\n        description: 抓取前N条全文（Playwright渲染），默认0\n        required: false\n      engine:\n        type: string\n        description: bing/google/ddg/auto，默认bing\n        required: false\n      news:\n        type: boolean\n        description: 新闻模式：site:news.cn限定+自动屏蔽噪声源\n        required: false\n      filter:\n        type: boolean\n        description: 屏蔽知乎/百度知道/百度百科等低质量域名\n        required: false\n---\n\n# free-web-search\n\n搜索用 httpx（轻量快速），全文用 Playwright + Chromium（JS 渲染，拦截图片/字体/样式加速）。\n\n## 架构\n\n```\n搜索 → httpx + BeautifulSoup     ← SERP 服务端渲染，0.3-0.5s\n全文 → Playwright + Chromium      ← JS 渲染 + 资源拦截，1-6s/条\n```\n\n## 核心能力\n\n- **多引擎**：Bing（默认）、Google（.com.hk 优先）、DuckDuckGo Lite、auto\n- **--news 新闻模式**：`site:news.cn` 限定新闻源 + 自动屏蔽知乎/百科，不足则普通搜索补\n- **语言自适应**：含 CJK → cn.bing.com，纯英文 → www.bing.com\n- **Query 预处理**：自动剥离年份前缀（`2026年4月`）、精简口语化表达\n- **全文 JS 渲染**：Playwright 处理 SPA/动态加载，拦截图片/字体/样式加速\n- **--filter**：屏蔽知乎/百度知道/百度百科\n\n## 安装\n\n```bash\n# 一键安装\nbash scripts/setup.sh\n\n# 国内镜像\nbash scripts/setup.sh --mirror https://mirrors.aliyun.com/pypi/simple/\n\n# 手动\npip install httpx beautifulsoup4 playwright\nplaywright install chromium\n```\n\n> 启动时检查依赖，缺失报错，**不自动安装**。\n\n## 参数\n\n| 参数 | 说明 | 默认值 |\n|------|------|--------|\n| `query` | 搜索关键词 | 必填 |\n| `--max N` | 最多返回条数 | 10 |\n| `--full N` | 抓取前N条全文 | 0 |\n| `--engine` | bing/google/ddg/auto | bing |\n| `--news` | 新闻模式 | 关 |\n| `--filter` | 屏蔽低质量域名 | 关 |\n\n## 示例\n\n```bash\n# 新闻搜索（推荐）\npython scripts/web_search.py \"美伊停火\" --max=5 --news\n\n# 全文抓取\npython scripts/web_search.py \"美伊停火 最新\" --max=2 --full=1 --news\n\n# 普通搜索\npython scripts/web_search.py \"A股 沪指 今日行情\" --max=5\n\n# 屏蔽知乎\npython scripts/web_search.py \"某个话题\" --filter\n\n# DuckDuckGo（海外服务器）\npython scripts/web_search.py \"Python async\" --engine=ddg\n```\n\n## Query 规范\n\n| 推荐 | 禁止 |\n|------|------|\n| `美伊停火 最新` | `最近美国和伊朗之间发生了什么事` |\n| `A股 沪指 今日行情` | `今天A股怎么样` |\n| `Python 异步编程 最佳实践` | `我想学Python异步编程有没有好教程` |\n\n> 不要加 `2026年4月` 前缀，脚本会自动剥离（Bing 会误识别为日期过滤器）\n\n## 引擎选择\n\n| 环境 | 推荐 | 说明 |\n|------|------|------|\n| 国内服务器 | bing | cn.bing.com 可达 |\n| 海外服务器 | auto | Bing + DDG 双引擎 |\n| 英文搜索 | ddg | 不受 IP 地理位置影响 |\n\n## 常见问题\n\n**搜索返回空** → 检查网络 → 换引擎 → 检查 Query\n\n**英文搜索返回中文** → 国内 IP 限制，用 `--engine=ddg` 或部署海外\n\n**全是知乎结果** → 加 `--filter` 或 `--news`\n\n**全文抓取失败** → 确认 `playwright install chromium`\n\nFile v7.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn7ecgbzbya89gesghbv1kty9d82r8e4\",\n  \"slug\": \"free-web-search\",\n  \"version\": \"7.0.6\",\n  \"publishedAt\": 1775734707888\n}\n\nArchive v7.0.5: 3 files, 8584 bytes\n\nFiles: scripts/web_search.py (17218b), SKILL.md (5372b), _meta.json (134b)\n\nFile v7.0.5:SKILL.md\n\n---\nname: free-web-search\ndescription: 基于Bing国内版的稳定联网搜索工具，中文环境深度优化，支持全文内容抓取，绕过常见反爬限制，返回结构化搜索结果。\nversion: 7\nauthor: free-web-search\ntrigger_keywords:\n  - 搜索\n  - 查一下\n  - 找一下\n  - 最新消息\n  - 新闻\n  - 最新动态\n  - 官网\n  - 教程\n  - 是什么\ntools:\n  - name: web_search\n    description: 联网搜索并返回结构化结果，中文环境优化，支持全文内容抓取\n    script: scripts/web_search.py\n    parameters:\n      query:\n        type: string\n        description: 【必填】搜索关键词/短句，必须简洁精准，符合下方Query优化规范，禁止长句/反问句\n        required: true\n      max:\n        type: integer\n        description: 最大返回的搜索结果条数，默认10，最大不超过20\n        required: false\n      full:\n        type: integer\n        description: 抓取前N条结果的网页全文内容，默认0（不抓取），最大不超过5\n        required: false\n      engine:\n        type: string\n        description: 搜索引擎选择，bing/duckduckgo/auto（默认bing）\n        required: false\n      filter:\n        type: boolean\n        description: 过滤低质量域名（如知乎），默认false（不过滤）\n        required: false\n---\n\n# free-web-search v12 联网搜索工具\n\n基于 Playwright 浏览器实现的稳定搜索工具，**服务器 headless 优化** + **结果质量检测** + **更长等待时间**。\n\n## v12 更新内容\n\n- ✅ **结果质量检测**：自动检测结果是否集中在单一域名，发出警告\n- ✅ **更长等待时间**：页面渲染等待从 1.5s 增加到 2s\n- ✅ **更多重试次数**：从 2 次增加到 3 次\n- ✅ **更长超时时间**：从 25s 增加到 30s\n- ✅ **域名黑名单**：知乎等低质量域名，用 `--filter` 开启过滤\n- ✅ **全文抓取时自动跳过黑名单**：避免抓取失败的页面\n\n## 核心能力\n\n- ✅ **中文环境深度优化**：强制 Bing 返回中文结果\n- ✅ **反爬检测绕过**：多层反检测措施（stealth.js）\n- ✅ **全文抓取**：支持按需抓取目标网页的完整正文内容\n- ✅ **Headless 模式**：服务器可用，无需显示器\n\n---\n\n## 【核心必读】搜索Query优化规范\n\n**搜索效果的好坏，90%取决于Query是否合理**，请严格遵循以下规则生成搜索词：\n\n### 一、黄金原则\n1.  **简洁精准**：只保留核心关键词，用2-5个核心词组合，禁止长句、反问句、口语化描述\n2.  **限定明确**：需要时效性/领域/地区内容时，必须加上对应的限定词\n3.  **格式正确**：使用中文关键词 + 英文/数字限定词，禁止特殊符号、无意义助词\n\n### 二、正确示例 vs 错误示例\n| 搜索场景 | 正确Query（推荐） | 错误Query（禁止） |\n|----------|--------------------|--------------------|\n| 时效性新闻 | 2026年04月 美伊局势 最新 | 你能帮我查一下最近美国和伊朗之间发生了什么事吗 |\n| 技术教程 | Python 异步编程 最佳实践 2026 | 我想学习一下Python的异步编程，有没有好的教程 |\n| 知识科普 | 中国大型邮轮 花城号 出坞 最新消息 | 中国的那个大型邮轮花城号现在怎么样了 |\n| 本地内容 | 广东东莞 今日天气 | 我现在在东莞，今天天气怎么样啊 |\n| 官方信息 | 华为云 ModelArts 官方文档 | 华为云的那个ModelArts的官网在哪里，文档怎么看 |\n\n---\n\n## 参数说明\n| 参数名 | 类型 | 说明 | 默认值 | 取值限制 |\n|--------|------|------|--------|----------|\n| `query` | 字符串 | 【必填】搜索关键词 | - | 不能为空 |\n| `max` | 整数 | 最多返回的搜索结果条数 | 10 | 1-20 |\n| `full` | 整数 | 抓取前N条结果的网页全文 | 0 | 0-5 |\n| `engine` | 字符串 | 搜索引擎选择 | bing | bing/duckduckgo/auto |\n| `filter` | 布尔 | 过滤低质量域名 | false | - |\n\n---\n\n## 使用示例\n\n```bash\n# 基础搜索\npython scripts/web_search.py \"经济新闻 今日\" --max=10\n\n# 抓取前3条结果的全文\npython scripts/web_search.py \"经济新闻 最新\" --full=3\n\n# 使用 auto 模式（Bing 结果不足时切换 DuckDuckGo）\npython scripts/web_search.py \"技术教程\" --engine=auto\n\n# 过滤知乎等低质量域名\npython scripts/web_search.py \"某个话题\" --filter\n```\n\n---\n\n## 常见问题\n\n### 搜索返回空结果\n1. 检查网络连接（VPN 可能影响 Bing 国内版）\n2. 尝试 `--engine=duckduckgo` 直接用 DuckDuckGo\n3. 检查 Query 是否过于冗长或口语化\n\n### 浏览器启动失败\n```bash\npip install playwright && playwright install chromium\n```\n\n### 全文抓取失败\n- 某些网站有强反爬限制\n- 知乎等域名在全文抓取时自动跳过\n\n### 结果集中在单一域名\n- 脚本会自动检测并警告 `[WARN] 结果集中在单一域名`\n- **解决方案**：换用更具体的关键词，避免歧义词\n\n### 搜索关键词避坑指南\n| ❌ 避免 | ✅ 推荐 |\n|---------|---------|\n| `民生新闻` | `住房 医疗 就业` 或 `社会政策 百姓生活` |\n| `经济新闻` | `财经政策 GDP` 或 `A股 沪指` |\n| `长护险` | `长期护理保险 养老服务` |\n\n### 服务器环境\n- 脚本强制使用 `headless=True`，无需显示器\n- 已添加服务器兼容的浏览器参数\n\nFile v7.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn7ecgbzbya89gesghbv1kty9d82r8e4\",\n  \"slug\": \"free-web-search\",\n  \"version\": \"7.0.5\",\n  \"publishedAt\": 1775658973266\n}\n\nArchive v7.0.4: 3 files, 8614 bytes\n\nFiles: scripts/web_search.py (17321b), SKILL.md (5373b), _meta.json (134b)\n\nFile v7.0.4:SKILL.md\n\n---\nname: free-web-search\ndescription: 基于Bing国内版的稳定联网搜索工具，中文环境深度优化，支持全文内容抓取，绕过常见反爬限制，返回结构化搜索结果。\nversion: 12\nauthor: free-web-search\ntrigger_keywords:\n  - 搜索\n  - 查一下\n  - 找一下\n  - 最新消息\n  - 新闻\n  - 最新动态\n  - 官网\n  - 教程\n  - 是什么\ntools:\n  - name: web_search\n    description: 联网搜索并返回结构化结果，中文环境优化，支持全文内容抓取\n    script: scripts/web_search.py\n    parameters:\n      query:\n        type: string\n        description: 【必填】搜索关键词/短句，必须简洁精准，符合下方Query优化规范，禁止长句/反问句\n        required: true\n      max:\n        type: integer\n        description: 最大返回的搜索结果条数，默认10，最大不超过20\n        required: false\n      full:\n        type: integer\n        description: 抓取前N条结果的网页全文内容，默认0（不抓取），最大不超过5\n        required: false\n      engine:\n        type: string\n        description: 搜索引擎选择，bing/duckduckgo/auto（默认bing）\n        required: false\n      filter:\n        type: boolean\n        description: 过滤低质量域名（如知乎），默认false（不过滤）\n        required: false\n---\n\n# free-web-search v12 联网搜索工具\n\n基于 Playwright 浏览器实现的稳定搜索工具，**服务器 headless 优化** + **结果质量检测** + **更长等待时间**。\n\n## v12 更新内容\n\n- ✅ **结果质量检测**：自动检测结果是否集中在单一域名，发出警告\n- ✅ **更长等待时间**：页面渲染等待从 1.5s 增加到 2s\n- ✅ **更多重试次数**：从 2 次增加到 3 次\n- ✅ **更长超时时间**：从 25s 增加到 30s\n- ✅ **域名黑名单**：知乎等低质量域名，用 `--filter` 开启过滤\n- ✅ **全文抓取时自动跳过黑名单**：避免抓取失败的页面\n\n## 核心能力\n\n- ✅ **中文环境深度优化**：强制 Bing 返回中文结果\n- ✅ **反爬检测绕过**：多层反检测措施（stealth.js）\n- ✅ **全文抓取**：支持按需抓取目标网页的完整正文内容\n- ✅ **Headless 模式**：服务器可用，无需显示器\n\n---\n\n## 【核心必读】搜索Query优化规范\n\n**搜索效果的好坏，90%取决于Query是否合理**，请严格遵循以下规则生成搜索词：\n\n### 一、黄金原则\n1.  **简洁精准**：只保留核心关键词，用2-5个核心词组合，禁止长句、反问句、口语化描述\n2.  **限定明确**：需要时效性/领域/地区内容时，必须加上对应的限定词\n3.  **格式正确**：使用中文关键词 + 英文/数字限定词，禁止特殊符号、无意义助词\n\n### 二、正确示例 vs 错误示例\n| 搜索场景 | 正确Query（推荐） | 错误Query（禁止） |\n|----------|--------------------|--------------------|\n| 时效性新闻 | 2026年04月 美伊局势 最新 | 你能帮我查一下最近美国和伊朗之间发生了什么事吗 |\n| 技术教程 | Python 异步编程 最佳实践 2026 | 我想学习一下Python的异步编程，有没有好的教程 |\n| 知识科普 | 中国大型邮轮 花城号 出坞 最新消息 | 中国的那个大型邮轮花城号现在怎么样了 |\n| 本地内容 | 广东东莞 今日天气 | 我现在在东莞，今天天气怎么样啊 |\n| 官方信息 | 华为云 ModelArts 官方文档 | 华为云的那个ModelArts的官网在哪里，文档怎么看 |\n\n---\n\n## 参数说明\n| 参数名 | 类型 | 说明 | 默认值 | 取值限制 |\n|--------|------|------|--------|----------|\n| `query` | 字符串 | 【必填】搜索关键词 | - | 不能为空 |\n| `max` | 整数 | 最多返回的搜索结果条数 | 10 | 1-20 |\n| `full` | 整数 | 抓取前N条结果的网页全文 | 0 | 0-5 |\n| `engine` | 字符串 | 搜索引擎选择 | bing | bing/duckduckgo/auto |\n| `filter` | 布尔 | 过滤低质量域名 | false | - |\n\n---\n\n## 使用示例\n\n```bash\n# 基础搜索\npython scripts/web_search.py \"经济新闻 今日\" --max=10\n\n# 抓取前3条结果的全文\npython scripts/web_search.py \"经济新闻 最新\" --full=3\n\n# 使用 auto 模式（Bing 结果不足时切换 DuckDuckGo）\npython scripts/web_search.py \"技术教程\" --engine=auto\n\n# 过滤知乎等低质量域名\npython scripts/web_search.py \"某个话题\" --filter\n```\n\n---\n\n## 常见问题\n\n### 搜索返回空结果\n1. 检查网络连接（VPN 可能影响 Bing 国内版）\n2. 尝试 `--engine=duckduckgo` 直接用 DuckDuckGo\n3. 检查 Query 是否过于冗长或口语化\n\n### 浏览器启动失败\n```bash\npip install playwright && playwright install chromium\n```\n\n### 全文抓取失败\n- 某些网站有强反爬限制\n- 知乎等域名在全文抓取时自动跳过\n\n### 结果集中在单一域名\n- 脚本会自动检测并警告 `[WARN] 结果集中在单一域名`\n- **解决方案**：换用更具体的关键词，避免歧义词\n\n### 搜索关键词避坑指南\n| ❌ 避免 | ✅ 推荐 |\n|---------|---------|\n| `民生新闻` | `住房 医疗 就业` 或 `社会政策 百姓生活` |\n| `经济新闻` | `财经政策 GDP` 或 `A股 沪指` |\n| `长护险` | `长期护理保险 养老服务` |\n\n### 服务器环境\n- 脚本强制使用 `headless=True`，无需显示器\n- 已添加服务器兼容的浏览器参数\n\nFile v7.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn7ecgbzbya89gesghbv1kty9d82r8e4\",\n  \"slug\": \"free-web-search\",\n  \"version\": \"7.0.4\",\n  \"publishedAt\": 1775658673234\n}\n\nArchive v7.0.3: 3 files, 5836 bytes\n\nFiles: scripts/web_search.py (8121b), SKILL.md (5041b), _meta.json (134b)\n\nFile v7.0.3:SKILL.md\n\n---\nname: free-web-search\ndescription: 基于Bing国内版的稳定联网搜索工具，中文环境深度优化，支持全文内容抓取，绕过常见反爬限制，返回结构化搜索结果。\nversion: 7\nauthor: free-web-search\ntrigger_keywords:\n  - 搜索\n  - 查一下\n  - 找一下\n  - 最新消息\n  - 新闻\n  - 最新动态\n  - 官网\n  - 教程\n  - 是什么\ntools:\n  - name: web_search\n    description: 联网搜索并返回结构化结果，中文环境优化，支持全文内容抓取\n    script: scripts/web_search.py\n    parameters:\n      query:\n        type: string\n        description: 【必填】搜索关键词/短句，必须简洁精准，符合下方Query优化规范，禁止长句/反问句\n        required: true\n      max:\n        type: integer\n        description: 最大返回的搜索结果条数，默认10，最大不超过20\n        required: false\n      full:\n        type: integer\n        description: 抓取前N条结果的网页全文内容，默认0（不抓取），最大不超过5\n        required: false\n---\n\n# free-web-search 联网搜索工具\n基于Bing国内版 + Playwright浏览器实现的稳定搜索工具，中文环境深度优化，绕过反爬限制，返回结构化结果，支持网页全文内容抓取。\n\n## 核心能力\n- ✅ **中文环境深度优化**：强制Bing返回中文结果，适配国内网络环境\n- ✅ **稳定可靠**：基于Playwright真实浏览器访问，绕过绝大多数反爬限制\n- ✅ **全文抓取**：支持按需抓取目标网页的完整正文内容\n- ✅ **实时Debug**：全流程日志输出，可快速定位搜索问题\n- ✅ **无额外依赖**：仅需Playwright环境，无需API密钥、无需代理\n\n---\n\n## 【核心必读】搜索Query优化规范\n**搜索效果的好坏，90%取决于Query是否合理**，请严格遵循以下规则生成搜索词：\n\n### 一、黄金原则\n1.  **简洁精准**：只保留核心关键词，用2-5个核心词组合，禁止长句、反问句、口语化描述\n2.  **限定明确**：需要时效性/领域/地区内容时，必须加上对应的限定词\n3.  **格式正确**：使用中文关键词 + 英文/数字限定词，禁止特殊符号、无意义助词\n\n### 二、正确示例 vs 错误示例\n| 搜索场景 | 正确Query（推荐） | 错误Query（禁止） |\n|----------|--------------------|--------------------|\n| 时效性新闻 | 2026年03月 美伊局势 最新进展 | 你能帮我查一下最近美国和伊朗之间发生了什么事吗 |\n| 技术教程 | Python 异步编程 最佳实践 2026 | 我想学习一下Python的异步编程，有没有好的教程 |\n| 知识科普 | 中国大型邮轮 花城号 出坞 最新消息 | 中国的那个大型邮轮花城号现在怎么样了 |\n| 本地内容 | 广东东莞 今日天气 | 我现在在东莞，今天天气怎么样啊 |\n| 官方信息 | 华为云 ModelArts 官方文档 | 华为云的那个ModelArts的官网在哪里，文档怎么看 |\n\n### 三、进阶优化技巧\n1.  **时效性内容**：必须加上「年份月份」「最新」「今日」等时间限定词\n2.  **精准匹配**：加上「官方」「文档」「教程」「新闻」等领域限定词，缩小搜索范围\n3.  **排除干扰**：可在Query末尾加上 `-广告 -推广` 过滤垃圾内容\n4.  **中文优先**：核心关键词用中文，仅专业术语用英文，避免中英文混杂导致分词错误\n\n---\n\n## 参数说明\n| 参数名 | 类型 | 说明 | 默认值 | 取值限制 |\n|--------|------|------|--------|----------|\n| `query` | 字符串 | 【必填】搜索关键词，必须符合上方Query优化规范 | - | 不能为空，禁止长句 |\n| `max` | 整数 | 最多返回的搜索结果条数 | 10 | 1-20 |\n| `full` | 整数 | 抓取前N条结果的网页全文 | 0 | 0-5 |\n\n---\n\n## 使用示例\n### 1. 命令行手动调用\n# 基础搜索\npython3 scripts/web_search.py \"AI大模型 最新进展\"\n\n# 最多返回15条结果\npython3 scripts/web_search.py \"Python 性能优化 最佳实践\" --max=15\n\n# 抓取前3条结果的全文内容\npython3 scripts/web_search.py \" 国内油价调整 最新消息\" --full=3\n\n# 组合使用\npython3 scripts/web_search.py \"华为昇腾 910B 官方规格参数\" --max=10 --full=2\n2. Agent 自动调用示例\n用户提问：「今天东莞的天气怎么样？」\n调用参数：query=\"广东东莞 天气\" --max=5\n用户提问：「查一下 2026 年最新的 Python 异步编程教程」\n调用参数：query=\"Python 异步编程 教程\" --max=10 --full=3\n用户提问：「美伊局势最新进展」\n调用参数：query=\"美伊局势 最新进展\" --max=10\n\n常见问题排查\n搜索不到结果 / 结果不相关\n检查 Query 是否符合优化规范，是否过于冗长、口语化\n查看 Debug 日志中的「搜索词」「访问 URL」，确认搜索内容正确\n浏览器启动失败\n执行 pip install playwright && playwright install chromium 重新安装环境\n抓取全文失败\n目标网站有强反爬限制，可减少 full 参数，仅抓取高价值页面\n\nFile v7.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn7ecgbzbya89gesghbv1kty9d82r8e4\",\n  \"slug\": \"free-web-search\",\n  \"version\": \"7.0.3\",\n  \"publishedAt\": 1775655929438\n}\n\nArchive v7.0.2: 3 files, 7632 bytes\n\nFiles: scripts/web_search.py (11151b), SKILL.md (7121b), _meta.json (134b)\n\nFile v7.0.2:SKILL.md\n\n---\nname: free-web-search\ndescription: 基于Bing国内版的稳定联网搜索工具，中文环境深度优化，支持全文内容抓取，绕过常见反爬限制，返回结构化搜索结果。\nversion: 8\nauthor: free-web-search\ntrigger_keywords:\n  - 搜索\n  - 帮我查\n  - 查一下\n  - 找一下\n  - 最新消息\n  - 最新进展\n  - 最新动态\n  - 今日新闻\n  - 实时\n  - 现在多少\n  - 目前情况\n  - 最近发生\n  - 几点开门\n  - 营业时间\n  - 怎么去\n  - 在哪里\n  - 多少钱\n  - 价格是多少\n  - 官网地址\n  - 官方文档\ntools:\n  - name: web_search\n    description: 联网搜索并返回结构化结果，中文环境优化，支持全文内容抓取\n    script: scripts/web_search.py\n    parameters:\n      query:\n        type: string\n        description: 【必填】搜索关键词/短句，必须简洁精准，符合下方Query优化规范，禁止长句/反问句\n        required: true\n      max:\n        type: integer\n        description: 最大返回的搜索结果条数，默认10，最大不超过20\n        required: false\n      full:\n        type: integer\n        description: 抓取前N条结果的网页全文内容，默认0（不抓取），最大不超过5\n        required: false\n---\n\n# free-web-search 联网搜索工具\n基于Bing国内版 + Playwright浏览器实现的稳定搜索工具，中文环境深度优化，绕过反爬限制，返回结构化结果，支持网页全文内容抓取。支持依赖降级：Playwright不可用时自动切换为 requests+BeautifulSoup。\n\n## 核心能力\n- ✅ **中文环境深度优化**：强制Bing返回中文结果，适配国内网络环境\n- ✅ **双引擎降级**：Playwright优先，不可用时自动切换轻量级 requests 模式\n- ✅ **全文抓取**：支持按需抓取目标网页的完整正文内容\n- ✅ **实时Debug**：全流程日志输出，可快速定位搜索问题\n- ✅ **参数完整**：max/full 参数均生效，搜索条数和全文条数均可精准控制\n\n---\n\n## 【第一优先级】何时调用 vs 何时不调用\n\n### ✅ 必须调用（需要实时/外部信息）\n- 明确要求\"搜索/查找/查一下\"\n- 需要**今天/本周/最近**发生的事件、新闻、价格、天气\n- 需要某个具体网站的地址、联系方式、营业时间\n- 需要某款产品/版本的最新参数、发布信息\n- 询问当前持仓人物（CEO、官员等）的最新动态\n\n### ❌ 禁止调用（知识库可直接回答）\n- 解释通用概念、原理（\"什么是递归\"、\"TCP/IP是什么\"）\n- 进行数学计算、代码生成、文本翻译、写作润色\n- 回答历史事件（已确认不会再变动的内容）\n- 用户在闲聊、提问不涉及外部信息（\"你觉得哪个好\"）\n- 用户问题中虽含触发词但本质是推理题（\"教程怎么写\"是让你写，不是搜）\n\n### ⚠️ 判断原则\n> **核心问题**：这个问题的答案，会因为\"今天\"与\"一个月前\"而不同吗？\n> - 会 → 调用搜索\n> - 不会 → 直接回答，禁止无谓调用浪费时间\n\n---\n\n## 【核心必读】搜索Query优化规范\n**搜索效果的好坏，90%取决于Query是否合理**，请严格遵循以下规则生成搜索词：\n\n### 一、黄金原则\n1. **简洁精准**：只保留核心关键词，2-5个词组合，禁止长句、反问句、口语化描述\n2. **时间限定**：涉及时效性内容，必须在 query 中加年月（如 `2026年04月`），不要依赖脚本自动注入\n3. **领域收窄**：加上「官方」「文档」「新闻」「价格」等领域词，避免结果发散\n4. **格式干净**：禁止特殊符号、无意义助词、问号，中文为主仅专有名词用英文\n\n### 二、正确示例 vs 错误示例\n| 搜索场景 | ✅ 正确Query | ❌ 错误Query |\n|----------|-------------|-------------|\n| 时效性新闻 | `2026年04月 美伊局势 最新进展` | `你能帮我查一下最近美国和伊朗之间发生了什么事吗` |\n| 技术文档 | `Python asyncio 官方文档 3.12` | `我想学习一下Python的异步编程，有没有好的教程` |\n| 产品价格 | `iPhone 16 Pro 国行 官方售价 2026` | `苹果最新手机现在多少钱啊` |\n| 本地信息 | `广东东莞 天气 2026年04月08日` | `我现在在东莞，今天天气怎么样啊` |\n| 官方信息 | `华为云 ModelArts 官方文档` | `华为云的那个ModelArts的官网在哪里文档怎么看` |\n| 人物动态 | `马斯克 特斯拉 2026年04月 最新动态` | `马斯克最近在干嘛` |\n| 错误排查 | `pip install playwright 报错 externally-managed-environment` | `playwright装不上怎么办` |\n\n### 三、进阶优化技巧\n1. **时效性强的内容**：query 里直接写 `2026年04月`，不要写\"最近\"\"近期\"这类模糊词\n2. **多义词消歧**：加上上下文限定词，如 `苹果 手机` 而非单独 `苹果`\n3. **过滤垃圾结果**：query 末尾加 `-广告 -推广 -知乎` 可减少软文干扰\n4. **全文抓取策略**：`full` 参数只用于需要完整内容的场景（官方公告、详细教程），普通搜索 snippet 足够\n\n---\n\n## 参数说明\n| 参数名 | 类型 | 说明 | 默认值 | 取值限制 |\n|--------|------|------|--------|----------|\n| `query` | 字符串 | 【必填】搜索关键词，必须符合上方Query优化规范 | - | 不能为空，禁止长句 |\n| `max` | 整数 | 最多返回的搜索结果条数 | 10 | 1-20 |\n| `full` | 整数 | 抓取前N条结果的网页全文 | 0 | 0-5 |\n\n---\n\n## 使用示例\n\n### 命令行手动调用\n```bash\n# 基础搜索\npython3 scripts/web_search.py \"2026年04月 AI大模型 最新进展\"\n\n# 控制返回条数\npython3 scripts/web_search.py \"Python 性能优化 最佳实践\" --max=15\n\n# 抓取前3条全文\npython3 scripts/web_search.py \"2026年04月 国内油价调整 最新消息\" --full=3\n\n# 组合使用\npython3 scripts/web_search.py \"华为昇腾 910B 官方规格参数\" --max=10 --full=2\n```\n\n### Agent 调用示例\n| 用户提问 | 是否调用 | 调用参数 |\n|----------|----------|----------|\n| 今天东莞天气怎么样 | ✅ 调用 | `query=\"广东东莞 天气 2026年04月08日\" --max=5` |\n| 帮我查最新Python异步教程 | ✅ 调用 | `query=\"Python asyncio 教程 2026\" --max=10 --full=2` |\n| 美伊局势最新进展 | ✅ 调用 | `query=\"美伊局势 2026年04月 最新进展\" --max=10` |\n| 什么是递归算法 | ❌ 不调用 | 直接回答，无需搜索 |\n| 帮我写一段Python代码 | ❌ 不调用 | 直接生成，无需搜索 |\n| TCP/IP协议是什么 | ❌ 不调用 | 知识库直接回答 |\n\n---\n\n## 常见问题排查\n\n### 依赖安装失败\n脚本会自动降级到 `requests+BeautifulSoup` 模式，无需手动处理。\n若要恢复 Playwright（更稳定），执行：\n```bash\npip install playwright --break-system-packages && playwright install chromium\n```\n\n### 搜索结果不相关\n- 检查 Query 是否过于口语化、是否缺少时间/领域限定词\n- 查看 stderr 的 `[DEBUG] 搜索词` 确认实际搜索内容\n\n### 全文抓取失败\n目标网站有强反爬限制，减少 `full` 参数值，或换用其他来源链接。\n\nFile v7.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn7ecgbzbya89gesghbv1kty9d82r8e4\",\n  \"slug\": \"free-web-search\",\n  \"version\": \"7.0.2\",\n  \"publishedAt\": 1775652121572\n}","readmeExcerpt":"Skill: Free Web Search Owner: ucsdzehualiu Summary: 基于 Bing 国内版 / DuckDuckGo 的联网搜索工具，中文环境优化，可按需抓取目标网页正文，返回结构化结果。仅在用户明确请求联网搜索时调用。 Tags: latest:8.1.0 Version history: v8.1.0 | 2026-06-22T07:29:06.147Z | user v8.1.0: Add LICENSE, fix doc/code mismatch (removed phantom --engine/--filter/--no-rewrite docs), disclose IP-geo probe services, drop unused deps v8.0.0 | 2026-06-17T16:45:54.407Z | auto free-web-search 8.0.0 重大更新","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"# Linux / macOS\nbash scripts/setup.sh"},{"language":"bash","snippet":"pip install playwright\nplaywright install chromium"},{"language":"bash","snippet":"# 基础搜索（不抓正文）\npython scripts/web_search.py \"Python 异步编程 最佳实践 2026\" --max=10\n\n# 搜索 + 抓前 3 条全文\npython scripts/web_search.py \"中国大型邮轮 花城号 出坞\" --full=3\n\n# 手动指定区域（代理用户）\npython scripts/web_search.py \"技术教程\" --region=cn    # 强制 Bing CN\npython scripts/web_search.py \"技术教程\" --region=intl  # 强制 DuckDuckGo"},{"language":"bash","snippet":"pip install playwright\nplaywright install chromium"},{"language":"bash","snippet":"# Linux / macOS\nbash scripts/setup.sh\n\n# Windows\npowershell -File scripts/setup.ps1"},{"language":"bash","snippet":"pip install playwright\nplaywright install chromium"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: free-web-search\ndescription: 基于 Bing 国内版 / DuckDuckGo 的联网搜索工具，中文环境优化，可按需抓取目标网页正文，返回结构化结果。仅在用户明确请求联网搜索时调用。\nversion: 8.1.0\nauthor: free-web-search\nlicense: MIT\ntrigger_keywords:\n  - free-web-search\n  - 联网搜索\n  - 网页搜索\n  - web search\ntools:\n  - name: web_search\n    description: 联网搜索并返回结构化结果，中文环境优化，可选抓取网页正文（默认不抓取）\n    script: scripts/web_search.py\n    parameters:\n      query:\n        type: string\n        description: 【必填】搜索关键词/短句，简洁精准（2-5 个核心词），禁止长句/反问句\n        required: true\n      max:\n        type: integer\n        description: 最大返回的搜索结果条数，默认 10，最大 20\n        required: false\n      full:\n        type: integer\n        description: 抓取前 N 条结果的网页全文内容，默认 0（不抓取），最大 5\n        required: false\n---\n\n# free-web-search 联网搜索工具\n\n基于 Playwright 的 Bing 国内版 / DuckDuckGo 搜索工具。专注于**搜索 + 可选正文抓取**两件事，无副作用。\n\n## 触发方式\n\n仅在用户**明确请求联网搜索**时调用，例如：\n\n- \"用 free-web-search 查一下 Python 异步教程\"\n- \"联网搜索 2026 年中国大型邮轮\"\n- \"web search: latest LLM benchmarks\"\n\ntrigger_keywords 已经收窄到只识别 `free-web-search`、`联网搜索`、`网页搜索`、`web search`，不会因为消息里出现\"新闻\"、\"最新消息\"这些常见词就把对话内容发到外部搜索引擎。\n\n## 核心能力\n\n- **中文环境优化**：默认 `mkt=zh-CN`，结果以中文为主\n- **可选全文抓取**：通过 `--full=N` 抓取前 N 条结果正文（默认 0 不抓取）\n- **智能路由**：基于 IP 地理位置自动选择 Bing CN（国内）或 DuckDuckGo（国外），单引擎失败时自动兜底\n- **Headless 浏览器**：服务器/容器可用，仅开 `--no-sandbox`、`--disable-gpu`、`--disable-dev-shm-usage` 三个标准稳定性参数\n\n## 安装\n\n**所有依赖必须在使用前手动安装。脚本运行时不会自动安装任何 npm/pip 包，也不会修改宿主环境。**\n\n### 前置依赖\n\n| 依赖 | 用途 | 备注 |\n|---|---|---|\n| Python 3.8+ | 运行时 | — |\n| playwright | 浏览器自动化 | `pip install playwright` |\n| Chromium | Playwright 浏览器引擎 | `playwright install chromium`（约 150 MB） |\n\n### 一键安装\n\n```bash\n# Linux / macOS\nbash scripts/setup.sh\n```\n\n### 手动安装\n\n```bash\npip install playwright\nplaywright install chromium\n```\n\n## 使用示例\n\n```bash\n# 基础搜索（不抓正文）\npython scripts/web_search.py \"Python 异步编程 最佳实践 2026\" --max=10\n\n# 搜索 + 抓前 3 条全文\npython scripts/web_search.py \"中国大型邮轮 花城号 出坞\" --full=3\n\n# 手动指定区域（代理用户）\npython scripts/web_search.py \"技术教程\" --region=cn    # 强制 Bing CN\npython scripts/web_search.py \"技术教程\" --region=intl  # 强制 DuckDuckGo\n```\n\n## 搜索 Query 优化建议\n\n搜索效果取决于 Query 是否合理：\n\n1. **简洁精准**：2-5 个核心词组合，避免长句、反问句\n2. **限定明确**：需要时效性/地区内容时加上对应限定词\n3. **格式正确**：中文关键词 + 数字/英文限定词\n\n| 场景 | 推荐 | 不推荐 |\n|---|---|---|\n| 时效新闻 | `2026年04月 美伊局势` | `最近美伊之间发生了什么` |\n| 技术教程 | `Python 异步编程 2026` | `我想学 Python 异步编程` |\n| 本地内容 | `广东东莞 今日天气` | `东莞今天天气怎么样啊` |\n| 官方信息 | `华为云 ModelArts 文档` | `华为云那个 ModelArts 怎么看` |\n\n## 参数说明\n\n| 参数 | 类型 | 默认 | 范围 | 说明 |\n|---|---|---|---|---|\n| `query` | 字符串 | — | 必填 | 搜索关键词 |\n| `--max` | 整数 | 10 | 1-20 | 最多返回条数 |\n| `--full` | 整数 | 0 | 0-5 | 抓取前 N 条全文 |\n| `--region` | 字符串 | auto | auto/cn/intl | 区域覆盖（auto = IP 探测，cn = Bing CN，intl = DuckDuckGo） |\n\n## 隐私与网络说明\n\n启用此工具会产生以下出站请求，使用前请确认你的环境允许：\n\n| 目的 | 端点 | 数据 |\n|---|---|---|\n| IP 地理位置探测 | `myip.ipip.net`, `cip.cc`, `ipinfo.io/json`, `ipapi.co/json` | 你的 IP、UA |\n| Bing 搜索（国内 IP 默认） | `cn.bing.com` | 你的 query 文本、IP、UA |\n| DuckDuckGo 搜索（国外 IP 默认） | `duckduckgo.com` | 你的 query 文本、IP、UA |\n| 抓取目标页（仅当 `--full > 0`） | 各搜索结果对应的站点 | 你的 IP、UA、Referer |\n\n工具本身：\n\n- 不收集 telemetry、不写日志"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7ecgbzbya89gesghbv1kty9d82r8e4\",\n  \"slug\": \"free-web-search\",\n  \"version\": \"8.1.0\",\n  \"publishedAt\": 1782113346147\n}"},{"path":"skill-card.md","content":"## Description:\n\nFree Web Search lets an agent run Bing China or DuckDuckGo searches with optional page-text fetching and returns structured search results.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[ucsdzehualiu](https://clawhub.ai/user/ucsdzehualiu)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and agents use this skill to perform explicit web searches, route between Bing China and DuckDuckGo, and optionally fetch page text for the first results. It is suited to search-assisted answers where outbound search and geolocation probes are acceptable.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Search queries and IP metadata are sent to external search and geolocation services.\n\nMitigation: Use the skill only when outbound search is approved and avoid sensitive queries.\n\nRisk: Optional full-page fetch loads arbitrary search results in an unsandboxed browser.\n\nMitigation: Keep --full at 0 unless page text is needed, and run the skill in an isolated low-privilege environment.\n\nRisk: Dependency setup installs Playwright and Chromium and can use custom package mirrors.\n\nMitigation: Avoid running setup as root, prefer a virtual environment with pinned dependencies, and use only trusted package mirrors.\n\n## Reference(s):\n\n- [Free Web Search on ClawHub](https://clawhub.ai/ucsdzehualiu/skills/free-web-search)\n\n## Skill Output:\n\n**Output Type(s):** [text]\n\n**Output Format:** [JSON array of search results with title, URL, snippet, and optional page text]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Search result count is capped at 20; optional full-page fetching is capped at 5 results and truncates each page to 8000 characters.]\n\n## Skill Version(s):\n\n8.1.0 (source: server release metadata and SKILL.md frontmatter)\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":"LICENSE","content":"MIT License\n\nCopyright (c) 2026 free-web-search\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"基于 Bing 国内版 / DuckDuckGo 的联网搜索工具，中文环境优化，可按需抓取目标网页正文，返回结构化结果。仅在用户明确请求联网搜索时调用。 Skill: Free Web Search Owner: ucsdzehualiu Summary: 基于 Bing 国内版 / DuckDuckGo 的联网搜索工具，中文环境优化，可按需抓取目标网页正文，返回结构化结果。仅在用户明确请求联网搜索时调用。 Tags: latest:8.1.0 Version history: v8.1.0 | 2026-06-22T07:29:06.147Z | user v8.1.0: Add LICENSE, fix doc/code mismatch (removed phantom --engine/--filter/--no-rewrite docs), disclose IP-geo probe services, drop unused deps v8.0.0 | 2026-06-17T16:45:54.407Z | auto free-web-search 8.0.0 重大更新","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1167,"uniquenessScore":52,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T04:11:07.403Z","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-09T04:11:07.403Z","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-10T06:24:01.610Z","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"}]}}}