最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

OpenClaw配置Tavily 搜索 Skill 完整指南教程

  發(fā)布時間:2026-03-19 11:49:27   作者:tommychian   我要評論
本文記錄為 OpenClaw 2026.3.8 + 飛書 Agent 添加 Tavily 搜索能力的完整過程,包括安裝方式、安全配置、搜索優(yōu)先級調(diào)整,以及踩過的所有坑和最終結(jié)論,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧

?? 本文記錄為 OpenClaw 2026.3.8 + 飛書 Agent 添加 Tavily 搜索能力的完整過程,包括安裝方式、安全配置、搜索優(yōu)先級調(diào)整,以及踩過的所有坑和最終結(jié)論。

?? 重要結(jié)論(先說結(jié)果)

經(jīng)過完整的安裝、配置和調(diào)試,最終結(jié)論是:Tavily Skill 可以成功安裝且 API 完全可用,但 OpenClaw 2026.3.8 的 Agent 不會主動調(diào)用 Skill 腳本進(jìn)行搜索。

根本原因:Agent 搜索時調(diào)用的是 OpenClaw 內(nèi)置的 web_search 工具(后端為 Brave Search,在國內(nèi)被墻),而不是用戶安裝的 Skill 腳本。當(dāng)內(nèi)置搜索失敗后,Agent 會降級到 SearXNG Skill,但不會降級到 Tavily Skill。

當(dāng)前可行方案:SearXNG 作為搜索主力,效果良好。Tavily API Key 已就位,等 OpenClaw 后續(xù)版本支持 MCP(openclaw mcp add)后可一鍵接入。

本文的價值:即使 Tavily 暫時無法作為 Agent 搜索工具使用,本文記錄的 Skill 安裝流程、API Key 配置方法、AGENTS.md 修改策略、npm 國內(nèi)鏡像踩坑解決方案等內(nèi)容,對 OpenClaw 用戶仍有重要參考價值。

一、環(huán)境背景

項目配置
服務(wù)器阿里云 ECS
OpenClaw 版本2026.3.8
AI 模型dashscope/kimi-k2.5(默認(rèn))、custom-api123-icu/claude-sonnet-4-6(備用)
前端渠道飛書自建 Agent(多多助理)
子 Agentresearcher、coder、writer、trader
已有搜索SearXNG + Jina Reader(主力)、Bocha(替補,600+ 次余額)

二、為什么要加 Tavily?

2.1 Tavily vs SearXNG + Jina Reader 對比

維度SearXNG + Jina ReaderTavily
返回格式鏈接列表 → 需 Jina 二次抓取結(jié)構(gòu)化摘要 + 關(guān)鍵信息,直接可用
Agent 集成兩個 Skill 配合(搜索 + 閱讀)原生為 AI Agent 設(shè)計,一步到位
信息密度低,需要多步處理高,預(yù)處理過的結(jié)果
響應(yīng)速度SearXNG ~1s + Jina ~15s ≈ 16s快速(已預(yù)處理)
穩(wěn)定性依賴本地 Docker + 第三方引擎云端 API,穩(wěn)定性好
費用完全免費免費 1000 次/月
本地資源占用 Docker + Redis 內(nèi)存零本地資源消耗

2.2 升級后的三層搜索架構(gòu)

優(yōu)先級 1:Tavily       → 高質(zhì)量結(jié)構(gòu)化結(jié)果,1000 次/月,日常主力
優(yōu)先級 2:SearXNG + Jina → 免費無限次,兜底 / 批量搜索場景
優(yōu)先級 3:Bocha         → 600+ 次余額,應(yīng)急備用

三、獲取 Tavily API Key

3.1 注冊賬號

  1. 訪問 app.tavily.com
  2. 注冊賬號(支持 Google / GitHub 登錄)
  3. 無需信用卡,免費計劃(Researcher)即包含 1000 次/月 額度

