Перейти к основному содержимому

ZennoPoster 7.9.2.0 17.09.2026


ZennoPoster 7.9.2.0 (17.09.2026) — публичный API и MCP

к сведению

Состоялся релиз ZennoPoster 7.9.2!

Главное обновление — у ZennoPoster и ProjectMaker появился публичный HTTP API и комплект MCP-серверов: продуктом теперь можно управлять извне — из своих скриптов и приложений или прямо из AI-ассистента. Второе большое нововведение — агентный режим кубика «ИИ Агент». Также внешнее окно браузера научилось держаться поверх программы, ProjectMaker стал запускаться примерно вдвое быстрее, ускорена работа браузерных потоков.

Добавлено​

Публичный HTTP API и комплект MCP-серверов​

У ZennoPoster и ProjectMaker появился публичный HTTP API и комплект MCP-серверов. Продуктом теперь можно управлять извне — из собственных скриптов и приложений или прямо из AI-ассистента (Claude Code, Cursor и любого другого MCP-клиента): читать и редактировать проекты, ставить задачи на выполнение, управлять браузером.

  • Публичный REST API (PublicAPI) — более 100 операций под единым контрактом: работа с проектом в ProjectMaker (дерево действий, переменные, списки, таблицы, статические данные), управление задачами и сессиями выполнения в ZennoPoster, управление браузерным инстансом (навигация, клики, ввод текста, скриншоты). Контракт описан в OpenAPI — по спецификации можно сгенерировать клиент для любого языка.
  • API-ключи с гибкими правами. Ключи выпускаются в ProjectMaker (Settings → API Keys); для каждого ключа задается набор разрешений (scopes) и максимальный уровень операций (tier) — от строго read-only до полного управления. Ключ показывается один раз при создании; все ошибки авторизации API возвращает в структурированном виде, с указанием, каких именно прав не хватило.
  • MCP-серверы для AI-ассистентов. Три сервера — ProjectMaker (редактирование проекта), Instance (управление браузером), ZennoPoster (задачи и сессии) — публикуются как готовые self-contained сборки: скачали, вписали свой API-ключ, подключили к своему LLM-клиенту. Права ассистента определяются вашим ключом. Серверы принимают подключения только с локальной машины.

Встроенный AI-чат продукта работает на этой же инфраструктуре — та же модель прав и тот же API, никаких скрытых привилегированных каналов.

Публичные серверы — в репозитории ZennoLab/zennoposter-mcp.
Документация (гайд интегратора, интерактивный OpenAPI-контракт, справочник операций, коды ошибок и политика версионирования): zennolab.github.io/zennoposter-mcp — там же на GitHub лежат релизы MCP-серверов.

Инструкция в справке: Публичный API и MCP-серверы.

Инструменты сохранения, загрузки и закрытия проекта ProjectMaker.

  • save_project и open_project возвращают признак свежести файла: fileHash (SHA-256 содержимого .zp на диске, считается после записи), fileSizeBytes, lastWriteTimeUtc. Повторное открытие того же файла дает идентичный хеш — так можно убедиться, что на диске именно то, что ожидалось.
  • get_project_info дополнен флагом hasUnsavedChanges и теми же полями; хеш считается только когда несохраненных правок нет.
  • close_project закрывает открытый проект. По умолчанию проект с несохраненными правками не закрывается: возвращается 409 failed_precondition, чтобы работа не пропала молча. Чтобы закрыть с потерей правок, нужно явно передать discardUnsavedChanges: true.

Улучшены инструменты чтения структуры проекта.

  • get_project_structure отдает граф: узлы (тип, метка, стартовая точка, switch, отключенность, принадлежность к error-ветке, groupId/actionId) и ребра (OnSuccess/OnError/Default/Case-N, включая неявные переходы). Ответ трехуровневый — обзор групп, срез по группе или полный граф, чтобы не раздувать ответ на больших шаблонах.
  • find_path(from, to) — кратчайший маршрут между двумя кубиками.
  • get_action_connections(actionId) — все входящие и исходящие связи и ветки конкретного кубика.

