Repolode
sahenjp

sahenjp/RustXNG

用 Rust 编写的自托管网页搜索引擎,无需 API Key,为本地 AI 智能体返回排序结果和网页正文。

可替代:TavilyExa

Star
902
Fork
72
未关闭 Issue
17
最近提交
昨天

这是什么?

RustXNG 是为 AI 智能体设计的自托管网页搜索服务,是 SearXNG 的 Rust 移植版。它聚合多个搜索引擎的结果,并可在一次请求中同时返回排名靠前网页的正文文本,让智能体基于原始来源作答,而不是凭记忆猜测。无需 API Key,也没有按次计费,搜索词在本机处理。

服务提供兼容 SearXNG 的 JSON 接口和浏览器界面。默认并行查询约 180 个引擎,支持单引擎超时、退避暂停,以及对持续无结果的引擎自动休止。排序综合考虑关键词覆盖、站点权威性和标识符匹配,并做去重。对外请求仅限公网地址,作为 SSRF 防护,适合处理来源不可信的 URL。另有可选的实验性本地索引,可抓取自有语料并用 BM25 排序。

项目提供预编译二进制、Cargo 安装、Docker 镜像和源码构建(需 Rust 1.85 及以上)。运维接口包括 /healthz 与 OpenMetrics 格式的 /metrics,并内置响应缓存和图片代理。

核心功能

  • 01无需 Key 的自托管搜索,提供兼容 SearXNG 的 JSON 接口。
  • 02单次请求同时返回排序结果和网页正文,便于基于来源作答。
  • 03并行查询约 180 个引擎,支持单引擎超时与退避暂停。
  • 04对外请求限制为公网地址,防范 SSRF。
  • 05可选的本地索引,可抓取自有语料并用 BM25 排序。
  • 06提供 /healthz、OpenMetrics 指标接口和响应缓存。

适用场景

  • 为本地大模型智能体提供带原文的网页搜索,便于引用来源。
  • 让搜索请求留在内网,不经过第三方 API。
  • 为脚本或其他工具搭建私有元搜索后端。
  • 在公网结果之外,同时检索自有文档语料。

快速上手

  1. 1

    使用 Cargo 安装服务器

    cargo install --git https://github.com/sahenjp/RustXNG.git --tag v0.25.0
  2. 2

    在 127.0.0.1:8888 启动服务器

    rustxng
  3. 3

    执行返回 JSON 的搜索

    curl "http://127.0.0.1:8888/search?q=tokio+runtime&format=json"

使用前须知

  • 由于 Google 的接口已被封锁或需要 JavaScript,本版本无法使用 Google 搜索。
  • 从源码构建需要 Rust 1.85 或更高版本。
  • 许可证为 AGPL-3.0-or-later,因此将修改版作为网络服务运行时,需要向用户提供其源代码。

收录于专题

标签

常见问题

RustXNG 是什么?
用 Rust 编写的自托管网页搜索引擎,无需 API Key,为本地 AI 智能体返回排序结果和网页正文。 RustXNG 是为 AI 智能体设计的自托管网页搜索服务,是 SearXNG 的 Rust 移植版。它聚合多个搜索引擎的结果,并可在一次请求中同时返回排名靠前网页的正文文本,让智能体基于原始来源作答,而不是凭记忆猜测。无需 API Key,也没有按次计费,搜索词在本机处理。
RustXNG 可以免费使用吗?用的什么许可证?
RustXNG 以 AGPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
RustXNG 还在维护吗?
活跃维护中。RustXNG 最近一次提交是在 2026年11月6日。
RustXNG 适合用来做什么?
为本地大模型智能体提供带原文的网页搜索,便于引用来源。 让搜索请求留在内网,不经过第三方 API。 为脚本或其他工具搭建私有元搜索后端。 在公网结果之外,同时检索自有文档语料。
RustXNG 怎么安装和运行?
使用 Cargo 安装服务器: cargo install --git https://github.com/sahenjp/RustXNG.git --tag v0.25.0 在 127.0.0.1:8888 启动服务器: rustxng 执行返回 JSON 的搜索: curl "http://127.0.0.1:8888/search?q=tokio+runtime&format=json"
在哪里获取 RustXNG?
源代码和安装说明在 GitHub 上:https://github.com/sahenjp/RustXNG

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目