tavily-cli

作者: tavily-ai

透過 Tavily CLI 進行網路搜尋、內容提取、網站爬取與深度研究。五種指令模式涵蓋搜尋、提取、URL 發現、批量爬取及附引用來源的多來源研究。所有指令皆支援 JSON 輸出與檔案儲存,適用於結構化、代理式工作流程。升級模式引導您從簡單搜尋,逐步進展至提取、映射、爬取,乃至依需求進行的全面研究。需安裝 tavily-cli 並透過 tvly login 進行 API 金鑰驗證。

npx skills add https://github.com/tavily-ai/skills --skill tavily-cli

Tavily CLI

Web search, content extraction, site crawling, URL discovery, and deep research. Returns JSON optimized for LLM consumption.

Requires tavily-cli. Search and extract support capped keyless access; map, crawl, and research require authentication.

Run tvly --help or tvly <command> --help for full option details.

Setup

If tvly is not installed:

curl -fsSL https://cli.tavily.com/install.sh | bash

Or manually: uv tool install tavily-cli / pip install tavily-cli

For agent setup, start keyless unless the user asks to sign in or the requested task needs map, crawl, or research. If the installer did not already complete setup, run:

tvly init --skip-auth

This installs or updates the Tavily skills and verifies a live keyless search. Do not look for an API key or authenticate before the first search or extract request.

When authentication is requested or required, use guided setup:

tvly init

# Prefer to open the sign-in link yourself
tvly init --no-browser

tvly init reuses an existing credential, installs or updates the Tavily skills bundled with that CLI release, and verifies a live search. Run tvly update first when refreshing bundled skills. Use tvly init --skip-skills when the skills are already installed and only authentication or verification is needed.

Search and extract can run immediately without authentication, subject to a keyless rate-limit cap. If either command reaches that cap in an interactive session, run tvly login to open browser OAuth, then retry the original command once. In an unattended environment, report the cap and authentication options instead of starting an interactive flow. Map, crawl, and research require authentication. Check the current state only when needed with tvly --status --json.

For authentication without full setup, use tvly login, tvly login --no-browser, tvly login --api-key tvly-YOUR_KEY, or TAVILY_API_KEY.

Browser-based OAuth is the preferred interactive sign-in method. --no-browser simply prints the sign-in link instead of opening it automatically; the flow still returns to a localhost callback on the machine running tvly. In remote sessions, make sure that callback is reachable (SSH may require port forwarding). In an unattended agent or CI environment, leave authentication to the user or use a securely provided TAVILY_API_KEY, then resume the original command.

Keep an existing installation current with tvly update --check and tvly update.

Workflow

Follow this escalation pattern — start simple, escalate when needed:

  1. Search — No specific URL. Find pages, answer questions, discover sources.
  2. Extract — Have a URL. Pull its content directly.
  3. Map — Large site, need to find the right page. Discover URLs first.
  4. Crawl — Need bulk content from an entire site section.
  5. Research — Need comprehensive, multi-source analysis with citations.
NeedCommandWhen
Find pages on a topictvly searchNo specific URL yet
Get a page's contenttvly extractHave a URL
Find URLs within a sitetvly mapNeed to locate a specific subpage
Bulk extract a site sectiontvly crawlNeed many pages (e.g., all /docs/)
Deep research with citationstvly researchNeed multi-source synthesis

For detailed command reference, use the individual skill for each command (e.g., tavily-search, tavily-crawl) or run tvly <command> --help.

Run tvly without a subcommand for the interactive REPL.

Output

Search, extract, crawl, map, and research support --json for structured output. Result-producing commands support -o to save the JSON response; crawl also supports --output-dir for one Markdown file per page. Setup, authentication, status, and update commands expose --json where documented but do not support -o.

tvly search "react hooks" --json -o results.json
tvly extract "https://example.com/docs" -o docs.json
tvly crawl "https://docs.example.com" --output-dir ./docs/