3.2 獲取 API Key

  1. 登錄后進(jìn)入 Dashboard
  2. 復(fù)制你的 API Key(格式類似 tvly-xxxxxxxxxxxxxxxx
  3. 妥善保存,后面要用

四、安裝 Tavily Search Skill

?? 關(guān)于安裝方式的選擇:部分文檔提到可以用 openclaw mcp add 命令通過 MCP 方式安裝,但經(jīng)實測 OpenClaw 2026.3.8 不支持 mcp 子命令。因此我們使用 Skill 安裝方式,這是當(dāng)前版本完全支持的標(biāo)準(zhǔn)方法。

4.1 方式一:ClawHub 安裝(推薦)

ClawHub 是 OpenClaw 的官方 Skill 市場,類似 npm 之于 Node.js。

 ?? 國內(nèi)服務(wù)器踩坑:直接運行 npx clawhub@latest install 會使用國內(nèi) npm 鏡像源(如淘寶鏡像),但 clawhub@0.8.0 依賴的 undici@^7.24.0 在國內(nèi)鏡像上未同步,會報錯:

npm error notarget No matching version found for undici@^7.24.0

解決方案:在命令前加 npm_config_registry=https://registry.npmjs.org 前綴,強制使用官方 npm 源。這是所有國內(nèi) OpenClaw 用戶安裝 Skill 時都可能遇到的問題。

第一步:搜索可用的 Tavily Skill

npm_config_registry=https://registry.npmjs.org npx clawhub@latest search tavily

搜索結(jié)果會顯示多個 Skill,排名靠前的幾個:

openclaw-tavily-search  Tavily 搜索  (3.707)
tavily-tool             Tavily       (3.603)
liang-tavily-search     Tavily Search (3.522)
tavily-web-search-for-openclaw  Tavily Web Search Skill for OpenClaw ??  (3.505)

第二步:安裝排名第一的 Skill

npm_config_registry=https://registry.npmjs.org npx clawhub@latest install openclaw-tavily-search

 ?? 注意:搜索結(jié)果中沒有叫 tavily-search 的 Skill(這個名字會報 Skill not found),要用實際搜索到的名字。

第三步:確認(rèn)安裝成功

openclaw skills list | grep -i tavily
# 預(yù)期輸出:
# ? ready │ ?? tavily-search │ Web search via Tavily API (alternative to Brave)...

正式版的描述很關(guān)鍵:"alternative to Brave"——說明它是專門設(shè)計來在 Brave 搜索不可用時作為替代方案的。

4.2 方式二:手動安裝(備用)

如果 ClawHub 安裝失敗,可以手動創(chuàng)建 Skill——OpenClaw 的 Skill 本質(zhì)上就是 SKILL.md + 腳本文件,放到正確目錄即可。

4.2 手動安裝步驟

第一步:下載 SKILL.md

mkdir -p ~/.openclaw/skills/tavily-search/scripts
# 從 GitHub 下載(如果你的服務(wù)器能訪問 GitHub)
curl -sL <https://raw.githubusercontent.com/openclaw/skills/main/skills/arun-8687/tavily-search/SKILL.md> \\
  -o ~/.openclaw/skills/tavily-search/SKILL.md
# 確認(rèn)下載成功
cat ~/.openclaw/skills/tavily-search/SKILL.md | head -20

國內(nèi)服務(wù)器注意raw.githubusercontent.com 經(jīng)常被 GFW 屏蔽。如果 curl 卡住超過 30 秒無響應(yīng),按 Ctrl+C 取消,改用下面的手動創(chuàng)建方式。

如果 GitHub 被墻,手動創(chuàng)建 SKILL.md

cat > ~/.openclaw/skills/tavily-search/SKILL.md << 'EOF'
---
name: tavily
description: AI-optimized web search via Tavily API. Returns concise, relevant results for AI agents.
homepage: <https://tavily.com>
metadata: {"clawdbot":{"emoji":"??","requires":{"bins":["node"],"env":["TAVILY_API_KEY"]},"primaryEnv":"TAVILY_API_KEY"}}
---
# Tavily Search
AI-optimized web search using Tavily API. Designed for AI agents - returns clean, relevant content.
## Search
`bash
node {baseDir}/scripts/search.mjs "query"
node {baseDir}/scripts/search.mjs "query" -n 10
node {baseDir}/scripts/search.mjs "query" --deep
node {baseDir}/scripts/search.mjs "query" --topic news
`
EOF

第二步:創(chuàng)建搜索腳本 search.mjs

GitHub 被墻時無法下載原版腳本,直接手寫一個功能等價的版本:

cat > ~/.openclaw/skills/tavily-search/scripts/search.mjs << 'EOF'
#!/usr/bin/env node
import https from "https";
const API_KEY = process.env.TAVILY_API_KEY;
if (!API_KEY) {
  console.error("Error: TAVILY_API_KEY environment variable is not set.");
  process.exit(1);
}
const args = process.argv.slice(2);
let query = "";
let maxResults = 5;
let searchDepth = "basic";
let topic = "general";
for (let i = 0; i < args.length; i++) {
  if (args[i] === "-n" && args[i + 1]) { maxResults = parseInt(args[i + 1]); i++; }
  else if (args[i] === "--deep") { searchDepth = "advanced"; }
  else if (args[i] === "--topic" && args[i + 1]) { topic = args[i + 1]; i++; }
  else if (!args[i].startsWith("-")) { query = args[i]; }
}
if (!query) {
  console.error("Usage: node search.mjs \\"query\\" [-n count] [--deep] [--topic news|general|finance]");
  process.exit(1);
}
const payload = JSON.stringify({
  api_key: API_KEY,
  query,
  max_results: maxResults,
  search_depth: searchDepth,
  topic,
  include_answer: true
});
const req = https.request("<https://api.tavily.com/search>", {
  method: "POST",
  headers: { "Content-Type": "application/json", "Content-Length": Buffer.byteLength(payload) }
}, (res) => {
  let data = "";
  res.on("data", (chunk) => data += chunk);
  res.on("end", () => {
    try {
      const result = JSON.parse(data);
      if (result.answer) {
        console.log("## Answer\\n");
        console.log(result.answer + "\\n");
      }
      if (result.results && result.results.length > 0) {
        console.log("## Sources\\n");
        result.results.forEach((r, i) => {
          console.log(`${i + 1}. **${r.title}**`);
          console.log(`   URL: ${r.url}`);
          if (r.content) console.log(`   ${r.content.slice(0, 200)}...`);
          console.log();
        });
      }
    } catch (e) {
      console.error("Failed to parse response:", data);
    }
  });
});
req.on("error", (e) => console.error("Request failed:", e.message));
req.write(payload);
req.end();
EOF

4.3 驗證安裝

# 檢查目錄結(jié)構(gòu)(應(yīng)有 2 個文件)
find ~/.openclaw/skills/tavily-search/ -type f
# 預(yù)期輸出:
# /root/.openclaw/skills/tavily-search/SKILL.md
# /root/.openclaw/skills/tavily-search/scripts/search.mjs
# 用 openclaw 內(nèi)置命令確認(rèn) Skill 已識別
openclaw skills list | grep -i tavily
# 預(yù)期輸出包含:? ready │ ?? tavily

4.4 Skill 提供的能力

安裝后 Agent 理論上將獲得 Tavily 搜索工具,支持:

  • AI 優(yōu)化的結(jié)構(gòu)化搜索結(jié)果——直接返回摘要和關(guān)鍵信息,Agent 可直接使用
  • 域名過濾——可指定只搜索特定網(wǎng)站
  • 新聞/財經(jīng)等主題搜索——適合 trader 子 Agent
  • 時間范圍過濾——只搜索最近的內(nèi)容

 ?? 但實際上,Agent 不會主動調(diào)用它。 關(guān)于這個問題的詳細(xì)分析,請看下面的「第七節(jié):核心問題分析」。

?? 網(wǎng)頁提取能力怎么辦? Tavily 的 extract/crawl/research 等高級功能需要 MCP 方式才能使用,當(dāng)前版本不支持。不過已經(jīng)有 Jina Reader 做網(wǎng)頁內(nèi)容提取,繼續(xù)用它即可。等 OpenClaw 后續(xù)版本支持 mcp 命令后,可以再升級到 MCP 方式。

五、安全配置 API Key

5.1 寫入 openclaw.json

不要把 Key 放在 .bashrc 里! OpenClaw Gateway 不會讀取 .bashrc(你之前踩過這個坑)。

# 方法一:用 Python 腳本安全寫入(推薦)
python3 << 'PATCH'
import json, shutil
API_KEY = "tvly-你的實際Key"  # ← 替換為你的 Tavily API Key
filepath = "/root/.openclaw/openclaw.json"
# 備份
shutil.copy2(filepath, filepath + ".bak.pre-tavily")
print(f"已備份到 {filepath}.bak.pre-tavily")
with open(filepath, "r", encoding="utf-8") as f:
    config = json.load(f)
if "env" not in config:
    config["env"] = {}
if "TAVILY_API_KEY" in config["env"]:
    print("TAVILY_API_KEY 已存在,跳過")
else:
    config["env"]["TAVILY_API_KEY"] = API_KEY
    with open(filepath, "w", encoding="utf-8") as f:
        json.dump(config, f, ensure_ascii=False, indent=2)
    print("? 已將 TAVILY_API_KEY 寫入 openclaw.json")
print("\\n當(dāng)前 env 節(jié)的 key 列表:")
for key in config["env"]:
    print(f"  - {key}")
PATCH

5.2 同步配置并重啟 Gateway

# 同步到 systemd(必須!否則新配置不生效)
openclaw gateway install --force
# 重啟 Gateway
openclaw gateway restart
# 等待啟動后驗證
sleep 5
cat /proc/$(pgrep -f openclaw-gateway)/environ | tr '\\0' '\\n' | grep -i tavily | sed 's/=.*/=******/'

應(yīng)輸出:

TAVILY_API_KEY=******

5.3 安全檢查清單

  • [ ] API Key 未硬編碼在任何腳本中
  • [ ] openclaw.json 權(quán)限為 600chmod 600 ~/.openclaw/openclaw.json
  • [ ] .bashrc沒有 TAVILY 相關(guān)明文 Token
  • [ ] MCP URL 中的 Key 只存在于 OpenClaw 內(nèi)部配置

六、配置搜索優(yōu)先級

安裝 Tavily 后,需要告訴 Agent 搜索的優(yōu)先級。

6.1 修改AGENTS.md

以下 Python 腳本一次性完成所有搜索相關(guān)配置的修改:

修改一:替換「搜索工具」段落為完整降級策略

python3 << 'PATCH'
filepath = "/root/.openclaw/workspace/AGENTS.md"
with open(filepath, "r", encoding="utf-8") as f:
    content = f.read()
old_block = """## 搜索工具
- ? 優(yōu)先使用 **SearXNG**(<http://localhost:8080>)進(jìn)行網(wǎng)絡(luò)搜索,免費無限額
- ? 網(wǎng)頁全文閱讀使用 **Jina Reader**(r.jina.ai)
- ? **禁止使用 bocha-web-search**(已棄用,額度有限)
- 搜索失敗時,嘗試使用 Jina Reader 直接讀取目標(biāo)網(wǎng)站
- 搜索結(jié)果要標(biāo)注來源 URL 和時間"""
new_block = """## 搜索工具與降級策略
### 搜索優(yōu)先級
- ? **首選 Tavily**(tavily_search):AI 優(yōu)化的結(jié)構(gòu)化搜索結(jié)果,每月 1000 次免費額度
- ? **備用 SearXNG**(<http://localhost:8080>):免費無限額,Tavily 不可用時自動切換
- ? 網(wǎng)頁全文閱讀使用 **Jina Reader**(r.jina.ai)
- ?? **Bocha**(bocha-web-search):僅在 Tavily 和 SearXNG 都失敗時作為最后手段
- 搜索結(jié)果要標(biāo)注來源 URL 和時間
### 自動降級規(guī)則(重要!必須嚴(yán)格遵守)
1. 搜索時**優(yōu)先調(diào)用 tavily_search**
2. 如果 Tavily 返回錯誤(429 額度耗盡、超時、網(wǎng)絡(luò)錯誤等),**立即改用 SearXNG 重新搜索同一 query**,不要停下來告訴用戶搜索失敗
3. 如果 SearXNG 也失敗,嘗試用 Jina Reader 直接讀取目標(biāo) URL
4. 如果 Bocha 可用且前面的都失敗了,使用 Bocha 作為最后手段
5. **只有所有搜索方式都失敗時,才告知用戶搜索遇到問題**
6. 降級時在回復(fù)末尾簡要注明實際使用的搜索工具(如"數(shù)據(jù)來源:Tavily"或"數(shù)據(jù)來源:SearXNG(Tavily 暫不可用)")"""
if old_block in content:
    content = content.replace(old_block, new_block)
    with open(filepath, "w", encoding="utf-8") as f:
        f.write(content)
    print("? 搜索工具段落已替換(含降級策略)")
else:
    print("? 未找到匹配的舊內(nèi)容,可能已修改過")
PATCH

修改二:更新子 Agent 描述和搜索規(guī)則(3 處)

python3 << 'PATCH2'
filepath = "/root/.openclaw/workspace/AGENTS.md"
with open(filepath, "r", encoding="utf-8") as f:
    content = f.read()
changes = 0
# 修改 researcher 描述
old = "(使用 SearXNG + Jina Reader)"
new = "(優(yōu)先 Tavily,備用 SearXNG + Jina Reader)"
if old in content:
    content = content.replace(old, new)
    changes += 1
# 修改 trader 描述
old = "(使用 TuShare + SearXNG)"
new = "(使用 TuShare + Tavily,備用 SearXNG)"
if old in content:
    content = content.replace(old, new)
    changes += 1
# 修改子 Agent 搜索規(guī)則
old = "- 所有子 Agent 搜索時必須使用 **SearXNG**(<http://localhost:8080>)"
new = "- 所有子 Agent 搜索時優(yōu)先使用 **Tavily**(tavily_search),不可用時降級到 **SearXNG**(<http://localhost:8080>)"
if old in content:
    content = content.replace(old, new)
    changes += 1
with open(filepath, "w", encoding="utf-8") as f:
    f.write(content)
print(f"? 完成 {changes} 處修改")
PATCH2

修改后重啟 Gateway 生效:

openclaw gateway restart

6.2 降級效果驗證

在飛書中測試,Agent 應(yīng)表現(xiàn)為:

  • Tavily 正常時:直接返回結(jié)構(gòu)化結(jié)果,末尾標(biāo)注「數(shù)據(jù)來源:Tavily」
  • Tavily 不可用時:自動切換到 SearXNG,末尾標(biāo)注「數(shù)據(jù)來源:SearXNG(Tavily 暫不可用)」
  • 全部失敗時:才告知用戶搜索遇到問題

6.3 子 Agent 搜索配置建議

子 Agent推薦搜索工具原因
researcherTavily(tavily_search)+ Jina ReaderTavily 搜索 + Jina 深度閱讀,組合使用
coderTavily(tavily_search技術(shù)問題搜索準(zhǔn)確度更高
writerSearXNG + Jina寫作素材可能需要大量搜索,節(jié)省 Tavily 額度
traderTavily + TuShare財經(jīng)新聞用 Tavily,行情數(shù)據(jù)用 TuShare

七、核心問題分析:Tavily 為什么裝了還是不能用?

 ?? 這是本文最重要的一節(jié)。如果你也在國內(nèi)服務(wù)器上用 OpenClaw,很可能會遇到同樣的問題。

7.1 現(xiàn)象

安裝完成后,所有檢查都顯示正常:

  • ? openclaw skills list 顯示 Tavily Skill ? ready
  • ? Tavily API 通過 curl 手動測試完美返回結(jié)果
  • ? search.mjs 腳本在命令行單獨運行正常
  • ? TAVILY_API_KEY 環(huán)境變量已正確加載
  • ? AGENTS.md 已配置 Tavily 優(yōu)先

但在飛書實際測試時,Agent 始終不使用 Tavily,而是顯示「數(shù)據(jù)來源:SearXNG(Tavily 暫不可用)」。

7.2 排查過程

第一步:看 Gateway 日志

tail -100 /tmp/openclaw/openclaw-2026-03-15.log | grep -i "web_search\\|tavily\\|error\\|failed"

發(fā)現(xiàn)關(guān)鍵錯誤:

[tools] web_search failed: fetch failed
[tools] browser failed: timed out

第二步:分析調(diào)用鏈路

通過日志發(fā)現(xiàn),Agent 搜索時調(diào)用的是 web_search 而不是 tavily。這是兩個完全不同的東西:

項目web_search(內(nèi)置工具)tavily(Skill 腳本)
類型OpenClaw 內(nèi)置的搜索工具用戶安裝的 Skill 腳本
后端Brave Search API(硬編碼)Tavily API(用戶配置)
國內(nèi)可用性? 被墻,fetch 失敗? 完全可用
Agent 調(diào)用優(yōu)先級? 最高(內(nèi)置工具優(yōu)先)?? 低(待 Agent 主動選擇)
失敗后降級→ SearXNG Skill不會被調(diào)用

7.3 根因

用戶說“幫我搜一下...”
    ↓
Agent 調(diào)用內(nèi)置 web_search 工具(Brave 后端)
    ↓
Brave Search 在國內(nèi)被墻 → fetch failed
    ↓
Agent 降級到 SearXNG Skill  ? 成功
    ↓
返回結(jié)果,標(biāo)注“數(shù)據(jù)來源:SearXNG(Tavily 暫不可用)”
? Tavily Skill 在整個過程中從未被調(diào)用

Agent 的搜索邏輯是:

  1. 內(nèi)置 web_search → 失?。˙rave 被墻)
  2. SearXNG Skill → 成功(本地 Docker)
  3. ? 返回結(jié)果,不再嘗試其他 Skill

Tavily Skill 雖然已安裝且 ? ready,但 Agent 永遠(yuǎn)不會走到這一步,因為 SearXNG 已經(jīng)成功了。

7.4 嘗試過的修復(fù)方案(均失?。?/h3>
方案做法結(jié)果
配置內(nèi)置搜索的 provideropenclaw.jsontools 節(jié)加入 "web_search": {"provider": "tavily"}? 配置驗證報錯:tools: Unrecognized key: "web_search"。OpenClaw 2026.3.8 的 tools 配置不支持 web_search key
加 apiKey 和 baseUrl"web_search": {"provider": "tavily", "apiKey": "...", "baseUrl": "..."}? 同樣報 Unrecognized key 錯誤
AGENTS.md 中強制指定寫明“優(yōu)先調(diào)用 tavily_search”?? Agent 會讀取該指令,但內(nèi)置 web_search 仍然優(yōu)先級最高
安裝 ClawHub 正式版 Skillopenclaw-tavily-search(描述為 "alternative to Brave")?? 安裝成功且 ? ready,但 Agent 仍然優(yōu)先用內(nèi)置工具
使用 MCP 方式安裝openclaw mcp add? OpenClaw 2026.3.8 不支持 mcp 子命令

7.5 當(dāng)前可行方案

 ? SearXNG 作為搜索主力,實際效果良好。

雖然沒有用上 Tavily,但 SearXNG 的搜索質(zhì)量已經(jīng)足夠日常使用。降級機制完善,検索能力穩(wěn)定。

當(dāng)前狀態(tài):

  • ?? 實際搜索主力:SearXNG(本地 Docker,免費無限次)
  • ?? 網(wǎng)頁閱讀:Jina Reader(云端 API)
  • ?? Tavily API Key:已配置就位,等待 MCP 支持
  • ?? Tavily Skill:已安裝 ? ready,命令行可用,Agent 不會調(diào)用

7.6 未來升級路徑

當(dāng)前(OpenClaw 2026.3.8)          未來(支持 MCP 后)
──────────────────────          ───────────────────────
內(nèi)置 web_search (Brave) ?       openclaw mcp add tavily
SearXNG Skill ? (降級生效)     Tavily 注冊為原生搜索工具
Tavily Skill ? ready 但不被調(diào)用  Agent 直接調(diào)用 tavily_search
                               + tavily_extract / crawl / research

升級時只需一條命令:

openclaw mcp add <https://mcp.tavily.com/mcp?tavilyApiKey=$TAVILY_API_KEY>
openclaw gateway restart

API Key 已經(jīng)配置好了,到時候無縫銜接。

八、驗證測試

7.1 基礎(chǔ)搜索測試

在飛書中向多多助理發(fā)送:

用 Tavily 搜索一下今天的 A 股市場新聞

觀察返回結(jié)果是否為結(jié)構(gòu)化摘要(而非純鏈接列表)。

7.2 對比測試

分別用 Tavily 和 SearXNG 搜索同一內(nèi)容,對比:

用 Tavily 搜索:2026年3月A股市場走勢分析
用 SearXNG 搜索:2026年3月A股市場走勢分析

對比要點:

  • 結(jié)果結(jié)構(gòu)化程度
  • 信息時效性
  • 響應(yīng)速度
  • Agent 理解和總結(jié)的質(zhì)量

7.3 Tavily + Jina 組合測試

測試 Tavily 搜索 + Jina Reader 閱讀的組合效果:

搜索最近一周的半導(dǎo)體行業(yè)動態(tài),找到最相關(guān)的文章后閱讀全文給我總結(jié)

這會先用 tavily_search 找到高質(zhì)量結(jié)果,再用 jina_reader 深度閱讀具體文章。

八、額度監(jiān)控

Tavily 免費額度為 1000 次/月,建議定期檢查用量:

  1. 登錄 app.tavily.com 查看 Dashboard 中的用量統(tǒng)計
  2. 如果日均搜索 > 30 次,可能月底會用完,屆時自動降級到 SearXNG

額度優(yōu)化建議

  • 每日推送腳本a-stock-daily-push.py)繼續(xù)使用 Bocha,不消耗 Tavily 額度
  • 實時對話搜索Tavily,獲得最佳體驗
  • 批量信息收集SearXNG,無額度限制

九、故障排查

常見問題

問題可能原因解決方案
Tavily 搜索無響應(yīng)API Key 未正確加載檢查 openclaw.json 的 env 節(jié)
返回空結(jié)果網(wǎng)絡(luò)問題或 Key 失效curl -s <https://api.tavily.com/search> -H "Content-Type: application/json" -d '{"api_key":"你的Key","query":"test"}' 手動測試
MCP 未連接MCP 配置錯誤openclaw mcp list 檢查狀態(tài)
額度耗盡超出 1000 次/月自動降級到 SearXNG,下月恢復(fù)
Gateway 不識別新 Key未同步配置openclaw gateway install --force && openclaw gateway restart

手動測試 API

# 直接測試 Tavily API 是否可用
curl -s <https://api.tavily.com/search> \\
  -H "Content-Type: application/json" \\
  -d '{
    "api_key": "'$TAVILY_API_KEY'",
    "query": "A股今日行情",
    "max_results": 3
  }' | python3 -m json.tool | head -30

