用途:把既有调用竞争对手搜索、抓取或研究 API 的代码迁移为等价的 Tavily 集成,适用于代码中已有 Exa、Firecrawl、Perplexity 或 Parallel 的调用、且希望保留原行为仅替换底层服务的情况。若没有旧代码可迁移,应改用 tavily-best-practices 新建集成。
主要能力与用法:先搜索代码库,定位对手 SDK 的导入、客户端构造及各方法调用点,不要假设 SDK 所有方法都被使用;再按映射表改写导入、客户端构造、方法调用与响应字段访问。Exa:search→client.search(tavily-search,search_depth 为最接近的替代),get_contents→client.extract,search_and_contents→client.search(include_raw_content=True),find_similar 无直接等价。Firecrawl:scrape_url→client.extract,crawl_url→client.crawl,map_url→client.map,markdown/结构化模式对应 extract_depth="advanced" 与 format="markdown"。Perplexity:sonar 研究调用→client.research(model="mini"/"pro"),引用内联标记改为读取 response["sources"] 与 citation_format。Parallel:web-search→client.search,web-extract→client.extract,deep-research→client.research(model="pro"),findall→build-entity-list,data-enrichment→fill-missing-fields,monitor→watch-for-changes,status/result→client.get_research(request_id) 或轮询,memory→past-research-search。
配套步骤:更新依赖文件与 .env/配置/CI 密钥引用,密钥轮换由用户负责,不虚构新密钥值;按 Tavily 异常与响应结构调整错误处理(参见 tavily-best-practices/references/sdk.md);对无等价功能要显式提示用户,不静默删除。若应用依赖原响应结构,可在边界写适配函数内部调 Tavily 返回旧结构,避免全量改写风险。迁移前用真实数据并行测试新旧集成比对输出。
限制:该技能只迁移代码,不处理商业条款,费率与定价需另行确认;Parallel 的 monitor 与 memory 在 Tavily 是编排或本地记录约定,并非托管平台同等体验;Exa 的 find_similar 等无直接替代,不要强行近似。
详见 tavily-best-practices 及 fill-missing-fields、build-entity-list、watch-for-changes、past-research-search 等对应技能。