核心用法
search 是一个围绕 Tavily Search API 的轻量级 shell 包装器,专为 LLM 工作流设计。用户通过 --json 参数传递完整的 API 请求体,即可获取经过 NLP 处理、附带相关性评分(score)的结构化搜索结果。
典型调用方式:
./scripts/search.sh --json '{"query": "量子计算最新进展", "search_depth": "advanced", "max_results": 10}'关键特性包括:
- 双模搜索深度:
basic提供快速 NLP 摘要,advanced返回最高精度的内容分块 - 时间切片:支持
day/week/month/year限定结果时效 - 域定向:通过
include_domains/exclude_domains精确控制信源 - 原始内容获取:
include_raw_content可提取完整页面文本(非仅摘要)
显著优点
1. 为 AI 优化的数据结构:返回结果包含 score 置信度、content 预提取文本、url 元数据,可直接注入 RAG 流程
2. 低代码集成:单二进制依赖(curl/jq),无需 Python/Node 环境即可在容器/CI 中运行
3. 成本效益:Tavily 提供免费层级,相比传统搜索引擎 API 更适合高频自动化查询
4. 时效性控制:原生支持按时间范围过滤,弥补大模型知识截止的短板
潜在缺点与局限性
- 第三方依赖:服务可用性完全绑定 Tavily 平台,无离线/降级方案
- 查询长度限制:建议控制在 400 字符以内,复杂问题需手动拆分为子查询
- Shell 环境脆弱:JSON 参数需手动转义,特殊字符处理易出错
- 内容质量参差:
advanced模式虽提升精度,但仍可能返回 SEO 垃圾内容,需人工校验score阈值
适合人群
- AI Agent 开发者:需要为 Agent 接入实时网络搜索能力
- 自动化工作流工程师:在 shell-based CI/CD 或 MCP 服务器中集成轻量搜索
- 研究人员:需批量获取带评分信源的学术/行业动态
常规风险
| 风险项 | 说明 |
|--------|------|
| API 密钥泄露 | `TAVILY_API_KEY` 需存储于环境变量,避免硬编码提交至版本控制 |
| 数据出境 | Tavily 为海外服务,敏感行业需评估合规性 |
| 结果幻觉 | 即使高 `score` 结果也可能包含过时或错误信息,关键决策需交叉验证 |
| 速率限制 | 免费/付费层级均有 QPM 上限,高频调用需实现退避重试 |