如果返回 JSON 結(jié)果且包含 results 數(shù)組,說明 API 正常工作。

十一、實際搜索架構(gòu)圖(反映真實現(xiàn)狀)

用戶在飛書發(fā)消息:“幫我搜一下...”
    ↓
Agent(kimi-k2.5 / sonnet4.6)分析意圖
    ↓
內(nèi)置 web_search(Brave) ? fetch failed(國內(nèi)被墻)
    ↓ 自動降級
┌──────────────┬──────────────┬──────────────┬──────────────┐
│ SearXNG ?主力 │ Jina Reader  │ TuShare      │ Bocha 應(yīng)急   │
│ 搜索兜底       │ 網(wǎng)頁閱讀     │ 股票/行情    │ 最后手段     │
│ Docker 本地   │ 云端 API     │ Python API   │ 600+次余額  │
├──────────────┼──────────────┼──────────────┼──────────────┤
│ localhost    │ r.jina.ai    │ api.waditu   │ api.bocha    │
│ :8080/search │              │ .com         │ .ai          │
├──────────────┼──────────────┼──────────────┼──────────────┤
│ 免費無限次   │ Markdown     │ 股票數(shù)據(jù)      │ 有限額度      │
│ 質(zhì)量良好      │ 需指定 URL   │ 需指定代碼    │ 僅應(yīng)急使用    │
└──────────────┴──────────────┴──────────────┴──────────────┘
    ↓