Tips

  • Always quote URLs — shell interprets ? and & as special characters.
  • Use --json for agentic workflows when the selected command exposes it.
  • Read from stdin with - — echo "query" | tvly search -
  • Exit codes: 0 = success, 1 = setup/update failure, 2 = bad input, 3 = auth error, 4 = API or live-verification error.

來自 tavily-ai 的更多技能

research
tavily-ai
針對任何主題進行全面研究,自動收集來源、分析並提供引用。執行多來源網路研究並附上明確引用,適合比較、時事、市場分析及詳細報告。提供三種模型選項:mini 針對單一主題的目標研究(約30秒)、pro 進行全面的多角度分析(約60-120秒),以及 auto 透過 API 驅動的複雜度偵測。透過 Tavily MCP 伺服器以 OAuth 進行驗證,並在...上自動執行基於瀏覽器的登入。
search
tavily-ai
使用LLM優化結果的網路搜尋,具備相關性評分與靈活篩選功能。支援四種搜尋深度模式(極速、快速、基本、進階),可配置延遲與相關性權衡。包含網域篩選、時間範圍限制、日期區間、國家加權及原始內容提取。回傳結果包含標題、網址、內容摘要與相關性評分;可選圖片結果與網站圖示。透過Tavily MCP伺服器或API金鑰配置自動進行OAuth驗證;...
tavily-best-practices
tavily-ai
專為LLM設計的網路搜尋API,具備即時資料存取、內容擷取、網站爬取及AI驅動研究功能。五大核心方法:search()用於搜尋網頁結果、extract()用於擷取URL內容、crawl()用於全站擷取、map()用於URL探索,以及research()用於端到端AI綜合分析。支援Python與JavaScript SDK,提供非同步客戶端以進行平行查詢,並可設定搜尋深度(極速/快速/基本/進階)。Crawl方法接受語意指令,以聚焦於特定內容的擷取...
tavily-crawl
tavily-ai
多頁面網站爬蟲,具備語意過濾與Markdown匯出功能。可透過深度與廣度控制爬取整個網站區塊;依路徑正則表達式、網域或自然語言指令進行過濾,以聚焦結果。透過--output-dir將每個頁面儲存為本機Markdown檔案,或回傳結構化JSON供代理處理。使用語意指令搭配區塊提取,避免將結果餵入LLM時發生上下文膨脹;採用全頁提取進行離線文件下載。支援...
tavily-dynamic-search
tavily-ai
搜尋網路、篩選結果並擷取內容,讓原始搜尋資料絕不進入你的上下文視窗。只有你精心整理的 print() 輸出會回傳。
tavily-extract
tavily-ai
從最多20個URL中提取乾淨的Markdown或純文字,支援JavaScript渲染與查詢聚焦區塊切割。可處理JavaScript渲染頁面,並提供可設定的提取深度(基本模式適用於簡單頁面,進階模式適用於動態SPA與表格)。支援查詢聚焦提取,僅回傳相關內容區塊而非完整頁面。預設回傳經LLM最佳化的Markdown格式,亦可選擇純文字格式與結構化JSON輸出。單次呼叫可處理最多20個URL;...
tavily-research
tavily-ai
全面的AI驅動研究,具備多來源綜合與引用功能。可生成基於網路來源的結構化報告,耗時30-120秒,視模型選擇而定(mini適用於精準查詢,pro適用於複雜比較)。支援多種輸出格式:Markdown報告、自訂架構的JSON,以及可設定的引用格式(數字、MLA、APA、芝加哥)。包含非同步工作流程,可透過--no-wait、status和poll指令進行長時間研究,並支援即時...
tavily-search
tavily-ai
使用LLM優化結果、內容摘要及相關性分數進行網路搜尋。支援四種搜尋深度(極快、快速、基本、進階),可設定最多20筆結果,並提供網域過濾與時間範圍限制。回傳結構化JSON輸出,包含內容摘要、相關性分數及專為LLM設計的元數據。內建新聞與財經主題的專用搜尋模式,可選用AI生成答案及完整頁面內容提取。整合至...