Rsdoctor 2.0 — анализатор сборки Rspack с поддержкой ИИ-агентов

Rsdoctor 2.0 анализирует состав и скорость сборки проектов на Rspack, показывает крупные модули и зависимости, а результаты отдаёт ИИ-агентам через Agent CLI.

Rsdoctor 2.0 — анализатор сборки для проектов на Rspack. Он показывает, из каких модулей и зависимостей складывается итоговый пакет, какие этапы занимают время и где искать причины лишнего кода. Те же данные можно передать ИИ-агенту для анализа через командную строку.

Инструмент помогает разбирать именно процесс сборки и её результат. Он не измеряет скорость уже открытой страницы в браузере и не исправляет приложение автоматически: Rsdoctor делает причины проблем видимыми, а разработчик или агент решает, что менять.

Что можно узнать о сборке

Размер файлов, модулей и зависимостей

Отчёт показывает состав итоговых файлов и вклад отдельных модулей в их размер. В графе зависимостей можно проследить, почему пакет попал в сборку, обнаружить дублирующиеся зависимости и увидеть случаи, когда Tree Shaking не удалил неиспользуемый код. Размер можно сравнивать в исходном, разобранном и сжатом виде.

Время работы загрузчиков и плагинов

Rsdoctor собирает данные о работе этапов компиляции: какие загрузчики и плагины запускались и сколько времени они занимали. В проектах на Rspack дополнительно можно включить анализ разрешения импортов — он помогает найти медленные операции поиска модулей по путям.

Несколько компиляторов в одном отчёте

В Rsdoctor 2.0 результаты нескольких компиляторов объединяются в одном интерфейсе. Это удобно для приложений, где отдельно собираются клиентская и серверная части: их можно переключать в общем отчёте, а дочерние компиляторы плагинов отображаются отдельно.

Анализ сборки с помощью ИИ-агента

Agent CLI вместо MCP-сервера

В версии 2.0 прежний MCP-сервер Rsdoctor удалён. Вместо него разработчики предлагают Agent CLI: он читает файл с данными сборки, выполняет запросы и возвращает агенту структурированный JSON. Агент может найти крупные части пакета, повторяющиеся зависимости, длительные этапы или причины проблем с удалением кода. Дополнительный Rsdoctor Analysis Skill помогает агенту выбирать команды и интерпретировать результаты.

Это не отдельная модель и не автономная оптимизация: Rsdoctor предоставляет данные и команды, а ИИ-агент использует их в рамках подключённой среды разработки. Чтобы сформировать JSON-отчёт, в конфигурации плагина включают краткий режим вывода:

new RsdoctorRspackPlugin({
  output: {
    mode: 'brief',
    options: { type: ['json'] },
  },
});

После сборки агент может, например, запросить список дублирующихся пакетов через команду rsdoctor-agent query packages_duplicates --data-file ./dist/rsdoctor-data.json.

Что изменилось в версии 2.0

Меньше зависимостей и быстрее анализ

По данным команды Rsdoctor, размер установки сократился с 25,5 до 11,1 МБ, а число зависимостей — с 83 до 18. В их сравнительном тесте время анализа уменьшилось с 18,07 до 7,77 секунды по сравнению с Rsdoctor 1.4; пиковое потребление памяти — примерно на 19,7%. В режиме повторной сборки медианное время HMR в том же тестировании снизилось с 6,81 до 3,64 секунды.

Это результаты тестов разработчиков Rsdoctor, а не обещание такого же ускорения в любом проекте: итог зависит от размера приложения, конфигурации и оборудования.

Совместимость и установка

Rsdoctor 2.0 предназначен для Rspack 2

Для версии 2.0 требуются Node.js ^20.19.0 или >=22.12.0 и Rspack 2.0 или новее. Поддержка Webpack и Rspack 1.x удалена. Если проект по-прежнему собирается Webpack, можно остаться на Rsdoctor 1.x или отдельно перейти на Rspack.

Основной пакет версии 2.0 — @rsdoctor/core; он использует ESM. Подключение начинается с установки пакета и добавления плагина в конфигурацию Rspack:

pnpm add -D @rsdoctor/core @rsdoctor/agent-cli
import { RsdoctorRspackPlugin } from '@rsdoctor/core';

Rsdoctor распространяется с открытым исходным кодом по лицензии MIT. Официальные материалы: анонс версии 2.0, руководство по переходу и репозиторий Rsdoctor.