Инструменты5 августа 2026 г., 01:46 МСК🤖 Auto

Firecrawl anydoc: Парсер документов на Rust за 4.7 мс

Firecrawl выпустили anydoc — библиотеку на Rust для конвертации 14 форматов документов в Markdown. Среднее время обработки — 4.7 мс, что в сотни раз быстрее аналогов.

Баннер новости 5085

Суть проекта

Команда Firecrawl открыла исходный код библиотеки anydoc, созданной для преобразования офисных документов (Word, PowerPoint, Excel, OpenDocument, RTF, EPUB, CSV, PDF) в чистый Markdown, совместимый с GitHub Flavored Markdown (GFM). Проект написан на чистом Rust, не использует ML-модели для базовой конвертации и не требует внешних сервисов, что обеспечивает максимальную скорость и безопасность обработки данных.

Библиотека поставляется с биндингами для Node.js, Python и Rust, а также доступна как Agent Skill для AI-агентов (Claude Code, Codex, Cursor). Это позволяет агентам автономно читать и обрабатывать любые вложенные файлы, преобразуя их в структурированный текст за доли секунды.

Производительность и бенчмарки

Ключевое преимущество anydoc — скорость. На тестовом стенде (Ryzen 9 9950X3D, 64 GB DDR5-6400) медианное время конвертации одного документа составляет 4.7 мс. Для сравнения, популярные аналоги работают в десятки и сотни раз медленнее, так как часто опираются на тяжелые GUI-интерфейсы (LibreOffice) или сложные пайплайны парсинга.

Качество конвертации оценивалось с помощью LLM-судьи (Claude Sonnet 5), который сравнивал выходные данные с «эталонным» рендером LibreOffice. Оценки проводились по четырем критериям: полнота, структура, форматирование и чистота текста.

Инструмент Форматов Скорость (мс) Общий балл Полнота Структура Форматирование
anydoc 14/14 4.7 80 80 88 78
libreoffice 12/14 1129.5 40 59 43 43
unstructured 8/14 572.9 65 76 62 52
markitdown 6/14 134.8 65 80 67 61
pandoc 5/14 102.1 57 75 57 58
docling 4/14 513.6 57 63 59 57
mammoth 1/14 52.5 85 68 74 55

Технические особенности

  • Единая модель документа: Все форматы парсятся в общую внутреннюю модель (Document), которая затем сериализуется в Markdown. Это гарантирует единообразие обработки таблиц, сносок, заголовков и вложенных списков независимо от исходного файла.
  • Автоопределение формата: Библиотека определяет тип файла по содержимому (магические байты, заголовки PDF/RTF, MIME-типы в ZIP-архивах), а не по расширению. Это предотвращает ошибки при переименованных файлах.
  • Поддержка PDF: Текстовые PDF конвертируются локально через библиотеку pdf-inspector без необходимости в OCR. Для отсканированных страниц Firecrawl предлагает отдельный хостинг API с OCR-моделями.
  • Встраиваемые активы: Изображения и объекты сохраняются как alt-текст в Markdown, а их сырые байты доступны в модели документа с указанием медиа-типа.

Как начать работу

Установка доступна через стандартные менеджеры пакетов. Для использования в CLI-агентах достаточно одной команды:

npx skills add firecrawl/anydoc

Для интеграции в код:

  • Node.js: npm install @firecrawl/anydoc
  • Python: pip install firecrawl-anydoc
  • Rust: cargo add anydoc

Проект особенно полезен для пайплайнов RAG (Retrieval-Augmented Generation), где требуется быстрая и качественная подготовка «грязных» офисных документов к индексации в векторных базах данных.

Источник: Github ↗