ExStruct CLI

Пакет Python, CLI и MCP-сервер: книги Excel превращаются в структурированный JSON для LLM, правки идут патчами с пробным запуском

  • 203 ★ репозитория
  • Последний коммит
  • BSD-3-Clause
CLI

Расширенный доступ

Почему такой уровень

  • `exstruct patch` и `make` записывают изменения в книги Excel, а при `--backend auto` на Windows реальная правка может перейти на Excel COM
  • MCP-сервер читает и пишет файлы в рабочей папке `--root`, а выгрузка в JSON сохраняет формулы и содержимое книги целиком
Все причины и проверки

harumiweb/exstruct

Установка

Работает в

В терминале, через SkillFoxx CLI

npx skillfoxx add cli/exstruct

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • `exstruct patch` и `make` записывают изменения в книги Excel, а при `--backend auto` на Windows реальная правка может перейти на Excel COM
  • MCP-сервер читает и пишет файлы в рабочей папке `--root`, а выгрузка в JSON сохраняет формулы и содержимое книги целиком

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

ExStruct читает книги Excel в структурированные данные и применяет к ним правки патчами через общее ядро. Команда `exstruct input.xlsx > output.json` выгружает по листам ячейки, фигуры, диаграммы, SmartArt, кандидаты в таблицы, объединенные ячейки, области печати и формулы (`formulas_map`). Форматы вывода: JSON (по умолчанию компактный, `--pretty` для чтения), YAML и TOON. Режимы выгрузки зависят от среды. `light` разбирает OOXML напрямую и не требует Excel или LibreOffice, `libreoffice` на системах без COM добавляет фигуры, соединители и диаграммы, `standard` и `verbose` используют Excel COM на Windows и дают больше всего деталей, а `verbose` еще выводит гиперссылки. Правка идет по порядку «проверить, посмотреть, применить»: `exstruct validate`, затем `exstruct patch --dry-run` с разбором `PatchResult` и только потом реальный запуск. Команда `exstruct make` создает новую книгу, а `exstruct ops list` и `ops describe` показывают схему операций. Те же операции открывает MCP-сервер `exstruct-mcp` с девятью инструментами для чтения диапазонов и формул, выгрузки, снимков листов, создания и правки книги. В репозитории есть и скилл `exstruct-cli`, который ведет агента по безопасному порядку правки.

Для кого. Аналитикам и инженерам, которые готовят документы Excel для RAG и LLM или поручают агенту править рабочие книги и хотят видеть правку заранее.

Подходит, если

  • Таблицы Excel надо подготовить для RAG: `exstruct input.xlsx --mode light` выдает ячейки, кандидаты в таблицы и области печати без установленного Excel
  • Анкета с объединенными ячейками и фигурами теряет структуру при обычном импорте: ExStruct сохраняет объединения, стрелки и диаграммы, как показывает пример формы в README
  • Агент правит книгу, а результат нужно увидеть заранее: `exstruct patch --dry-run` покажет `PatchResult` с предупреждениями и различиями
  • Токены стоят денег: компактный JSON по умолчанию и отключенные метаданные бэкенда уменьшают объем выгрузки
  • Листы нужны как PDF и PNG: `--pdf --image` делает их при наличии Excel COM

Не подходит, если

  • Нужна обычная правка книги из Python-кода: README сам советует для этого `openpyxl` или `xlwings`
  • Нужен сервис с поддержкой и SLA: автор указывает, что поддержки нет, а корпоративное использование предполагает форк
  • Требуются точные разрывы страниц и PDF листов на Linux или macOS: этим занимается только Excel COM под Windows

Пример запроса к агенту

Выгрузи книгу sales.xlsx через exstruct в JSON, найди таблицы и покажи пробным запуском, как добавить столбец с итогом, не меняя файл

