EggSearch 是一个面向 Agent 的搜索聚合 API,统一封装 Tavily、Jina 和 DuckDuckGo 三个搜索通道,并支持 Tavily 双 key 轮询分流。
- FastAPI 统一入口,适合部署到 Vercel 或普通 VPS
- Tavily key1 / key2 自动轮询
- 失败降级:Tavily -> Jina -> DuckDuckGo
/health健康检查接口- 可选 API Key 鉴权
| 变量 | 说明 |
|---|---|
TAVILY_API_KEY |
Tavily 主 key |
TAVILY_API_KEY_2 |
Tavily 备用 key |
API_SECRET_KEY |
可选,请求鉴权 key |
pip install -r requirements.txt
uvicorn main:app --reload返回运行状态和 provider 配置概览。
返回健康检查信息和各 provider 的配置状态。
搜索接口。
请求头可选:
X-API-Key: <API_SECRET_KEY>Authorization: Bearer <API_SECRET_KEY>
返回示例:
{
"query": "openai",
"provider": "tavily",
"result": "[Source: Tavily]..."
}- 保留
main:app作为 ASGI 入口 - 在 Vercel 环境变量中配置
TAVILY_API_KEY、TAVILY_API_KEY_2、API_SECRET_KEY - 确保构建环境可以安装
duckduckgo-search和httpx
- 推荐使用
uvicorn main:app --host 0.0.0.0 --port 8000 - 通过反向代理暴露 HTTPS
- 生产环境建议设置
API_SECRET_KEY
- 如果 Tavily 没有配置,服务会自动降级到 Jina / DuckDuckGo。
- 如果某个 Tavily key 在请求中失败,下一次请求会继续轮询另一个 key。
- 如果所有 provider 都失败,API 会返回对应的 HTTP 错误码,而不是静默返回空结果。