yejinlei/web-search-skillMIT9 files

Web Search

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

Specification
Skill ID
yejinlei/web-search-skill/web-search
Publisher
yejinlei
Repository
web-search-skill
Installs
0
Files
9
License
MIT
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

yejinlei/web-search-skill/web-searchInstalls these files
  • .gitignore
  • LICENSE.txt
  • MANIFEST.in
  • README.md
  • SKILL.md
  • requirements.txt
  • scripts/__init__.py
  • scripts/web_search.py
  • setup.py

What this skill tells the agent

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

Use this skill in a project

Open any RiverX project, search the Skills panel for yejinlei/web-search-skill/web-search, and install it in one click.

Use this skill