Зачем нужен OpenSERP в эпоху LLM
OpenSERP позиционируется не просто как парсер, а как инфраструктурный компонент для AI-агентов и систем RAG (Retrieval-Augmented Generation). В отличие от стандартных Google Search API, которые часто ограничены одним регионом или языком, OpenSERP позволяет получать данные из Yandex и Baidu в едином формате JSON. Это критически важно для проектов, требующих покрытия RU/CN сегмента интернета, где Google не является доминирующим поисковиком.
Ключевые возможности версии 2.1
Разработчики добавили функционал, упрощающий интеграцию с нейросетями и автоматизацией:
- Megasearch: Один запрос к
/mega/searchпараллельно опрашивает все выбранные движки, дедуплицирует результаты и возвращает единый массив. Поддерживаются режимыfast(минимальная задержка),balanced(баланс скорости и полноты) иany(фоллбэк, если один движк недоступен). - Извлечение контента: Параметр
extract=1позволяет не только получить сниппеты, но и сразу получить чистый Markdown-текст целевой страницы. Это готовый «grounding» для LLM без необходимости писать отдельный парсер. - AI-фичи SERP: API возвращает структурированные данные по AI-сводкам, блокам «Люди также спрашивают» (People Also Ask) и связанным запросам.
Технические детали и метрики
Проект написан на Go, что обеспечивает высокую производительность. Ниже приведена сравнительная таблица поддерживаемых источников и форматов ответа:
| Параметр | Значение / Поддержка |
|---|---|
| Поддерживаемые поисковики | Google, Yandex, Baidu, Bing, DuckDuckGo, Ecosia |
| Форматы ответа | JSON, Markdown, Text, NdJSON |
| Скорость запроса (пример) | ~720 мс для мульти-запроса (Bing + Google) |
| Лицензия | MIT (бесплатно для self-hosted) |
| Деплой | Docker, Go binary, Cloud-версия (опционально) |
Интеграция с AI-экосистемой
Для разработчиков AI-агентов подготовлены готовые SDK и расширения:
- MCP Server: Пакет
@openserp/mcpпозволяет подключать OpenSERP к агентам через Model Context Protocol. - SDK: Официальные клиенты для Python (
pip install openserp) и JavaScript/TypeScript (npm install @openserp/sdk). - n8n: Доступен как community-нода для автоматизации в low-code среде.
Как запустить
Проект полностью open-source. Самый быстрый способ запуска — через Docker:
docker run --rm -p 127.0.0.1:7000:7000 karust/openserp:latest serve -a 0.0.0.0 -p 7000
После запуска документация Swagger доступна по адресу http://127.0.0.1:7000/docs. Для тех, кто не хочет администрировать сервер, доступна облачная версия с тем же API-интерфейсом, доходы от которой идут на поддержку open-source разработки.
Источник: Github ↗