Agent 整理信息,回復(fù)用戶
? Tavily Skill 已安裝且 API Key 已配置,但因內(nèi)置工具優(yōu)先級問題未被 Agent 調(diào)用
? 等 OpenClaw 支持 MCP 后可一鍵升級
定時推送(crontab)獨立通道:
crontab → a-stock-daily-push.py → Bocha + 財聯(lián)社 → AI 總結(jié) → 飛書

附錄:踩坑記錄

以下是實際安裝過程中遇到的問題及解決方案,供后續(xù)參考:

序號問題原因解決方案
1openclaw mcp add 報錯 No such file or directoryOpenClaw 2026.3.8 不支持 mcp 子命令,官方文檔和第三方教程針對的是更新版本改用 Skill 安裝方式,放棄 MCP
2npx clawhub@latest install tavily-search 失?。?code>No matching version found for undici@^7.24.0clawhub@0.8.0 依賴的 undici@^7.24.0 在淘寶等國內(nèi) npm 鏡像源上未同步,官方源已有指定官方 registry:npm_config_registry=https://registry.npmjs.org npx clawhub@latest install tavily-search。如仍失敗再手動安裝 Skill
3Node.js 版本過低服務(wù)器預(yù)裝的 Node 版本較老npm install -g n && n lts 升級到 v24
4curl 從 GitHub 下載卡住 / 文件為空國內(nèi)服務(wù)器 raw.githubusercontent.com 被 GFW 屏蔽手動用 cat << 'EOF' 創(chuàng)建文件內(nèi)容
5Tavily API 是否也被墻?不會——GitHub 是被 GFW 針對性屏蔽,Tavily 是商業(yè) API 服務(wù),不在封鎖名單curl -s -o /dev/null -w "%{http_code}" <https://api.tavily.com/search> 驗證,返回 401 即網(wǎng)絡(luò)通
6Gateway 環(huán)境變量中找不到 TAVILY_API_KEY寫入 openclaw.json 后未同步配置openclaw gateway install --force && openclaw gateway restart
7Agent 指定用 Tavily 搜索但仍用 SearXNGAGENTS.md 中明確寫死了「優(yōu)先使用 SearXNG」修改 AGENTS.md 搜索工具段落 + 子 Agent 描述(共 4 處)
8bash 語法錯誤:syntax error near unexpected token 'newline'從指南復(fù)制命令時把注釋行的 > 當(dāng)作命令執(zhí)行了注釋行不要以 > 開頭,或分開復(fù)制
9AGENTS.md 中工具名 tavily_search 與 Skill 注冊名 tavily 不匹配SKILL.mdname: tavily,但 AGENTS.md 寫的是 tavily_search,Agent 找不到對應(yīng)工具sed -i 's/tavily_search/tavily/g' ~/.openclaw/workspace/AGENTS.md 統(tǒng)一改為 tavily
10?? 根因:Agent 調(diào)用內(nèi)置 web_search 而非 Skill 腳本Agent 搜索時走的是 OpenClaw 內(nèi)置 web_search 工具(后端為 Brave Search,國內(nèi)被墻),不是 Skill 目錄下的腳本。日志報錯:[tools] web_search failed: fetch failed詳見第七節(jié)「核心問題分析」。當(dāng)前無解,等 MCP 支持后可解決
11tools.web_search 配置驗證報錯嘗試在 openclaw.jsontools 節(jié)加入 "web_search": {"provider": "tavily"},但 OpenClaw 2026.3.8 的 tools 配置不支持 web_search key報錯:tools: Unrecognized key: "web_search"。用 openclaw doctor --fix 或手動刪除該 key 恢復(fù)
12ClawHub 搜索 tavily-search 報 Skill not foundClawHub 上沒有叫 tavily-search 的 Skill,實際名稱是 openclaw-tavily-search先用 npx clawhub@latest search tavily 搜索,再用實際名稱安裝
13gateway install --force && restartstop + start 的區(qū)別改了 openclaw.json 后只 stop + start 不會同步配置到 systemd改了配置必須用 openclaw gateway install --force && openclaw gateway restart,沒改配置可以只 restart

