Web Search

通用网络搜索技能,支持多引擎搜索(百度、必应、DuckDuckGo),无需API密钥即可获取实时信息

yejinlei

@yejinlei

What This Skill Does

Multi-engine web search tool that queries Baidu, Bing, and DuckDuckGo without API keys. Supports basic search, deep search with content extraction, and web page crawling.

Replaces paid search APIs and manual browser searches by providing a unified, API-key-free interface across multiple search engines with automatic fallback.

When to Use It

  • Search the web for current information on a specific topic
  • Extract detailed content from a web page for analysis
  • Perform deep research by combining search results with page content
  • Query Chinese-language sources using Baidu without an API key
  • Fall back to alternative search engines when one is blocked or rate-limited

Install

$ openclaw skills install @yejinlei/web-search-ex-skill

Web Search Skill

A powerful web search skill supporting multiple search engines without requiring API keys.

Features

  • 🔍 Multi-Engine Support: Baidu (Playwright), Bing, DuckDuckGo
  • 🌐 No API Key Required: Uses browser automation and web scraping
  • 🔄 Smart Fallback: Automatically switches engines when one fails
  • 📊 Structured Results: Returns clean search results with title, URL, and snippet
  • 🚀 High Performance: Async support with Playwright browser automation

Usage

Basic Search

result = main({
    "action": "search",
    "query": "Python tutorial",
    "num_results": 5
})

Deep Search

result = main({
    "action": "deep_search",
    "query": "machine learning latest research",
    "num_results": 5
})

Web Page Crawling

result = main({
    "action": "crawl",
    "url": "https://example.com"
})

Input Parameters

ParameterTypeRequiredDescription
actionstringYesOperation type: "search", "deep_search", or "crawl"
querystringConditionalSearch query (required for search/deep_search)
urlstringConditionalTarget URL (required for crawl)
num_resultsintNoNumber of results, default 5, max 20
regionstringNoRegion code, default 'cn-zh'

Output Format

Search Result

{
    "success": True,
    "query": "search query",
    "engine": "baidu+playwright",
    "num_results": 5,
    "results": [
        {
            "title": "Result title",
            "href": "https://...",
            "body": "Snippet content"
        }
    ],
    "message": "Search completed"
}

Deep Search Result

{
    "success": True,
    "query": "search query",
    "search_results": [...],
    "detailed_info": {
        "extracted_content": "..."
    },
    "message": "Deep search completed"
}

Execution

type: script script_path: scripts/web_search.py entry_point: main dependencies:

  • uv>=0.1.0
  • requests>=2.28.0
  • baidusearch>=1.0.3
  • crawl4ai>=0.8.0
  • playwright>=1.40.0

Search Strategy

  1. Primary: baidusearch library (fastest, no browser)
  2. Secondary: Playwright + Baidu (most reliable, bypasses anti-bot)
  3. Tertiary: DuckDuckGo (privacy-focused)
  4. Fallback: Bing (international)

Notes

  1. First Run: Playwright will download Chromium browser on first use (~100MB)
  2. Rate Limiting: Be mindful of search frequency to avoid temporary blocks
  3. Network: Requires internet connection
  4. Results: May vary based on search engine algorithms and location

Error Handling

  • Returns {"success": False, "message": "..."} on errors
  • Automatically retries with fallback engines
  • Graceful degradation when optional dependencies are missing

Top skills in this category