SuperAPI AI 工具集

tavily-extract

写作与研究

查看项目

更新于 10-16 09:37

技能介绍

Tavily Extract Skill

用途

从指定的一个或多个 URL 中提取干净、可读的内容。结果以 markdown 格式文本返回,会剥离导航、广告和模板化冗余内容。该技能支持通过高级模式处理 JavaScript 渲染的页面。

身份验证

在 ~/.openclaw/.env.local 中设置 TAVILY_API_KEY:

TAVILY_API_KEY=tvly-your-api-key-here

何时使用此技能

  • 你已有具体 URL,需要获取其内容(例如来自之前的搜索结果)
  • 阅读已知 URL 的文档页面、博客文章或文章
  • 从 JavaScript 渲染的页面(SPA、React 应用)中提取内容
  • 只获取页面的相关部分(通过 query + chunks_per_source)
  • 先使用 tavily-search 找到 URL,再用此技能获取完整内容

快速开始

提取单个 URL:

curl -s -X POST https://api.tavily.com/extract \
  -H "Authorization: Bearer $TAVILY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "urls": ["https://docs.python.org/3/library/asyncio.html"]
  }'

API 参考

端点:POST https://api.tavily.com/extract

请求字段:

  • urls:数组,必填,要提取的 URL(最多 20 个)
  • query:字符串,默认 null,用于基于相关性的分块的主题查询
  • chunks_per_source:整数,默认 null,每个 URL 的相关块数量(1–5,需要 query)
  • extract_depth:字符串,默认 "basic",可选 basic 或 advanced(用于 JS 渲染页面)
  • format:字符串,默认 "markdown",可选 markdown 或 text
  • include_images:布尔值,默认 false,在结果中包含图片 URL
  • timeout:整数,默认 30,请求超时秒数(1–60)

响应格式:

{
  "results": [
    {
      "url": "https://docs.python.org/3/library/asyncio.html",
      "raw_content": "# asyncio — Asynchronous I/O\n\n..."
    }
  ],
  "failed_results": [],
  "response_time": 2.1
}

示例

一次提取多个 URL:

curl -s -X POST https://api.tavily.com/extract \
  -H "Authorization: Bearer $TAVILY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "urls": [
      "https://docs.anthropic.com/en/docs/about-claude/models",
      "https://docs.anthropic.com/en/api/getting-started"
    ],
    "format": "markdown"
  }'

只提取相关部分(配合 query):

curl -s -X POST https://api.tavily.com/extract \
  -H "Authorization: Bearer $TAVILY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "urls": ["https://react.dev/reference/react/hooks"],
    "query": "useEffect lifecycle cleanup",
    "chunks_per_source": 3
  }'

提取 JavaScript 渲染页面:

curl -s -X POST https://api.tavily.com/extract \
  -H "Authorization: Bearer $TAVILY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "urls": ["https://example-spa.com/docs"],
    "extract_depth": "advanced"
  }'

提示

  • 从 extract_depth: "basic" 开始,仅在内容缺失或不完整时使用 "advanced"
  • 使用 query + chunks_per_source 只获取长页面的相关部分,防止上下文溢出
  • 检查响应中的 failed_results — 某些 URL 可能失败(付费墙、机器人防护)
  • 每次调用最多批量处理 20 个 URL,以尽量减少 API 使用
  • 对于非常大的文档站点,优先使用 tavily-crawl