Как запустить быстрый парсер сайтов для LLM на 14 мегабайтах оперативки

23 авг 2026
661
46
2
2 недели

fastCRW

Когда я в прошлый раз пытался развернуть локальный стек для парсинга сайтов под RAG-пайплайн, скромная VPS быстро запросила пощады. Связка из браузерных движков, очередей задач и тяжелого рантайма моментально съела гигабайты памяти. Если вы тоже пробовали селфхостить популярные решения вроде Firecrawl, то наверняка помните эти системные требования.

Недавно в поле зрения попал проект fastCRW (в репозитории он называется просто crw). Автор переписал привычные функции скрейпинга и краулинга на Rust, уместив все в компактный бинарник.

Что умеет проект

fastCRW задумывался как прямая альтернатива Firecrawl и Tavily. Он забирает веб-страницы по URL и отдает их в виде чистого Markdown, готового для скармливания языковым моделям, либо в структурированном JSON.

Инструмент закрывает четыре основные задачи:

Реклама
  1. Scrape: превращает страницу в Markdown, сырой HTML или скриншот.
  2. Crawl: методично обходит страницы сайта по внутренним ссылкам с учетом robots.txt.
  3. Map: строит карту ссылок ресурса без полной загрузки каждой страницы.
  4. Search: ищет информацию в интернете и сразу выгружает результаты.

fastCRW benchmarks

Судя по бенчмаркам в репозитории, на открытом датасете из тысячи адресов fastCRW показал хорошую скорость загрузки и полноту извлечения данных, при этом в режиме ожидания бинарник потребляет всего около 14 мегабайт оперативной памяти.

Как с этим работать

Попробовать утилиту можно локально без регистрации, либо подключить облачный бекенд с бесплатным тарифом.

Установка в терминале:

curl -fsSL https://fastcrw.com/install | sh

Сразу после этого доступен CLI. Простой вызов вернет распарсенный Markdown прямо в поток вывода:

crw https://example.com

Интеграция в код

Для разработчиков есть готовые библиотеки. Вот так выглядит сбор данных на Python:

from crw import CrwClient

client = CrwClient()
page = client.scrape("https://example.com", formats=["markdown"])

print(page["markdown"])

Для Node.js синтаксис практически такой же:

import { CrwClient } from "crw-sdk";

const client = new CrwClient();
const page = await client.scrape("https://example.com", {
  formats: ["markdown"],
});

console.log(page.markdown);

Подключение к AI-ассистентам через MCP

Отдельный плюс — поддержка Model Context Protocol. Это значит, что утилиту можно быстро подключить как инструмент для Claude Desktop, Cursor или любого другого агента.

Команда для автоматической настройки MCP:

npx -y crw-mcp@latest install

После установки модель получает навык самостоятельного поиска в сети и чтения страниц без костылей с внешними скриптами.

Варианты развертывания и лицензия

У проекта два пути использования. Первый — запуск локального бинарника на собственных серверах под Linux или macOS. Второй путь — облачный API с готовым рендерингом тяжелого JavaScript и поиском.

Важно взглянуть на лицензии, если планируете внедрять инструмент в продакшн. Сам движок и MCP-сервер распространяются под строгой лицензией AGPL-3.0. Клиентские библиотеки для Python и TypeScript открыты под привычной MIT.

Кому пригодится

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

Если вам надоело отдавать половину ресурсов сервера под тяжелые парсеры, попробуйте запустить crw локально — разница в аппетитах к памяти заметна с первых секунд.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.