- Регистрация
- 22.01.2019
- Сообщения
- 2 112
- Реакции
- 4 604
- Баллы
- 113
Состоялся релиз ZennoPoster 7.9.2!
Главное обновление — у ZennoPoster и ProjectMaker появился публичный HTTP API и комплект MCP-серверов: продуктом теперь можно управлять извне — из своих скриптов и приложений или прямо из AI-ассистента. Второе большое нововведение — агентный режим кубика «ИИ Агент». Также внешнее окно браузера научилось держаться поверх программы, ProjectMaker стал запускаться примерно вдвое быстрее, ускорена работа браузерных потоков.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Весь список изменений 7.9.2
Добавлено:
+ Публичный 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-клиенту. Права ассистента определяются вашим ключом. Серверы принимают подключения только с локальной машины.
Публичные серверы — в репозитории https://github.com/ZennoLab/zennoposter-mcp
Документация (гайд интегратора, интерактивный OpenAPI-контракт, справочник операций, коды ошибок и политика версионирования): https://zennolab.github.io/zennoposter-mcp/ — там же на GitHub лежат релизы 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: полное руководство» в формате markdown. В нем разобраны все четыре способа работать с ИИ — встроенный ИИ-помощник, кубик «ИИ Агент», внешний агент через MCP и PublicApi напрямую: чем они отличаются, что выбрать под задачу, как выпустить API-ключ и настроить права, пошаговое подключение Claude Code, Cursor, VS Code и LM Studio, готовые сценарии запросов, решение типовых проблем и словарь терминов.
Инструкция: https://docs.zennolab.com/zennoposter/Hello/public-api-mcp
Полная документация — гайд интегратора, интерактивный OpenAPI-контракт, справочник операций, коды ошибок и политика версионирования: https://zennolab.github.io/zennoposter-mcp/
Страница установки с готовыми кнопками для Cursor и VS Code: https://zennolab.github.io/zennoposter-mcp/install.html
Релизы MCP-серверов: https://github.com/ZennoLab/zennoposter-mcp/releases
Агентный режим кубика «ИИ Агент»:
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 уже доступен в личном кабинете!
https://account.zennolab.com/personal-area-main/
Также, обновление будет предложено при запуске ProjectMaker.
Спасибо, что вы с нами. Обновляйтесь и делитесь впечатлениями в этой ветке.



