mcpField
T
tavily-web-search

tavily-web-search

github.com/alphaonedev生产力224 次安装
代码仓库

关于 tavily-web-search

tavily-web-search 是供 AI Agent 使用的网页搜索技能,通过 Tavily API 获取实时网络信息并综合搜索结果。它支持限定域名和调整结果数量,适合需要简洁研究或事实核查的场景。

主要功能

  1. 01搜索实时网页信息
  2. 02综合搜索结果并生成回答
  3. 03按域名包含或排除结果
  4. 04通过 `max_results` 控制结果数量
  5. 05使用 API 密钥进行认证

适用场景

  1. 01查询近期新闻与动态
  2. 02核实事实并限定信息来源
  3. 03收集研究资料并汇总趋势

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill tavily-web-search

安装后在 Claude Code 中输入/tavily-web-search确认已加载。

详细介绍

tavily-web-search

用途

此技能可让 AI Agent 使用 Tavily(一个针对 AI 工作流优化的服务)执行网页搜索。它会综合搜索结果生成答案、应用域名筛选条件并控制搜索深度,从而提供相关且简洁的信息,避免给 Agent 带来过多信息。

适用场景

当你需要实时网页数据时,例如获取最新新闻、核实事实或收集研究资料,可使用此技能。在标准搜索引擎返回的内容过于冗长时也可使用,例如综合回答用户查询、将结果筛选至特定域名(如 .edu 网站),或限制搜索深度以快速响应。对于内部数据访问,或离线来源已足够的情况,请勿使用此技能。

主要功能

  • 答案综合:自动将搜索结果总结为连贯的答复;通过 search_depth 参数指定搜索深度(例如,0 表示浅层,5 表示深入)。
  • 域名筛选:使用 include_domains 标志将搜索范围限制在指定域名(如 "example.com");例如:include_domains=["wikipedia.org"]。
  • 深度控制:使用 max_results(1-10)设置搜索深度,以控制结果数量;值越大,详情越丰富,但成本也越高。
  • 针对 AI 优化:通过 API 与 AI Agent 集成,并支持使用 "search" 和 "ai" 等标签嵌入元数据。
  • 可配置查询:支持用于自定义的查询参数,例如 query 字符串和用于身份验证的 api_key。

使用模式

始终通过环境变量 $TAVILY_API_KEY 使用 API 密钥进行初始化。对于基本搜索,构造查询对象并调用 API 端点。在循环中使用此技能进行迭代优化,例如根据初始结果优化查询。使用模式:设置身份验证、构建带筛选条件的查询、执行搜索,然后解析并综合响应。对于 Agent 工作流,将其作为子工具集成到多步骤流程中,并确保在调用之间检查错误。

常用命令/API

Tavily 使用 REST API 端点:https://api.tavily.com/search。身份验证需要在环境中设置 $TAVILY_API_KEY。

CLI curl 命令示例:

curl -H "Content-Type: application/json" \
     -H "X-Api-Key: $TAVILY_API_KEY" \
     https://api.tavily.com/search -d '{"query": "latest AI news", "max_results": 3}'

Python API 调用代码片段:

import requests
api_key = os.environ.get('TAVILY_API_KEY')
response = requests.post('https://api.tavily.com/search', headers={'X-Api-Key': api_key}, json={'query': 'climate change effects', 'include_domains': ['nytimes.com']})
results = response.json()['results']

常用标志/参数:

  • query:字符串,必填;例如,"OpenAI updates"。
  • max_results:整数(1-10);控制搜索深度,例如,5 表示结果数量适中。
  • include_domains:字符串数组;例如,["bbc.com", "cnn.com"],用于限定新闻网站。
  • exclude_domains:数组;例如,["socialmedia.com"],用于排除特定网站。

集成说明

要进行集成,请先从 Tavily 控制台获取 API 密钥,并将其设置为 $TAVILY_API_KEY。在代码中,导入必要的库(例如 Python 中的 requests),并以 JSON 格式处理 API 响应。对于 OpenClaw Agent,可在 Agent 配置中引用 ID "tavily-web-search" 将此技能添加到工具集,例如:tools: ["tavily-web-search"]。YAML 配置格式示例:

tools:
  - id: tavily-web-search
    config:
      api_key_env: TAVILY_API_KEY
      default_params:
        max_results: 3

确保 Agent 在调用前检查密钥是否可用;如果缺少密钥,请提示用户。在沙盒环境中测试集成,以验证响应格式。

错误处理

常见错误包括 401(未授权,API 密钥无效)、429(超出速率限制)和 400(请求错误,参数无效)。处理方法:在解析前检查响应状态码;如果为 401,记录 "API key error: Set $TAVILY_API_KEY",并在用户输入后重试。对于 429,实现指数退避(例如,等待 5 秒后重试)。提前验证输入,例如确保 query 不为空。代码中的错误检查示例:

if response.status_code == 401:
    raise ValueError("Authentication failed; ensure $TAVILY_API_KEY is set")
elif response.status_code >= 400:
    print(f"Error: {response.json().get('error')}")

具体使用示例

  1. 事实核查:若要核查近期事件,可这样使用:将 query 设置为 "2023 election results",并设置 include_domains=["reuters.com"] 和 max_results=2。然后综合响应以提取关键信息,例如在代码中:synthesized_answer = summarize_results(results)。
  2. 研究辅助:若要收集 AI 趋势,可构造类似 "advancements in LLMs" 的 query,并设置 search_depth=3。解析结果以筛选日期或来源,然后在 Agent 响应中使用:"根据 Tavily 搜索,主要趋势包括……"。

图关系

  • 相关:搜索工具(例如通过 "search" 标签)
  • 连接方式:社区集群(与其他社区工具共享节点)
  • 链接到:AI Agent(通过用于嵌入的 "ai" 标签)
  • 依赖项:需要外部 API(Tavily);除非另行配置,否则与其他技能没有直接的图边。

评论

支持 Markdown