OfficeCLI — офисный пакет для AI-агентов: Word, Excel, PowerPoint через CLI
📂 Исходный код на GitHubОпенсорсный CLI-инструмент для AI-агентов, позволяющий читать, редактировать и создавать документы .docx, .xlsx и .pptx. Встроенный HTML-рендерер, 350+ Excel-формул с авто-вычислением, рендеринг графиков, MCP-сервер. Единый бинарник, без зависимостей, Apache 2.0.
OfficeCLI — опенсорсный CLI-инструмент, который даёт AI-агентам полный контроль над документами Microsoft Office: Word (.docx), Excel (.xlsx) и PowerPoint (.pptx). Единый бинарник, никаких зависимостей, не требует установки Office. Написан на C#, распространяется под лицензией Apache 2.0. 15 000+ звёзд на GitHub.
Ключевая фича — встроенный HTML-рендерер, который конвертирует документы в HTML и PNG. Это даёт AI-агенту «глаза»: он может не просто манипулировать XML-структурой документа, но и видеть результат, как он выглядит. Цикл «render → look → fix» работает везде — в CI, в Docker, на headless-сервере.
Возможности по форматам
Word (.docx): полная поддержка параграфов, таблиц, стилей, изображений, формул (LaTeX), диаграмм (Mermaid → нативные фигуры), колонтитулов, водяных знаков, закладок, OLE-объектов, рецензирования (tracked changes), TOC, гиперссылок, сносок, контент-контролов (SDT). Поддержка RTL и интернационализации.
Excel (.xlsx): 350+ встроенных формул с авто-вычислением (включая динамические массивы, финансовые и статистические функции), сводные таблицы (pivot tables) одной командой, условное форматирование, графики, спарклайны, слайсеры, именованные диапазоны, валидация данных, автофильтр, импорт CSV.
PowerPoint (.pptx): слайды, фигуры, изображения, таблицы, графики, анимации (15 emphasis + 16 exit), переходы (включая morph), 3D-модели (.glb), формулы (LaTeX), диаграммы (Mermaid), коннекторы, видео/аудио, группы, комментарии, SmartArt, OLE-объекты.
Почему это важно для AI-агентов
- Детерминированный JSON-вывод — каждая команда поддерживает
--json, выходные схемы консистентны. Никакого парсинга stdout или regex. - Путь-ориентированная адресация — каждый элемент имеет стабильный путь (
/slide[1]/shape[2]). Агент перемещается по документу без понимания XML-неймспейсов. - Трёхуровневая архитектура — L1 (read-only views), L2 (DOM-операции), L3 (raw XML/XPath). Агент начинает с чтения, углубляется только когда нужно. Минимизирует расход токенов.
- Самовосстанавливающиеся ошибки — структурированные коды ошибок с подсказками и валидными диапазонами. Агент сам исправляет ошибки без участия человека.
- Встроенная справка —
officecli pptx set shapeпоказывает все доступные свойства и форматы.
Установка и первый запуск
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/iOfficeAI/OfficeCLI/main/install.sh | bash
# Windows (PowerShell)
irm https://raw.githubusercontent.com/iOfficeAI/OfficeCLI/main/install.ps1 | iex
# Или через пакетный менеджер
brew install officecli # macOS / Linux
npm install -g @officecli/officecli # все платформы
Бинарник самоустанавливается: officecli install копирует его в PATH и автоматически обнаруживает AI-инструменты (Claude Code, Cursor, Windsurf, GitHub Copilot), устанавливая skill-файл.
Ключевые команды
| Команда | Описание |
|---|---|
create |
Создать пустой .docx, .xlsx или .pptx |
view |
Просмотр контента (text, outline, html, screenshot, issues) |
get / query |
Чтение элементов (JSON), CSS-like селекторы |
set / add / remove |
Изменение документа |
validate |
Валидация по схеме OpenXML |
merge |
Замена {{key}} в шаблоне на JSON-данные |
dump / batch |
Сериализация документа в replayable JSON и обратно |
watch |
Live preview в браузере с авто-обновлением |
mcp |
Запуск MCP-сервера для AI-инструментов |
Пример: создание презентации
officecli create deck.pptx
officecli add deck.pptx / --type slide --prop title="Q4 Report" --prop background=1A1A2E
officecli add deck.pptx '/slide[1]' --type shape \
--prop text="Revenue grew 25%" --prop x=2cm --prop y=5cm
officecli view deck.pptx html # рендеринг в браузере
officecli watch deck.pptx # live preview на localhost:26315
officecli close deck.pptx
Режимы работы
Resident mode — документ остаётся в памяти между командами, near-zero latency через named pipes:
officecli open report.docx
officecli set report.docx /body/p[1]/r[1] --prop bold=true
officecli set report.docx /body/p[2]/r[1] --prop color=FF0000
officecli close report.docx
Batch mode — пакетное выполнение множества операций:
officecli batch deck.pptx --input updates.json
Интеграция с AI
Встроенный MCP-сервер регистрируется одной командой:
officecli mcp claude # Claude Code
officecli mcp cursor # Cursor
officecli mcp vscode # VS Code / Copilot
Для агентов без MCP достаточно подсунуть skill-файл:
curl -fsSL https://officecli.ai/SKILL.md
SDK для Python и Node.js
Тонкие обёртки с автоматической установкой бинарника:
# pip install officecli-sdk
from officecli import Doc
with Doc("deck.pptx") as d:
d.add("/", type="slide", title="Q4 Report")
print(d.get("/slide[1]"))
// npm install @officecli/sdk
import { Doc } from "@officecli/sdk";
await using d = await Doc.open("deck.pptx");
await d.add("/", { type: "slide", title: "Q4 Report" });
console.log(await d.get("/slide[1]"));
Сравнение с альтернативами
В отличие от python-docx/openpyxl (только Python, без CLI) и LibreOffice (громоздкий UNO API), OfficeCLI предлагает единый бинарник с AI-нативным интерфейсом: JSON-вывод, путь-ориентированную адресацию, встроенный рендерер и MCP-сервер. Единственное решение, спроектированное для AI-агентов, а не для людей.
Итого
OfficeCLI решает конкретную проблему: дать AI-агенту надёжный, предсказуемый контроль над офисными документами без установки Microsoft Office. Для автоматизации отчётов, генерации презентаций из данных, проверки качества документов в CI/CD — это инструмент, который заменяет десятки строк Python одной командой CLI.
Источник: https://github.com/iOfficeAI/OfficeCLI