AI-агент получил собственный браузер — бесплатно и локально

Wigolo — MCP-сервер (Model Context Protocol), который даёт AI-агентам локальный веб-интеллект: поиск, загрузку страниц, краулинг и исследование — без API-ключей, без облака и без платы за запрос. Проект вышел в публичную бету и уже доступен как npm-пакет. Это редкий случай, когда альтернатива платным сервисам выглядит не как компромисс, а как полноценная замена.


Что такое Wigolo и зачем он нужен

Wigolo запускается на вашей машине как MCP-сервер и даёт AI-агенту единую поверхность для всего, что связано с вебом: поиск, загрузка страниц, краулинг, извлечение данных, кэш, поиск похожего, исследование и автономные циклы сбора данных.

Базовые инструменты не требуют API-ключей, все данные остаются в ~/.wigolo/, и нет счёта, который растёт с тем, насколько активно думает агент.

ℹ Совместимость
Wigolo работает с Claude Code, Cursor, Codex, Gemini CLI, VS Code, Windsurf, Zed и Antigravity, а также с LangChain, CrewAI, LlamaIndex, Vercel AI SDK, n8n и любым MCP-клиентом.

Быстрый старт: одна команда

Для работы нужен Node.js версии 20 и выше, около 1,5 ГБ свободного места. Поддерживаются macOS, Linux и Windows.

Одна команда устанавливает локальный движок — поиск, браузер и модели на устройстве — и автоматически подключает его к агенту:

npx wigolo init --agents=claude-code
# или несколько агентов через запятую:
npx wigolo init --agents=cursor,vscode,codex
💡 Проверка здоровья
После установки запустите npx wigolo doctor — это быстрая проверка всех компонентов без сетевых запросов.

Для Docker-окружений доступен готовый образ:

docker run -i --rm -v wigolo-data:/data ghcr.io/knockoutez/wigolo

Флаг -i держит stdin открытым для MCP-протокола, а volume сохраняет локальный кэш и модели между запусками.


Что умеет Wigolo: 10 инструментов

ИнструментЧто делает
🔎 searchМультидвижковый поиск (18 адаптеров), ML-ранжирование, параллельные запросы
📄 fetchЗагрузка URL с авто-эскалацией: HTTP → headless-браузер при SPA или антибот-защите
🕸️ crawlМногостраничный обход: BFS, DFS, sitemap. Соблюдает robots.txt и rate limits
🧩 extractСтруктурированные данные: таблицы, JSON-LD, метаданные, кастомные JSON Schema
💾 cacheПоиск по всему уже просмотренному: по ключевому слову или семантически, офлайн
🧲 find_similarСтраницы, похожие на URL или концепцию (3-way fusion)
🧠 researchДекомпозиция вопроса → параллельные подзапросы → синтез отчёта с цитатами
🤖 agentАвтономный цикл: план → поиск → fetch → extract → синтез с бюджетом по времени
🔁 diffЧто изменилось на странице с последнего визита
⏱️ watchМониторинг URL с доставкой изменений в webhook
📝 Пример вызова из терминала

Wigolo работает не только через MCP — каждый инструмент доступен напрямую из консоли:

wigolo search "PostgreSQL logical replication" --json
wigolo shell  # интерактивный REPL с NDJSON-пайпингом

Как агент получает результаты

Wigolo не возвращает просто ссылки — он даёт агенту доказательства. Каждый результат поиска содержит дословный отрывок с точным байтовым положением в источнике, citation ID для цитирования и оценку достоверности:

{
  "results": [{
    "title": "Logical replication - PostgreSQL docs",
    "url": "https://www.postgresql.org/docs/current/logical-replication.html",
    "excerpt": "Logical replication is a method of replicating data objects…",
    "citation_id": "src-1",
    "source_span": { "start": 1042, "end": 1305 },
    "evidence_score": {
      "final": 0.86,
      "semantic": 0.91,
      "lexical": 0.78,
      "engine_consensus": 3
    }
  }],
  "freshness_signal": {
    "published": "2026-05-12",
    "confidence": "high"
  }
}

Слабые результаты помечаются как «мусор» внутренним скорером, сбойные движки — репортируются, устаревший кэш — маркируется. Агент всегда знает, на чём стоит.


Архитектура: как это работает внутри


flowchart TD
    A["🤖 AI-агент\nMCP-клиент"] -->|MCP over stdio| B["wigolo\n10 инструментов"]
    B --> C{Слой инструментов}
    C --> D["search · fetch · crawl · extract"]
    C --> E["cache · find_similar · research · agent"]
    D --> F["Fetch-роутер\nHTTP → TLS → headless browser"]
    D --> G["Search\n18 движков → RRF fusion → rerank"]
    E --> H[("SQLite\nURL-кэш · embeddings")]
    F --> I[Веб]
    G --> I

Для повторного интерактивного использования рекомендуется запускать wigolo serve — это держит пул браузеров, embeddings и reranker резидентными между вызовами.


Нужен ли LLM-ключ?

Чтобы оставаться полностью локальным и без ключей, достаточно установить WIGOLO_LLM_PROVIDER=ollama. Gemini рекомендуется, потому что его бесплатный тир более чем достаточен для wigolo.

Инструменты search, fetch, crawl, extract, cache и find_similar работают полностью без ключей. Инструменты research, agent и search format=answer используют LLM для синтеза ответов — здесь рекомендуется бесплатный ключ Gemini.

«Ничего из того, к чему прикасается wigolo, не покидает ~/.wigolo/ — и нет счёта, который растёт с тем, насколько активно думает агент.»


Wigolo vs конкуренты

Tavily и Exa требуют API-ключей и оплаты. WebSearch-MCP самохостится и не требует внешнего ключа, но требует запуска собственного Docker-сервиса краулера. Wigolo идёт дальше: он разворачивается одной командой, работает офлайн и объединяет весь стек в одном инструменте.

ПараметрWigoloTavilyExaFirecrawl
API-ключНе нуженОбязателенОбязателенОпционален
Цена$0/запросот $0.005/запросот $7/1k запросовот $16/5k кредитов
Локальная работа✅ Полностью
Число инструментов102313
Офлайн-кэш
Автономный агент

Цель wigolo — обеспечить веб-поиск и исследование для агентов на уровне платных сервисов, сохраняя открытый, локальный и бесплатный подход.


Контекст: рынок MCP-серверов в 2026 году

В 2026 году экосистема MCP достаточно велика, чтобы production-ready серверы существовали для большинства распространённых категорий инструментов разработчика. Узкое место теперь не сам протокол — а обнаружение нужного инструмента и выбор между сборкой и поиском готового.

⚠ Статус проекта
Wigolo находится в публичной бете. Перед использованием в продакшне проверьте актуальное состояние компонентов через npx wigolo doctor и следите за обновлениями в репозитории.

Wigolo оптимизирован для AI-агентов: поддерживает параллельный fan-out нескольких запросов, прозрачное scoring по каждому результату и бюджет-aware вывод. Это делает его особенно ценным для кодинговых агентов, которые задают вопросы не поодиночке, а сериями.

Исходный код и документация доступны на GitHub.