Инструменты MCP ProjectMaker для редактирования схемы и статических блоков проекта — часть из них добавлена по вашим запросам с форума.

  • Свойства действий. set_action_properties читает и меняет флаги «Отключено», «Точка остановки», «Необязательное» и комментарий кубика; get_action_details и get_project_structure их показывают. Отключение кубика капчи, как и в редакторе, отключает и парный кубик.
  • Переименование. rename_action и rename_group задают подпись кубика и группы — имя сразу видно на схеме и в панели свойств, правка отменяется через Ctrl+Z.
  • Раскладка схемы. get_layout отдает координаты и размеры всех групп; set_group_position переносит одну группу, set_layout — сразу несколько, одной перерисовкой и одним шагом отмены. Если группа наложится на другую, запрос отклоняется с перечислением мешающих групп — как при перетаскивании в редакторе. add_action принимает место вставки (координаты новой группы или позицию внутри существующей), copy_group копирует группу в заданную точку схемы.
  • Блок «Директивы using и общий код». get_shared_code и set_shared_code читают и меняют директивы, общий код и путь к файлу общего кода; get_gac_references и set_gac_references — список ссылок из GAC. Правки сразу видны в открытом редакторе блока.
  • Входные настройки проекта. get_input_settings, add_input_settings, update_input_settings, remove_input_settings и reorder_input_settings — чтение, добавление, изменение, удаление и порядок полей формы; remove_input_settings_block удаляет блок входных настроек целиком. Значок входных настроек на панели проекта появляется и исчезает сразу, без переоткрытия проекта.
  • Изображение схемы. get_diagram_image возвращает картинку всей схемы или только видимой части — агент может оценить раскладку после своих правок и показать результат.

Инструменты MCP ZennoPoster для управления задачами.

  • Полный цикл задачи: tasks_create добавляет задачу из файла проекта, который уже лежит на диске (сама по себе задача при этом не запускается), tasks_start и tasks_stop запускают и останавливают ее, tasks_delete удаляет.
  • Настройки выполнения, потоки, число выполнений и расписание читаются и меняются так же, как в интерфейсе ZennoPoster, включая бесконечное выполнение (-1). Изменения сразу видны в открытом окне ZennoPoster.
  • tasks_success_clear и tasks_fails_clear сбрасывают счетчики успешных и неудачных выполнений.

В контекстном меню проекта в ZennoPoster появился пункт «Скопировать GUID» — идентификатор копируется в буфер в том виде, в каком его принимают операции API и MCP, его можно сразу передать агенту.

Агентный режим кубика «ИИ Агент»​

В кубике «ИИ Агент» появился новый режим работы — агентный. В комбобоксе Режим теперь два значения: «Простой запрос» (прежнее поведение, без изменений) и «Автоматический запрос с MCP инструментами». Во втором режиме модель работает циклом «подумать → вызвать инструмент → посмотреть результат» и управляет браузером той задачи, в которой исполняется кубик, а также задачами ZennoPoster.

  • Цикл ограничен обязательным лимитом итераций. При его срабатывании кубик останавливается предсказуемо: частичный текст сохраняется в выходную переменную, выполнение уходит по ветке OnError.
  • Итог агента разбирается по вердикту RESULT: SUCCESS|FAILURE — кубик сам выбирает ветку OnSuccess или OnError.
  • Переменные проекта подставляются в промпт, результат цикла пишется обратно в переменные.
  • Ход решения виден в логе задачи по мере работы: шаги агента, вызовы инструментов и итог — долгий цикл больше не выглядит зависанием.
  • Остановка кубика или задачи прерывает и сам LLM-цикл. Раньше запрос доживал до конца и продолжал расходовать токены.
  • Многопоточность: каждый агент жестко привязан к браузеру своей задачи. Под нагрузкой 10×10 сессии не пересекаются и не могут «залезть» в чужой инстанс — попытка отклоняется сервером.
  • Режим работает одинаково в ProjectMaker и в ZennoPoster.
  • Дефолтный лимит токенов поднят с 400 до 2000, при температуре выше 1.0 в лог пишется предупреждение.

В этом режиме агенту доступны два набора инструментов: браузер той задачи, в которой работает кубик, и управление задачами ZennoPoster (список задач, запуск и остановка, настройки, расписание) — второй подключается, когда ZennoPoster запущен. Подключение собственных MCP-серверов и доступ агента к состоянию проекта запланированы на следующий этап.

Подробное руководство по ИИ в ZennoPoster​

Разобраны все четыре способа работать с ИИ — встроенный ИИ-помощник, кубик «ИИ Агент», внешний агент через MCP и PublicApi напрямую: чем они отличаются, что выбрать под задачу, как выпустить API-ключ и настроить права, пошаговое подключение Claude Code, Cursor, VS Code и LM Studio, готовые сценарии запросов, решение типовых проблем и словарь терминов.

Агентный режим кубика «ИИ Агент»:

MCP-инструменты в работе:

