关于 tavily-web-search
tavily-web-search 是供 AI Agent 使用的网页搜索技能,通过 Tavily API 获取实时网络信息并综合搜索结果。它支持限定域名和调整结果数量,适合需要简洁研究或事实核查的场景。
主要功能
- 01搜索实时网页信息
- 02综合搜索结果并生成回答
- 03按域名包含或排除结果
- 04通过 `max_results` 控制结果数量
- 05使用 API 密钥进行认证
适用场景
- 01查询近期新闻与动态
- 02核实事实并限定信息来源
- 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')}")
具体使用示例
- 事实核查:若要核查近期事件,可这样使用:将 query 设置为 "2023 election results",并设置
include_domains=["reuters.com"]和max_results=2。然后综合响应以提取关键信息,例如在代码中:synthesized_answer = summarize_results(results)。 - 研究辅助:若要收集 AI 趋势,可构造类似 "advancements in LLMs" 的 query,并设置
search_depth=3。解析结果以筛选日期或来源,然后在 Agent 响应中使用:"根据 Tavily 搜索,主要趋势包括……"。
图关系
- 相关:搜索工具(例如通过 "search" 标签)
- 连接方式:社区集群(与其他社区工具共享节点)
- 链接到:AI Agent(通过用于嵌入的 "ai" 标签)
- 依赖项:需要外部 API(Tavily);除非另行配置,否则与其他技能没有直接的图边。