返回顶部
s

search-strategy智能搜索策略

智能搜尋策略執行器 - 自動選擇最佳搜尋工具,無需手動判斷。

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.1.0
安全检测
已通过
235
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

search-strategy

技能名称: search-strategy

详细描述:

搜尋策略技能 (search-strategy)

技術架構與流程

核心設計理念

  • - 智慧決策層:根據任務類型自動選擇最佳工具
  • 工具適配層:統一不同搜尋工具的輸出格式
  • 錯誤恢復層:多級 fallback 確保任務完成
  • 效能優化層:避免不必要的 API 調用

決策樹算法(實作細節)

bash

主要判斷邏輯(fromtasktype 函數)


if [ -n $URL ]; then
# URL 模式:單篇文章閱讀
tool=jina

# 檢查是否需要瀏覽器自動化
if [ $FORCEBROWSER = 1 ] || needsbrowser_automation $URL; then
tool=browser
fi
elif echo $QUERY | grep -qiE 完整|全部|爬蟲|網站|crawl; then
tool=firecrawl
elif echo $QUERY | grep -qiE \.tw|\.com|股價|股價|[0-9]+\.?[0-9]*; then
# 特定模式:台灣市場資料
tool=multi
elif echo $QUERY | grep -qiE 研究|報告|摘要|分析|AI; then
tool=tavily
elif echo $QUERY | grep -qiE Twitter|YouTube|GitHub|Facebook|IG|小紅書; then
tool=agent
elif echo $QUERY | grep -qiE 中文|中國|台灣|大陸; then
# 中文搜尋优先用 Brave(廣告少、無追蹤)
tool=brave
else
# 預設:jina.ai 快速摘要
tool=jina
fi

各工具調用方式

1. jina.ai 摘要模式(url 模式)

bash

基本原理:利用 jina.ai 的 Reader API 提取網頁乾淨內容

API: https://r.jina.ai/http://目標URL

result=$(curl -s -H Accept: text/markdown https://r.jina.ai/http://${URL} 2>/dev/null)

優點:

- 無需 API Key

- 自動移除廣告、腳本、追蹤碼

- 支援 JavaScript 渲染頁面(jina.ai 內部有 headless browser)

- 輸出乾淨的 Markdown 格式

2. Multi-Search-Engine(多引擎比價)

bash

原始方法(已棄用):直接 curl Google/Bing(會動態渲染,失效)

curl -s https://www.google.com/search?q=$QUERY

新方法(優化後):使用自建代理或 fearless 替代方案

for engine in duckduckgo brave startpage; do case $engine in duckduckgo) # DuckDuckGo HTML 解析 logic curl -s https://html.duckduckgo.com/html/?q=$QUERY | grep -E class=resulturl | sed -n s/.class=resulturl[^>]>\([^<]\)<\/div>./\1/p ;; brave) # 自建 Brave Search 代理 curl -s https://search.brave.com/search?q=$QUERY \ -H User-Agent: Mozilla/5.0... ;; esac done

解析各引擎結果,统一格式為:

=== 搜尋引擎名稱 ===

1. 標題

链接: https://...

摘要: ...

3. Firecrawl 完整爬蟲

bash

使用 firecrawl-cli(Node.js 工具)

功能:完整爬取網站、支援 JS 渲染、提取結構化資料

firecrawl scrape $URL \
--wait-for 3000 \ # 等待 3 秒確保動態內容載入
--limit 100 \ # 最多爬 100 個頁面
--output-format markdown # 輸出 Markdown

或使用 API 模式(FIRECRAWLAPIKEY)

firecrawl search $QUERY \ --scrape \ # 自動爬取搜尋結果頁面 --json \ # 輸出結構化 JSON --limit 50

4. Tavily AI 最佳化搜尋

bash

Tavily 专為 LLM 設計的搜尋 API

特色:一次搜尋返回多個來源的摘要,適合 research 任務

tavily-search query=$QUERY \
max_results=10 \ # --max 參數控制結果數
include_answer=true \ # 包含 AI 生成的摘要
search_depth=advanced \ # 深度搜尋模式
includerawcontent=false # 只返回 cleaned content

輸出格式:

{

answer: AI 生成的綜合摘要...,

results: [

{ title: ..., url: ..., content: ... }

]

}

5. Browser-Automation(瀏覽器自動化)

bash

基於 Playwright,支援 Chromium/Firefox/WebKit

實作函數: searchwithbrowser()

主要流程:

1. 啟動瀏覽器(复用現有 page)

2. 導航到目標 URL

3. 等待元素載入(智能等待)

4. 提取內容或截圖

5. 關閉瀏覽器(可選是否保持)

實作例子:

node -e const browserAuto = require($BROWSERSKILLPATH/index.js); browserAuto.navigate({ url: process.env.TARGET_URL, waitUntil: networkidle, timeout: 30000 }).then(page => { const content = page.mainFrame().content(); console.log(content); if (process.env.TAKE_SCREENSHOT === 1) { return page.screenshot({ path: ./screenshot.png }); } });

錯誤處理與 Fallback 機制

Set -e 問題及解決方案

bash

問題:set -e 在 log_debug 函數中會因 [ $VERBOSE -eq 1 ] 返回 1 而退出

解法:改用 if 結構避免 set -e 中斷

log_debug() {
if [ $VERBOSE -eq 1 ]; then
echo [DEBUG] $* >&2
fi
}

另一個陷阱:函數外的 local 變數声明

錯誤:local STATUS ← 在函數外使用

修正:移除函數外的 local,只在函數內使用

多級 Fallback 策略

bash

當主要工具失敗時,按順序嘗試備用方案

fallback_chain() { local primary=$1 local url=$2

case $primary in
jina)
# jina 失效時:嘗試 multi-search-engine
searchwithmulti $url && return 0
# 再不成就用 browser
searchwithbrowser $url && return 0
;;
brave)
# Brave API 失效:換 DuckDuckGo
searchwithduckduckgo $url && return 0
;;
multi)
# Multi 失效:直接 brave-search 命令
brave-search query=$QUERY && return 0
;;
*)
# 最後手段:curl + grep 粗暴抓取
curl -s $url | lynx -stdin
;;
esac

return 1 # 所有方案都失敗
}

輸出格式美化

bash

彩色輸出(ANSI escape codes)


RED=\033[0;31m # 錯誤/警示
GREEN=\033[0;32m # 成功
YELLOW=\033[1;33m # 警告/提示
BLUE=\033[0;34m # 資訊
NC=\033[0m # 重置顏色

輸出示例:

echo -e ${BLUE}[INFO]${NC} 自動分析任務類型... echo -e ${YELLOW}[WARN]${NC} jina.ai 不支援直接搜尋,改用 multi-search-engine echo -e ${GREEN}[SUCCESS]${NC} 搜尋完成(工具: $tool)

分隔線與圖示

echo 🔍 搜

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 search-strategy-skill-1776059951 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 search-strategy-skill-1776059951 技能

通过命令行安装

skillhub install search-strategy-skill-1776059951

下载

⬇ 下载 search-strategy v1.1.0(免费)

文件大小: 11.52 KB | 发布时间: 2026-4-15 14:16

v1.1.0 最新 2026-4-15 14:16
search-strategy-skill 1.1.0

- 移除了 SKILL.md 中的 metadata 欄位,提升文件簡潔性。
- 新增「最佳實踐」建議:fallback 到瀏覽器即代表網站需特殊處理,鼓勵用戶回報問題。
- 增加「未来規劃(Roadmap)」部分(內容未完待續)。
- 其餘核心架構、決策邏輯及用法說明保持原樣。

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部