Внешнее окно браузера в ProjectMaker можно держать поверх программы.

  • Тумблер «Поверх всех окон» рядом с «Примагнитить»: окно браузера и DevTools остаются видны поверх ProjectMaker, но фокус не перехватывают — текст, набранный в ProjectMaker, попадает в ProjectMaker. Настройка запоминается.
  • Новый режим размещения: окно браузера встает в ту же область, где раньше отображался встроенный браузер, и следует за ProjectMaker при перемещении, изменении размера и сворачивании.
  • Пока открыт диалог ProjectMaker, браузер временно уступает ему место, чтобы диалог не прятался под окном.

ProjectMaker запускается примерно вдвое быстрее: подготовка кэша настроек действий идет в фоне, пока вы не работаете с интерфейсом.

Ускорена работа браузерных потоков в Chromium и Chromium из ZennoBrowser, особенно при большом количестве потоков. Заодно исправлены методы ожидания загрузки вкладки WaitInteractive и WaitPreComplete: раньше при уже достигнутом состоянии они ждали весь таймаут навигации.

Браузер Chromium обновлен до версии 152.0.7977.83.

Опция «Сортировать переменные проекта по алфавиту» теперь сортирует переменные и в самом окне «Переменные», а не только в списках макросов.

Исправлено​

ИИ-помощник и кубик «ИИ Агент»

  • Кубик «ИИ Агент» с пустым текстом запроса или без переменной для ответа больше не уходит в LLM-вызов: в лог сразу пишется понятная ошибка.
  • ИИ-помощник больше не вставляет несуществующие макросы в кубик If — проекты, собранные ассистентом, отрабатывают ветвление верно.
  • ИИ-помощник видит все ветки кубика «Logic | Switch», а не только Case0 и Default.
  • ИИ-помощник проставляет таймаут HTTP-кубика в секундах, а не в миллисекундах. Заодно исправлены такие же перекосы у «Файл существует», «Проверить директорию» и ZennoDroid-команд.
  • Вручную добавленная модель ИИ удаляется окончательно и не возвращается после смены поставщика или перезапуска программы. У штатных моделей кнопки удаления больше нет, чтобы их нельзя было удалить случайно.

Браузер и инстансы

  • В браузере Chromium и при интеграции с ZennoBrowser на кубиках, добавленных через «Конструктор действий», снова рисуются эскизы элементов — в обоих режимах отображения браузера.
  • Плашка кубика «Ожидание действий пользователя» больше не остается на экране и не переходит на следующий прогон проекта в ZennoPoster.
  • Проекты в браузере CEF больше не подвисают в многопоточном режиме на кубике «Ожидание действий пользователя»: из вкладки «Инстансы» снова можно продолжить выполнение и развернуть окно.
  • Кубик «Остановить инстанс» в ProjectMaker с браузером CEF больше не показывает панель «Произошла ошибка в процессе браузера».
  • Пункт «Скрыть» в контекстном меню вкладки «Инстансы» снова скрывает окно браузера, открытое кубиком «Ожидание действий пользователя».
  • В Chromium и Chromium из ZennoBrowser при высокой загрузке CPU/GPU запуск инстанса больше не зависает с ошибкой «Error occurs when applying profile to instance».
  • В Chromium и Chromium из ZennoBrowser клик по кнопке загрузки файла на некоторых сайтах снова открывает окно выбора файла — как из кубика, так и вручную.
  • Виртуальный курсор во внешнем окне браузера Chromium и Chromium из ZennoBrowser отображается стабильно.

Профили

  • Метод instance.Launch с аргументами запуска применяет аргументы и при работе с профиль-папками Chromium — так же, как кубик запуска инстанса.
  • Окно профиля больше не зависает в бесконечной загрузке после остановки инстанса без браузера.
  • Перегенерация профиля больше не подвешивает ProjectMaker, а запущенный в это время проект в ZennoPoster не падает с ошибкой «Ошибка при подготовке профиля».

ProjectMaker и интерфейс

  • Поле «Данные» в HTTP-кубиках снова растягивается вместе с окном свойств; вводимый текст не уходит под нижний край поля.
  • Свойства кубика «Запустить инстанс» сразу после запуска ProjectMaker открываются без бесконечного индикатора загрузки.
  • При повторном запуске проекта кубик «Проект в проекте» открывает именно тот проект, который в нем указан.
  • Кнопка «Открыть в ZennoPoster» в ProjectMaker добавляет проект в список задач, даже если ZennoPoster перед этим не был запущен.
  • Клавиша Esc закрывает диалоговые окна — например «Тестер регулярных выражений», «Политика контента» и «Настройка меню».
Где скачать?

ZennoPoster 7.9.2.0 уже доступен в личном кабинете!

Также обновление будет предложено при запуске ProjectMaker.

Спасибо, что вы с нами. Обновляйтесь и делитесь впечатлениями.