multi-search について
multi-searchは、ウェブ検索やページ取得を行うワークフロー向けに複数の検索エンジンを統合するスキルです。ネットワーク状況と品質の優先度に応じてエンジンを選び、APIの利用枠も管理します。
主な機能
- 01ネットワーク検出と検索エンジン切り替え
- 02品質優先とバランス型の検索モード
- 03TavilyとBing APIの利用枠管理
- 04ウェブページの詳細取得
- 05ネットワーク判定のキャッシュ
活用シーン
- 01キーワード検索と結果概要の取得
- 02検索結果ページのコンテンツ取得
- 03ウェブ要約用の情報収集
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ nex-zmh/ agent-websearch-skill --skill multi-searchインストール後、Claude Code で/multi-searchを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.gitignoreLICENSEnetwork_cache.example.jsonquota.example.jsonapi_keys.example.jsonREADME.mdmulti_search.py詳細
Multi-Search Skill - インテリジェントなマルチエンジン検索
このスキルは複数の検索エンジンを統合し、ネットワーク環境を自動的に検出して、利用可能な最適なエンジンをインテリジェントに選択します。
エンジンの優先順位
品質優先モード (prefer_quality=True)
- Tavily API(月1000回)- 品質が最も高く、API Key が必要です
- DuckDuckGo(無制限で無料)- API Key は不要です
- Bing Web Search API(月1000回)- API Key が必要です
- Bing クローラー(無制限で無料)- 最終的なフォールバック
バランスモード (prefer_quality=False, デフォルト)
- DuckDuckGo(無制限で無料)- 無料のエンジンを優先します
- Tavily API(月1000回)- API Key が設定されている場合
- Bing Web Search API(月1000回)
- 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 クローラー:無料で無制限ですが、アンチクローラー対策の影響を受ける可能性があります
コメント
Markdown 対応