OfficeCLI — офисный пакет для AI-агентов: Word, Excel, PowerPoint через CLI

· 2 мин чтения
ai-agents cli office automation mcp tools
📂 Исходный код на GitHub

Опенсорсный CLI-инструмент для AI-агентов, позволяющий читать, редактировать и создавать документы .docx, .xlsx и .pptx. Встроенный HTML-рендерер, 350+ Excel-формул с авто-вычислением, рендеринг графиков, MCP-сервер. Единый бинарник, без зависимостей, Apache 2.0.

OfficeCLI — офисный пакет для AI-агентов: Word, Excel, PowerPoint через CLI

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