Инструмент: Офисные документы
Как агент WorkAI читает и редактирует .docx, .xlsx и .pptx точечно, по адресам, не трогая остальной файл, и создаёт новые документы и PDF без сторонних программ.
Агент WorkAI умеет читать и редактировать файлы Word (.docx), Excel (.xlsx, .xlsm) и PowerPoint (.pptx, .pptm), а также собирать PDF из markdown — без установки Python, python-docx, openpyxl или похожих библиотек на вашей машине. Это отдельные инструменты, не универсальный код: агент не пишет скрипт, который открывает файл и что-то в нём меняет, а вызывает готовый инструмент с точным адресом того, что нужно изменить.
Разница важна на практике: скрипт, который «пересобирает» офисный файл, легко теряет то, что не касалось задачи, — картинки, диаграммы, сводные таблицы, форматирование. Инструменты ниже трогают только адресованное место, всё остальное остаётся как было.
Сначала — чтение
read_office_file — открывает файл и возвращает структуру, а не текст целиком:
- в Word — параграфы с id (
p1,p2, …), реальная сетка таблиц (t1.r3.c2, пустые ячейки тоже видны), список всего заполняемого — бланки-прочерки, пустые ячейки, чекбоксы,{{плейсхолдеры}}— с адресом и подписью рядом; - в Excel — имена листов и значения ячеек по адресам вроде
B2; для формул возвращается и сама формула, и последнее посчитанное Excel значение; - в PowerPoint — слайды по порядку, у каждой фигуры свой id (
s2.sh1), тип (текст, картинка, таблица, график, диаграмма) и роль в макете; заметки докладчика читаются тоже.
Результат ограничен по объёму (200 строк на лист, 300 параграфов и 40 слайдов по умолчанию), чтобы большой прайс-лист не съел весь контекст целиком: при обрезке агент видит явный флаг и адрес, с которого продолжить чтение следующим вызовом.
read_office_batch — то же самое, но сразу по нескольким файлам (до 50 за раз) под общий бюджет вывода — например, собрать номер, дату и сумму из двадцати похожих счетов. Файл, для которого бюджет закончился, помечается отдельно и не читается молча как пустой — агент обязан дочитать его следующим вызовом.
Легаси-форматы .doc, .xls, .ppt и файлы с паролем инструменты не открывают.
Word: заполнить форму, изменить текст
edit_docx_document— точечная правка существующего файла по адресам изread_office_file: заполнить бланк-прочерк или пустую ячейку, заменить текст параграфа или ячейки, добавить строку в таблицу, вставить параграф рядом с существующим, удалить параграф или строку, поставить/снять галочку в чекбоксе. За один вызов можно передать сразу несколько таких правок. Результат сохраняется в новый файл — исходный не меняется.fill_docx_template— для шаблонов с{{плейсхолдерами}}(договор, акт, счёт с переменными полями): заполняет их значениями и сохраняет как новый документ. Отсутствие нужного плейсхолдера или незаполненное значение — явная ошибка, не тихая отправка документа со следом{{name}}в тексте.fill_docx_template_batch— тот же шаблон, но сразу для списка людей или объектов: один комплект значений — один готовый файл в папке, исходный шаблон не меняется. Отчёт о том, что не удалось создать и почему, приходит по каждому файлу отдельно — агент не должен докладывать «готово», если часть провалилась.replace_docx_text— точная замена фразы по всему документу, включая колонтитулы, с сохранением в новый файл. Word физически хранит параграф кусками (runs), поэтому обычный текстовый поиск по файлу такую фразу часто не находит — этот инструмент сначала склеивает параграф, потом ищет. Результат отчитывается числом найденных совпадений по каждому правилу замены, а не списком прежних значений: ноль совпадений — сигнал, что фраза не найдена, а не что документ обновился.create_docx_document— собирает новый.docxс нуля из заголовков, параграфов и таблиц, когда шаблона нет вообще. Картинки, колонтитулы и автоматическую нумерацию этот инструмент не поддерживает — обещать их в результате не стоит.
Excel: изменить ячейки или создать таблицу
edit_office_cells— запись значений и формул в существующую книгу по адресам видаB2, включая добавление строк (запись ниже последней заполненной строки — это и есть способ дописать таблицу), до 500 ячеек за один вызов. Формулы, стили, диаграммы, сводные таблицы и остальные листы не трогаются. Ячейку, в которой лежит «мастер» общей (shared) формулы на весь диапазон, инструмент менять отказывается — переписать её значением означало бы молча снести формулу у всего диапазона.create_xlsx_workbook— новая книга из строк данных с опциональными формулами, до 20 листов и 5000 строк на лист.
PowerPoint: заменить текст на слайде
edit_pptx_text — точечная замена текста по адресу из read_office_file: s2.sh1 — вся фигура целиком, s2.sh1.p3 — один параграф внутри неё, s2.sh4.r2.c1 — ячейка таблицы на слайде. Новый текст наследует форматирование того, что заменил. Макет, тема, анимации, картинки, диаграммы и заметки докладчика не меняются. Новые слайды и фигуры этот инструмент не создаёт — только заполняет то, что уже есть в презентации. Фигуру без текста (картинку, график, диаграмму) и автополе вроде номера слайда инструмент явно отклоняет — заменить их текстом означало бы превратить автополе в статичный текст или писать туда, где текста в принципе нет.
PDF без установки конвертеров
export_markdown_to_pdf собирает PDF из markdown-файла или готового текста — без pandoc, wkhtmltopdf и обращений в интернет. Переживают конвертацию заголовки, списки (включая вложенные), таблицы, блоки кода, цитаты, локальные картинки и любой не латинский текст. Не переживают — картинки по внешним ссылкам (они не скачиваются) и всё, что требует JavaScript для отрисовки.
Общее для всех инструментов записи
- Меняется только то, что явно адресовано; всё остальное в файле остаётся как было.
- Запись в существующий файл (Excel, PowerPoint) требует вашего подтверждения — как и другие мутирующие инструменты агента, см. Безопасность агента.
- Инструменты Word, которые создают результат заново (
edit_docx_document,fill_docx_template,fill_docx_template_batch,replace_docx_text,create_docx_document), не перезаписывают исходный файл — путь результата всегда отдельный. - У большинства инструментов записи результат показывает прежнее значение каждого изменённого места — случайную правку можно откатить повторным вызовом с прежними значениями. Исключение —
replace_docx_text: он отчитывается числом совпадений по правилу, без списка прежних значений. - Ни один из этих инструментов не рисует диаграммы, не работает с картинками и не конвертирует форматы — здесь агент честно скажет, что для этого нужен Python-скрипт, а не будет пытаться подменить задачу текстом.
Дальше
- Инструменты агента — обзор — остальные встроенные инструменты.
- Безопасность агента — какие действия требуют подтверждения.