用途:通过 Tavily API 提供网页搜索和 URL 内容提取,返回面向 AI 消费的干净结构化结果,去除 HTML 噪音、Cookie 横幅和分页。适合需要实时信息、新闻或已知 URL 全文的场景。
主要能力:search.mjs 支持查询式搜索,-n 控制结果数(默认 5,最大 20),--deep 为更慢但更全面的深度模式,--topic news 配合 --days N 按最近天数过滤新闻。extract.mjs 从指定 URL 提取正文,剥离导航、广告和样板内容。搜索结果返回 JSON 数组,含 title、url、content、score(0–1 相关度);提取返回含 url 与 raw_content 的对象。
使用方式:两个脚本位于 scripts/,需在环境变量中设置 TAVILY_API_KEY(可在 https://tavily.com 获取)。示例:node {baseDir}/scripts/search.mjs "query";node {baseDir}/scripts/search.mjs "query" -n 10;node {baseDir}/scripts/search.mjs "query" --deep;node {baseDir}/scripts/search.mjs "query" --topic news --days 3;node {baseDir}/scripts/extract.mjs "https://example.com/article"。
适用场景:需要主题最新信息、近 N 天新闻、已知 URL 全文、库文档检索(--deep)、多视角对比(增大 -n)时使用;若资源已知且无需实时查询,可直接读取,跳过 Tavily。
限制:免费层每月 1000 API 积分,每次搜索消耗 1 积分,--deep 消耗更多;结果反映 Tavily 索引,最近数小时内容在 general 模式可能缺失,需用 --topic news;不保证事实准确性,关键结论应回源核实;付费墙文章仅返回公开摘要;PDF、图片和媒体页面提取效果差或无法提取;英文查询效果最佳,其他语言支持但质量不一。常见错误包括未设置 TAVILY_API_KEY、401 无效密钥、429 限流、空结果、超时(--deep 最长约 30 秒)及提取空内容(页面反爬)。