附錄:推薦安裝的 Skill

以下是經(jīng)實測推薦的 Skill,均可通過 npm_config_registry=https://registry.npmjs.org npx clawhub@latest install <skill名> 安裝:

Skill功能安裝建議說明
?? find-skillsSkill 發(fā)現(xiàn)與安裝? 強烈推薦讓 Agent 能自動搜索和安裝新 Skill,相當(dāng)于“應(yīng)用商店”入口
??? weather天氣查詢? 推薦通過 wttr.in 或 Open-Meteo 獲取天氣,無需 API Key,開箱即用
?? summarize內(nèi)容總結(jié)? 推薦快速總結(jié)網(wǎng)頁、文檔、PDF、視頻字幕等,與 Jina Reader 互補
??? skill-vetterSkill 安全審計?? 可選審查新安裝 Skill 的安全性,如果頻繁通過 find-skills 自動安裝則建議開啟
?? self-improving-agent自我優(yōu)化引擎? 暫不推薦會自動修改 AGENTS.md 等配置文件,可能與手動調(diào)優(yōu)的配置沖突。建議等基礎(chǔ)穩(wěn)定后再裝

到此這篇關(guān)于OpenClaw配置Tavily 搜索 Skill 完整指南教程的文章就介紹到這了,更多相關(guān)OpenClaw Tavily 搜索 Skill內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

班玛县| 富民县| 云南省| 柳江县| 淮阳县| 陇西县| 银川市| 恭城| 蒙自县| 雷波县| 寿光市| 巨鹿县| 武山县| 三门县| 绵阳市| 景泰县| 攀枝花市| 上饶县| 青海省| 宜州市| 乌拉特后旗| 龙州县| 城口县| 丹凤县| 镇坪县| 乌拉特后旗| 绥宁县| 永定县| 丰城市| 安吉县| 霍林郭勒市| 灵山县| 宜兴市| 吉木萨尔县| 会同县| 镇赉县| 涿州市| 武平县| 鄂尔多斯市| 托克逊县| 奉化市|