Ограничения

  • Полная выгрузка (фигуры, стрелки, SmartArt, разрывы страниц, PDF и PNG) требует Excel COM, то есть Windows с установленным Excel. На Linux и macOS работает разбор OOXML и, при наличии LibreOffice, приближенный режим.
  • Режим `libreoffice` отвергает `--pdf`, `--image` и `--auto-page-breaks-dir`; режим `light` отвергает `--auto-page-breaks-dir`.
  • Для YAML, TOON, отрисовки и ускорения нужны дополнительные пакеты: `pyyaml`, `python-toon`, `pypdfium2` с `pillow` и `exstruct[fast]`.
  • Бенчмарк точности в репозитории построен пока на 12 случаях.

Как отключить. Удалите пакет командой `pip uninstall exstruct`. MCP-сервер, запущенный через `uvx`, достаточно убрать из конфигурации клиента, а скилл `exstruct-cli` удаляется вместе с папкой в каталоге скиллов.

Частые вопросы

Как установить ExStruct?

Выполните `pip install exstruct`. Дополнения ставятся в квадратных скобках: `exstruct[mcp]` для MCP-сервера, `exstruct[yaml,toon,render,fast]` для форматов, отрисовки и ускорения.

Как подключить MCP-сервер ExStruct?

Запустите `uvx --from 'exstruct[mcp]' exstruct-mcp --root C:\data --log-file C:\logs\exstruct-mcp.log --on-conflict rename`. Параметр `--root` указывает рабочую папку с книгами. Закрепить версию можно записью `exstruct[mcp]==0.4.4`.

Как поставить скилл exstruct-cli?

Командой `npx skills add harumiWeb/exstruct/.agents/skills --skill exstruct-cli`. Если `npx skills` недоступен, положите папку `.agents/skills/exstruct-cli/` в любой каталог, где агент ищет файлы `SKILL.md`.

Работает ли ExStruct без установленного Excel?

Да. Режим `light` читает `.xlsx` и `.xlsm` напрямую по OOXML. При установленном LibreOffice (на Debian и Ubuntu с пакетом `python3-uno`) доступен и `--mode libreoffice`.

Как безопасно изменить книгу?

Выполните `exstruct validate`, затем `exstruct patch --dry-run` и разберите `PatchResult`. Укажите `--backend openpyxl`, чтобы пробный и реальный запуск шли одним движком: при `--backend auto` на Windows реальная правка может перейти на COM.

Обсуждение

Вопросов и отзывов пока нет.

MCP-сервер читает и пишет книги Excel: значения, формулы, таблицы, форматирование и новые листы; на Windows умеет делать снимок листа

MCP-серверШирокий доступ1 тыс.Звезды репозитория

MCP-сервер для создания и правки файлов Excel без установленного Microsoft Office: формулы, форматы, графики, сводные таблицы

MCP-серверРасширенный доступ4,3 тыс.Звезды репозитория

MCP-сервер на Rust читает и создает Excel, Word, PowerPoint и PDF локально и заполняет формы PDF с вашего подтверждения

MCP-серверШирокий доступ164Звезды репозитория

MCP-сервер, CLI и SDK для агентов: правка книг Excel, пересчет формул и подтверждение изменений без автоматизации окна

MCP-серверРасширенный доступ64Звезды репозитория

Скилл и программа docx: агент заполняет формы, правит таблицы и ведет рецензирование Word с отслеживаемыми правками

СкиллРасширенный доступ246Звезды репозитория

MCP Word для правки документов docx с рецензированием: вставки и удаления видны в Word, комментарии, сноски, сравнение версий и журнал изменений

MCP-серверШирокий доступ69Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
ExStruct (эта карточка)нет203
Excel MCP Serverнетне нужна4 292MCP-сервер для создания и правки Excel без Microsoft Office: формулы, форматы, графики, сводные таблицы
ExcelMcpнетне нужна887MCP-сервер и CLI для настоящего Microsoft Excel: Power Query, DAX, VBA, сводные таблицы

Коротко о README

Страница начинается с описания возможностей и режимов выгрузки, затем идут установка с дополнениями, быстрый старт для выгрузки и для редактирования, раздел о скилле и MCP-сервере с таблицей из девяти инструментов. Дальше примеры на Python, настройка поиска таблиц, два демонстрационных примера (таблицы с диаграммой и форма заявления), бенчмарки, оговорки о корпоративном использовании и устройстве проекта.

Бейдж для README

Сообщить о проблеме