Repolode
sahenjp

sahenjp/RustXNG

Самостоятельно размещаемая поисковая система на Rust без API-ключей: возвращает ранжированные результаты и текст страниц для локальных AI-агентов.

Open source альтернатива:TavilyExa

Звёзды
869
Форки
66
Открытые issues
17
Последний коммит
23 часа назад

Что это?

RustXNG — самостоятельно размещаемый веб-поиск для AI-агентов. Это порт SearXNG на Rust: он собирает результаты из множества поисковых систем и по одному запросу может также вернуть извлечённый текст лучших страниц, чтобы агент отвечал на основе источников, а не полагался на память. API-ключи и плата за запросы не нужны, а поисковые запросы обрабатываются на машине пользователя.

Сервис предоставляет совместимый с SearXNG JSON endpoint и браузерный интерфейс. По умолчанию он параллельно обращается примерно к 180 поисковым системам, используя таймауты для каждой из них, приостанавливая запросы с увеличением интервала после ошибок и автоматически давая передышку тем системам, которые продолжают возвращать пустые результаты. Результаты ранжируются по охвату поисковых терминов, авторитетности сайта и совпадению идентификаторов, а затем дедуплицируются. Исходящие запросы ограничены публичными адресами для защиты от SSRF — это важно, когда URL поступают из недоверенного содержимого. Дополнительно можно включить экспериментальный локальный индекс: он сканирует ваш корпус документов и ранжирует результаты с помощью BM25.

Проект доступен в виде готового бинарного файла, для установки через Cargo, как Docker-образ или в исходном коде, для сборки которого требуется Rust 1.85 или новее. Среди служебных endpoint — /healthz и /metrics в формате OpenMetrics; также предусмотрены кэширование ответов и прокси изображений.

Ключевые возможности

  • 01Поиск без API-ключей на собственном сервере, с JSON API, совместимым с SearXNG.
  • 02Возвращает ранжированные результаты и извлечённый текст страниц одним запросом, чтобы ответы можно было обосновать источниками.
  • 03Параллельно обращается примерно к 180 поисковым системам, используя индивидуальные таймауты и увеличение интервалов после ошибок.
  • 04Для защиты от SSRF ограничивает исходящие запросы публичными адресами.
  • 05Дополнительный локальный индекс сканирует ваш корпус документов и ранжирует результаты с помощью BM25.
  • 06Предоставляет endpoint для проверки состояния и OpenMetrics, а также кэш ответов.

Сценарии использования

  • Предоставить локальному LLM-агенту веб-поиск с текстом источников, на которые он может ссылаться.
  • Хранить поисковые запросы внутри собственной сети, не отправляя их стороннему API.
  • Запустить приватный метапоисковый backend для скриптов и других инструментов.
  • Искать в собственном корпусе документов наряду с результатами из открытого веба.

Быстрый старт

  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.
  • Для сборки из исходного кода требуется Rust версии 1.85 или новее.
  • Лицензия — AGPL-3.0-or-later. Поэтому при запуске изменённой версии в качестве сетевого сервиса необходимо предоставить пользователям её исходный код.

В подборках

Темы

Частые вопросы

Что такое RustXNG?
Самостоятельно размещаемая поисковая система на Rust без API-ключей: возвращает ранжированные результаты и текст страниц для локальных AI-агентов. RustXNG — самостоятельно размещаемый веб-поиск для AI-агентов. Это порт SearXNG на Rust: он собирает результаты из множества поисковых систем и по одному запросу может также вернуть извлечённый текст лучших страниц, чтобы агент отвечал на основе источников, а не полагался на память. API-ключи и плата за запросы не нужны, а поисковые запросы обрабатываются на машине пользователя.
RustXNG можно использовать бесплатно? Какая у него лицензия?
RustXNG распространяется с открытым исходным кодом под лицензией AGPL-3.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
RustXNG всё ещё поддерживается?
Активно поддерживается. Последний коммит в RustXNG — 6 нояб. 2026 г..
Для чего можно использовать RustXNG?
Предоставить локальному LLM-агенту веб-поиск с текстом источников, на которые он может ссылаться. Хранить поисковые запросы внутри собственной сети, не отправляя их стороннему API. Запустить приватный метапоисковый backend для скриптов и других инструментов. Искать в собственном корпусе документов наряду с результатами из открытого веба.
Как установить 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

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Метапоисковик, который можно разместить на своём сервере: он объединяет результаты разных поисковых сервисов, не отслеживая пользователей и не составляя их профили.

39,3 тыс.+262 за неделю3,6 тыс.PythonAGPL-3.0Активно поддерживаетсяОбновлён вчера

Персональный AI-агент для Android с локальным хранением данных, постоянной памятью, автономными задачами по расписанию, самописными мини-приложениями и опциональным лаунчером главного экрана.

122+5 за неделю27PythonAGPL-3.0Обновлён 3 дня назад

Локальные инструменты для веб-поиска, загрузки страниц, обхода сайтов и исследований для AI-агентов через MCP — без API-ключей и платы за запросы.

5,5 тыс.+23 за неделю459TypeScriptOtherАктивно поддерживаетсяОбновлён 23 часа назад

Самостоятельно размещаемая система ответов на базе ИИ: ищет в интернете через SearxNG, указывает источники и работает с локальными LLM через Ollama или облачными провайдерами.

38 тыс.+188 за неделю4,2 тыс.TypeScriptMITОбновлён 2 месяца назад