РелизРазбор · На радарHabr AI→ оригинал

Разработчик научил Claude Code и Codex править бизнес-процессы Битрикс24 через .bpt

Редактировать бизнес-процессы Битрикс24 в дизайнере больно: старая схема разрастается в дерево, а логику приходится вспоминать по блокам. Автор собрал для Claude Code и Codex открытый скилл с Python-скриптами, который читает экспортированный .bpt, ищет нужные узлы и проверяет ссылки. На реальных процессах агент нашёл некорректные URL и проблемы с назначенными сотрудниками. Для коробки есть платный модуль со шлюзом.

AI-обработка оригинала Habr AI; редакция Hamidun News
Разработчик научил Claude Code и Codex править бизнес-процессы Битрикс24 через .bpt
Источник: Habr AI. Коллаж: Hamidun News.
Слушать статью
Паспорт материала и цифры
ПараметрДанные
ПервоисточникHabr AI ↗
Главный редактор
Ключевой факт #1Скилл и скрипты открыты под MIT, модуль для коробки платный
Ключевой факт #2Валидатор ловит битые ссылки, но не смысловые ошибки
Ключевой факт #3Запись идёт с If-Match, но атомарной блокировки в 0.3.1 нет

Бизнес-процесс в Битрикс24 живёт дольше, чем помнят его авторы. Заявку по-прежнему нужно согласовать, ответственного назначить, уведомление отправить. Но схема за годы превращается в дерево, где блоки называются «Условие» и «Уведомление», а чтобы поменять маршрут, надо вспоминать чужие намерения. Нейросети давно разбирают репозитории, а здесь всё делается руками. Автор проекта решил это исправить и дал AI-агентам нормальные инструменты.

Что получает агент

Просьба «исправь бизнес-процесс» ничего не даёт модели: она не знает, как Битрикс хранит шаблон. Скриншот схемы тоже не помогает, на нём не видно свойств блоков, выражений и связей между действиями.

Поэтому в репозитории лежит один скилл: файл с порядком работы, четыре справочника (структура шаблона, выражения, типы действий, шлюз) и Python-скрипты. Они распаковывают файл, показывают дерево, ищут узлы и проверяют ссылки. Экспортированный .bpt — это PHP-сериализация поверх zlib, а не XML и не JSON. Заменить русское название прямо в тексте нельзя: длина строки записана в байтах, и файл сломается. Правка идёт через структуру: загрузили, поменяли свойство, собрали обратно.

Есть два режима. В файловом агент работает с экспортом, а импорт на портал остаётся отдельным шагом, это подходит и для облака, если портал разрешает экспорт и импорт. Во втором режиме платный модуль для коробки даёт шлюз: агент через клиент bpagent.py читает процесс, находит ветку и отправляет правку. MCP здесь не используется, и встроенной модели в модуле нет.

Как выглядит работа

Сначала валидатор запускается на исходном шаблоне, чтобы старые дефекты потом не записали на счёт агента. Затем поиск: по типу узла, по подстроке, например старому домену, и чтение поддерева. Целиком большое дерево клиент по умолчанию не отдаёт, если в нём больше 150 узлов. Хороший приём: поиск и замену лучше разделять, потому что один и тот же домен может стоять в тексте письма, в условии или в исполняемом коде.

На практике агент находил некорректные URL и проблемы с назначенными сотрудниками. Автор честно оговаривается: точных замеров экономии времени нет, процесс с нуля он этим способом не создавал.

Безопасность записи

Чтение возвращает дерево и хэш версии. Запись требует этот хэш в заголовке If-Match, иначе сервер откажет. Перед сохранением шлюз проверяет типы, права и размеры, запускает валидатор и делает снимок. Запись идёт через штатный CBPWorkflowTemplateLoader::update(), без прямого SQL. Ключ доступа можно ограничить правами на чтение, запись, создание и запуск, а также конкретными шаблонами. Менять встроенный PHP (CodeActivity) разрешается отдельным правом templates:write_code, потому что это исполняемый код на сервере портала.

Ограничения

Валидатор проверяет только структуру. Существующая ссылка на существующую константу может быть формально верной и неверной по смыслу. Запись закрыта для NodeWorkflowActivity. В версии 0.3.1 нет атомарной блокировки относительно параллельного сохранения из визуального редактора, поэтому договаривайтесь, кто сейчас правит процесс. Ещё одно: даже при установке Битрикса на своём сервере содержимое шаблонов уходит внешнему агенту и подпадает под условия вашего AI-инструмента. Модуль пока проходит модерацию в Marketplace 1С-Битрикс.

Что делать

Если у вас десятки накопленных процессов, начните с файлового режима на копии экспорта: попросите агента только найти и объяснить, ничего не меняя. Правку после согласования проверяйте в дизайнере и прогоняйте на тестовой сущности. Общий паттерн полезен и за пределами Битрикса: дайте агенту формат, инструменты и порядок «изучить, изменить, проверить», а не просто огромный JSON.

Сюжет

Вопросы и ответы по материалу

Что известно по теме: что получает агент?

Просьба «исправь бизнес-процесс» ничего не даёт модели: она не знает, как Битрикс хранит шаблон. Скриншот схемы тоже не помогает, на нём не видно свойств блоков, выражений и связей между действиями. Поэтому в репозитории лежит один скилл: файл с порядком работы, четыре справочника (структура шаблона, выражения, типы действий, шлюз) и Python-скрипты. Они распаковывают файл, показывают дерево, ищут узлы и проверяют ссылки. Экспортированный .bpt — это PHP-сериализация поверх zlib, а не XML и не JSON.

Что известно по теме: как выглядит работа?

Сначала валидатор запускается на исходном шаблоне, чтобы старые дефекты потом не записали на счёт агента. Затем поиск: по типу узла, по подстроке, например старому домену, и чтение поддерева. Целиком большое дерево клиент по умолчанию не отдаёт, если в нём больше 150 узлов. Хороший приём: поиск и замену лучше разделять, потому что один и тот же домен может стоять в тексте письма, в условии или в исполняемом коде. На практике агент находил некорректные URL и проблемы с назначенными сотрудниками.

Что известно по теме: безопасность записи?

Чтение возвращает дерево и хэш версии. Запись требует этот хэш в заголовке If-Match, иначе сервер откажет. Перед сохранением шлюз проверяет типы, права и размеры, запускает валидатор и делает снимок. Запись идёт через штатный CBPWorkflowTemplateLoader::update(), без прямого SQL. Ключ доступа можно ограничить правами на чтение, запись, создание и запуск, а также конкретными шаблонами.

ЖХ
Жемал Хамидун — CPO Alpina Digital, продакт-менеджер AlpinaGPT. Делает AI-продукты с 2019 года. Hamidun News — pet project, который вырос в production-агрегатор с 6000+ читателей.
✦ Практика · Hamidun Academy

Соберите рабочего ИИ-агента или сервис своими руками без ручного кода

В Академии Жемала Хамидуна (academy.hamidun.com) открыт бесплатный 72-часовой тест-драйв: интерактивные скетч-уроки по Claude Code и Cursor, живой Tech Radar и готовые шаблоны агентов.

Открыть 72ч бесплатный доступ →Интенсив по Вайб-кодингу
Что вы думаете?
Загружаем комментарии…