ExStruct CLI
Пакет Python, CLI и MCP-сервер: книги Excel превращаются в структурированный JSON для LLM, правки идут патчами с пробным запуском
- 203 ★ репозитория
- Последний коммит
- BSD-3-Clause
Расширенный доступ
Почему такой уровень
- `exstruct patch` и `make` записывают изменения в книги Excel, а при `--backend auto` на Windows реальная правка может перейти на Excel COM
- MCP-сервер читает и пишет файлы в рабочей папке `--root`, а выгрузка в JSON сохраняет формулы и содержимое книги целиком
Установка
- Работает в
В терминале, через 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.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыExcel MCP Server (negokaz) — чтение и запись Excel
Excel MCP Server (negokaz)
MCP-сервер читает и пишет книги Excel: значения, формулы, таблицы, форматирование и новые листы; на Windows умеет делать снимок листа
MCP-сервер для создания и правки файлов Excel без установленного Microsoft Office: формулы, форматы, графики, сводные таблицы
office-oxide-mcp — Office и PDF для ИИ-агентов
office-oxide-mcp
MCP-сервер на Rust читает и создает Excel, Word, PowerPoint и PDF локально и заполняет формы PDF с вашего подтверждения
agent-spreadsheet — Excel для ИИ-агентов
agent-spreadsheet
MCP-сервер, CLI и SDK для агентов: правка книг Excel, пересчет формул и подтверждение изменений без автоматизации окна
Скилл и программа docx: агент заполняет формы, правит таблицы и ведет рецензирование Word с отслеживаемыми правками
MCP Word для правки документов docx с рецензированием: вставки и удаления видны в Word, комментарии, сноски, сравнение версий и журнал изменений
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| ExStruct (эта карточка) | нет | 203 | ||
| Excel MCP Server | нет | не нужна | 4 292 | MCP-сервер для создания и правки Excel без Microsoft Office: формулы, форматы, графики, сводные таблицы |
| ExcelMcp | нет | не нужна | 887 | MCP-сервер и CLI для настоящего Microsoft Excel: Power Query, DAX, VBA, сводные таблицы |
Коротко о README
Страница начинается с описания возможностей и режимов выгрузки, затем идут установка с дополнениями, быстрый старт для выгрузки и для редактирования, раздел о скилле и MCP-сервере с таблицей из девяти инструментов. Дальше примеры на Python, настройка поиска таблиц, два демонстрационных примера (таблицы с диаграммой и форма заявления), бенчмарки, оговорки о корпоративном использовании и устройстве проекта.