桃子桃子快讯
←返回首页
工具

开源 Tavily 替代 Sifthound:自托管的 AI 智能体搜索 API

Sifthound 是可自托管的开源 Web 搜索与抽取 API,兼容 Tavily 接口,支持 SearXNG 检索、…

2026.09.25 · 周五约 5 分钟阅读

Sifthound 是一款面向 AI 智能体与大模型应用的开源、可自托管 Web 搜索与抽取 API,定位为 Tavily 的替代品。它完整复现了 Tavily 的核心接口形态,无需任何搜索 API Key,即可在自有服务器上为 LLM 应用提供联网检索与网页抽取能力。项目遵循 MIT 协议,已在 Hacker News 上以 Show HN 形式首发。

核心能力与接口

Sifthound 提供与 Tavily 一致的四类端点,可直接作为 drop-in 替代品使用:

  • /search:通过 SearXNG 元搜索实例进行网页检索,无需任何搜索 API Key。
  • /extract:使用 trafilatura 从网页中抽取干净的 Markdown 或纯文本。
  • /crawl 与 /map:支持按深度、广度、数量与正则路径/域名过滤进行站点爬取与站点地图生成。
  • 排序策略:默认采用 BM25 相关性,与上游 SearXNG 引擎的排序结果混合;高级深度(advanced)模式下会对每个结果页进一步抓取并返回最相关的片段。
  • 可选答案生成:当请求中带上 include_answer 时,会调用 Claude 基于检索结果生成简短回答。

与 Tavily 生态兼容

项目明确以「不改一行业务代码」为目标。Tavily 官方 Python SDK(tavily-python 0.8.4,已实测 search、extract、crawl、map 的同步与异步接口)以及 langchain-tavily 0.2.18,只需把 base URL 指向本地 Sifthound 实例即可工作。MCP 方面,Sifthound 同时提供 Streamable HTTP(/mcp)和 stdio 两种接入方式,可被 Claude Code、Claude Desktop、Cursor 等 MCP 客户端直接调用,对应的四个只读工具分别为 sifthound_search、sifthound_extract、sifthound_crawl、sifthound_map。

部署方式

Sifthound 提供三种部署路径,覆盖从零配置到生产环境:

  • Docker Compose(含 SearXNG):一键拉起完整栈,包含 SearXNG 与 Sifthound,适合需要完整搜索能力的本地或私有云部署。
  • Docker 镜像(不含 SearXNG):仅运行 Sifthound 自身服务,自带 /extract、/crawl、/map;若需要 /search,需通过环境变量 SEARXNG_URL 指向一个启用 JSON 格式的 SearXNG 实例。镜像同时发布 linux/amd64 与 linux/arm64 版本。
  • pip 安装:通过 pip install sifthound 安装后直接命令行启动,配置来自环境变量或 .env 文件。

与同类工具的取舍

Sifthound 在 README 中给出了一张四列对比表,从许可证、自托管、Tavily 兼容性、检索来源、JS 渲染、MCP 支持与实现语言等维度与 Tavily、Firecrawl、crw 并列比较。Sifthound 的差异化点在于:MIT 协议 + 可自托管 + 完全兼容 Tavily API;代价是不支持 JS 渲染、相关性排序使用 BM25 而非神经重排、且没有托管服务。官方建议的选型逻辑是:不想运维基础设施或需要神经重排的用户继续使用托管版 Tavily;需要 JS 渲染或更完整爬虫平台的用户考虑 Firecrawl 或 crw;希望把 Tavily API 跑在自己服务器上、并接受 MIT 许可的团队则适合 Sifthound。

安全与已知差异

安全方面,Sifthound 默认阻止对私有和内网地址的请求,包括经由重定向与 DNS rebinding 的绕过路径;HTTP MCP 端点仅对 localhost 放行,需将本机域名加入 MCP_ALLOWED_HOSTS 才可外部访问。功能差异方面,crawl/map 的 instructions 参数以及 search 的 include_image_descriptions 参数被接受但暂未实现,Tavily 的 /research 端点也不在覆盖范围内,迁移时需要留意。

信源