Web Search SDK — настоящий прорыв для AI-агентов
Почему зависимость от одного поисковика — это боль
Давайте начистоту: подключить веб-поиск к AI-агентам всегда было хлопотнее, чем хотелось бы. Вы недели две собираете идеальный воркфлоу с Tavily — и тут бац, цены изменились, API начал тормозить, а на горизонте появился более интересный вариант. И вот вы уже переписываете интеграцию по всему проекту. Знакомо, правда?
Именно эту проблему и решила команда websearch-sdk. Вместо того чтобы лепить отдельную интеграцию под каждый поисковый сервис, вы получаете единый API, который работает одинаково — что бы там внутри ни крутилось.
Один интерфейс — любой провайдер
Суть изящна до неприличия. Firecrawl, Tavily, Exa, Brave, Serper — вам абсолютно всё равно. Ваш код вызывает одни и те же методы search() и scrape(), а на выходе получаете идентичную структуру данных.
// Меняете провайдера одной строчкой
const provider = createProvider('firecrawl', { apiKey: process.env.FIRECRAWL_KEY });
// или
const provider = createProvider('tavily', { apiKey: process.env.TAVILY_KEY });
// Код агента не трогаете вообще
const results = await provider.search({ query: "последние тренды AI 2025" });
Логика поиска становится по-настоящему переносимой. Захотели попробовать новый сервис — меняете одну фабрику. Нужно мигрировать — правите одну конфигурацию. Вот так должна выглядеть архитектура.
Готовые инструменты для агентов
Для тех, кто строит на Vercel AI SDK, разработчики пошли дальше. Метод web.tools() генерирует полностью готовый ToolSet с web_search и web_scrape — просто отдаёте его модели. Никаких схем, никакой возни с форматированием. SDK берёт на себя всю грязную работу по интеграции, а вы концентрируетесь на логике агента.
Лёгкий, как перышко
Вот что приятно: SDK использует нативный fetch без тяжёлых вендорских библиотек. Бандл остаётся компактным — это критично для edge-функций и окружений с ограниченными ресурсами. Пакет поставляется в двух форматах — ESM и CommonJS — с полной типизацией. Работает в Node 18+, Deno, Bun без танцев с бубном.
Умные инструменты на страже стабильности
Классный штрих: SDK учитывает возможности провайдера. Методы для скрейпинга появятся только если активный провайдер их поддерживает. Никаких рантайм-ошибок при вызове несуществующих функций. Всё предсказуемо и чисто.
Как начать
Элементарно:
npm install websearch-sdk
npm install @websearch/firecrawl-provider
И всё — первый унифицированный запрос можно сделать за пару минут.
В сухом остатке
Ландшафт веб-поиска меняется быстро, особенно с приходом AI-агентов в мейнстрим. Абстракция над провайдерами — это уже не просто удобство, а необходимость для устойчивых приложений. websearch-sdk приносит в веб-поиск те же архитектурные паттерны, которые мы давно используем для баз данных и авторизации. И это хорошо для всех, кто делает AI-продукты.
Стартап ли вы, который двигается быстро, или enterprise с хитрыми сценариями для агентов — такая прослойка даёт свободу экспериментировать с разными провайдерами, не делая ставку на одного вендора. Гибкость, которая масштабируется.