mcpField
M
multi-search

multi-search

github.com/nex-zmh生産性111.1k 回インストール36 週間前に更新
リポジトリ

multi-search について

multi-searchは、ウェブ検索やページ取得を行うワークフロー向けに複数の検索エンジンを統合するスキルです。ネットワーク状況と品質の優先度に応じてエンジンを選び、APIの利用枠も管理します。

主な機能

  1. 01ネットワーク検出と検索エンジン切り替え
  2. 02品質優先とバランス型の検索モード
  3. 03TavilyとBing APIの利用枠管理
  4. 04ウェブページの詳細取得
  5. 05ネットワーク判定のキャッシュ

活用シーン

  1. 01キーワード検索と結果概要の取得
  2. 02検索結果ページのコンテンツ取得
  3. 03ウェブ要約用の情報収集

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/nex-zmh/agent-websearch-skill --skill multi-search

インストール後、Claude Code で/multi-searchを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.gitignore
LICENSE
network_cache.example.json
quota.example.json
api_keys.example.json
README.md
multi_search.py

詳細

Multi-Search Skill - インテリジェントなマルチエンジン検索

このスキルは複数の検索エンジンを統合し、ネットワーク環境を自動的に検出して、利用可能な最適なエンジンをインテリジェントに選択します。

エンジンの優先順位

品質優先モード (prefer_quality=True)
  1. Tavily API(月1000回)- 品質が最も高く、API Key が必要です
  2. DuckDuckGo(無制限で無料)- API Key は不要です
  3. Bing Web Search API(月1000回)- API Key が必要です
  4. Bing クローラー(無制限で無料)- 最終的なフォールバック
バランスモード (prefer_quality=False, デフォルト)
  1. DuckDuckGo(無制限で無料)- 無料のエンジンを優先します
  2. Tavily API(月1000回)- API Key が設定されている場合
  3. Bing Web Search API(月1000回)
  4. Bing クローラー(無制限で無料)

主な機能

  • ネットワークのインテリジェントな検出とエンジンの切り替え
  • クォータの自動管理(Tavily/Bing API)
  • ウェブページのコンテンツ取得に対応
  • ネットワーク検出結果を5分間キャッシュ

使用方法

基本検索
from multi_search import search

# 平衡模式 - 优先免费引擎
results = search("Python tutorial", max_results=5)

# 质量优先模式 - 优先使用 Tavily
results = search("AI research", max_results=5, prefer_quality=True)

# 强制重新检测网络(切换 VPN 后使用)
results = search("OpenClaw skills", max_results=5, force_network_check=True)
検索スキル(品質を自動的に優先)
from multi_search import search_skills

results = search_skills("OpenClaw AI agent automation", max_results=10)
システムの状態を確認
from multi_search import get_status

status = get_status()  # 使用缓存
status = get_status(force_network_check=True)  # 强制重新检测
ウェブページの詳細なコンテンツを取得
from multi_search import search, fetch_web_content, fetch_search_results_content

# 搜索并抓取第一个结果的详细内容
results = search("OpenClaw new features", max_results=3)
if results:
    content = fetch_web_content(results[0]['href'], max_length=3000)
    # content['title'], content['content'], content['success']

# 批量抓取所有搜索结果的详细内容
enriched_results = fetch_search_results_content(results, max_length=2000)
for r in enriched_results:
    if r.get('full_content'):
        # 使用 summarize 技能总结内容
        pass
Summarize スキルと組み合わせて使用
OpenClaw 工作流:
1. 使用 multi-search 搜索关键词
2. 选择感兴趣的搜索结果
3. 使用 fetch_web_content() 抓取网页内容
4. 使用 summarize 技能总结网页内容
5. 将摘要呈现给用户

戻り値の形式

[
    {
        'title': '结果标题',
        'href': 'https://example.com',
        'body': '结果摘要...',
        'source': 'duckduckgo'  # 或 'tavily', 'bing_api', 'bing_scraper'
    }
]

パラメーターの説明

  • query:検索キーワード
  • max_results:結果の最大数(デフォルトは5)
  • prefer_quality:品質を優先するかどうか(デフォルトはFalse)
  • force_network_check:ネットワークを強制的に再検出するかどうか(デフォルトはFalse)

注意事項

  • DuckDuckGo:無料で無制限ですが、一部のネットワーク環境ではアクセスできません
  • Tavily:品質は高いですが、API key が必要です(月1000回)
  • Bing API:公式で安定していますが、Azure アカウントが必要です(月1000回)
  • Bing クローラー:無料で無制限ですが、アンチクローラー対策の影響を受ける可能性があります

コメント