Пробовали работать с Битриксом через AI-агента? Если ещё нет, то вам будет интересно узнать, как это :-)

Немного предыстории
С CMS Битрикс я работаю давно. Как закончила университет 13 лет назад, так и работаю. Как-то так получилось, что сайты всех компаний, где я работала, были на Битриксе (ха-ха, если учесть, что я 10 лет проработала в партнёре Битрикса :-)). Так что знакомство у меня долгое, опыт большой. Но, признаться честно, не особо глубокий. Я всё-таки всегда была больше маркетологом, а сайты сама дорабатывала, лишь бы решить свои маркетинговые задачи. Поэтому свои модули я не разрабатывала, ошибки в ядре не правила, а ограничивалась переписыванием компонентов в шаблонах. Ну и админкой, разумеется.
Но в прошлом году всё изменилось. Тогда я начала работать с Claude Code и разработала с ним систему для сопоставления номенклатуры. После этого в мои руки попал проект по разработке интернет-магазина строительных материалов. У клиента уже был куплен Битрикс (причём весёлая редакция «Интернет-магазин + CRM» — это коробка, в которой под одной лицензией живут сразу два продукта: CMS 1С-Битрикс: Управление сайтом для витрины и портал Битрикс24 для CRM и заказов). Вместе с ним клиент прикупил шаблон Интека — Kosmos. Всё это, уже размещённое на сервере, отдали мне на адаптацию.

Сразу оговорюсь: дальше по тексту, когда я пишу «Управление сайтом», я имею в виду именно CMS-часть (сам сайт), а когда «Битрикс24» — портальную часть, где живут CRM и заказы. Это разные продукты внутри одной коробки, и путать их не стоит — иначе история с обменом ниже покажется странной.
В целом можно было не париться: воспользоваться визуальным конструктором шаблона, выгрузить номенклатуру клиента и запустить ИМ почти без правок кода (большинство шаблонов на то и рассчитано, а Интек Kosmos — особенно). Но у клиента было другое видение, и перечить я не посмела.
Поэтому мы начали к чертям переписывать шаблон. Да и складскую логику Битрикса заодно. И, как потом всплыло, обмены с 1С тоже писать пришлось.
Если бы я всё это делала сама, у меня ушло бы ужас сколько времени на то, чтобы во всём разобраться, — так далеко я раньше не заглядывала. Обмены не писала. Огромные компоненты на JS (а именно на нём Клод переписал складскую логику в публичной части ИМ) не писала.
Но ещё в самом начале проекта я решила, что буду пробовать использовать Claude Code для работы с Битриксом.
Проблема номер 1: Клод не мог работать на российском сервере
Первое, с чем я столкнулась, — Клод не мог работать прямо на российском сервере. Дело вот в чём: Claude Code, чтобы вообще функционировать, должен достучаться до API Anthropic. А с российского сервера этот адрес недоступен — доступ из России закрыт. На моем компе это, сами понимаете как, работает, а сервер так не умеет. Именно поэтому классическая схема, когда редактор (а вместе с ним и агент) запускается прямо на удалённом сервере, здесь не прокатывает: агент просто не сможет выйти в свой API. Значит, Клод должен крутиться у меня локально — а раз так, ему и файлы нужны локально.
Из-за этого стандартное приложение Remote SSH для VS Code не подходило. Все аналогичные SSH-клиенты тоже. Мне бы отлично подошла методика работы в PhpStorm, где файлы скачиваются на комп, а затем правятся, но платную подписку я купить не удосужилась.
Свой SFTP-клиент за пару часов
Поэтому пришлось искать в VS Code SFTP-приложения. Я перепробовала кучу вариантов — Клод Код мне чего только не рекомендовал. Но не сработало ничего. Расширения либо не поддерживали символические ссылки (ох уж эта архитектура портала и сайта в одном флаконе), либо не тянули такие большие объёмы, как у сайта на Битриксе (о нет, ребят, ядро я не грузила — из папки bitrix только php_interface и шаблон сайта). Короче, ни одно не завелось. Тогда я попробовала смонтировать диск по SSH. Там Клод уже начал мне отвечать в чате. Но… он не мог сделать даже простые действия с файлами — как-то не приспособлен оказался для смонтированного диска.
Следующим вариантом было тупо скачать нужные файлы себе на комп, а затем грузить их руками на сервер. Ну или изменения в них. Работа таким образом показалась мне кошмаром. И тут я подумала: у меня же Клод может написать вообще что угодно! Что я маюсь со стандартными приложухами для SFTP?
Я вполне допускаю, что где-то существует тот самый «правильный» клиент, который решил бы все мои проблемы. Но на его поиск, установку и пробную загрузку я бы потратила больше времени, чем на то, чтобы написать решение под себя. Так что выбор был очевиден.
Короче, через пару часов у меня был вполне работоспособный клиент для VS Code, который по SFTP отправлял и получал файлы с удалённого сервера. А я одной кнопочкой загружала все изменения Клода на сервер! Таким образом, первый шаг по сближению Клода и Битрикса был сделан.

Учим Клода Битриксу
Следующий момент — это знание Клодом Битрикса. Я сразу покидала Клоду ссылки на всю документацию и обучающие материалы по Битриксу и попросила создать навык. Может, это как-то помогло, но не уверена. Короче, что-то Клод знал, где-то допиливал на чистом PHP, JS и прямых запросах к БД. В эти моменты я его тормозила, снова кидала ссылки на документацию и заставляла писать в CLAUDE.md, как надо делать правильно. И знаете, к концу проекта Клод уже неплохо выполнял задачи, и я всё реже его тормозила.

Вместе мы написали функционал по выбору склада отгрузки (пользователь выбирал один склад в начале покупок, а затем мог покупать только с него или поменять склад при обнулении корзины), переписали дизайн шаблона (уф, вот тут намучались! Kosmos явно не был рассчитан на кастомизацию через код…) и — вишенка на торте — написали обмен заказами с 1С!
Обмен заказами с 1С
«Ого! — скажете вы. — А чем кастомный-то не устроил?» А тем, что не было его. Заказы хранились в Битрикс24. Значит, обмен нужно было делать не с CMS, а с порталом. «Ноу проблем, — скажете вы, — ставите коннектор и вперёд!» Можно и так. Но клиент не хотел публиковать вовне свою 1С, плюс, судя по документации, настройка была не шибко простая. Так что я решила писать. Ведь у меня был Клод. А значит, можно всё.
Короче, за вечер Клод мне накатал обмен со стороны Битрикса (ага, сам, но я ему скармливала куски из модулей Битрикса и документацию по обмену). После кучи правок 1С его таки подхватила (со стороны 1С был типовой). Но по ходу пьесы всплыло много «но»: НДС не проставлялся вообще — почему, я не знаю. Наверное, потому что у клиента был НДС 5 %. Хотя 1С была обновлённая и должна была всё принимать. Но нет. Короче, после многих часов борьбы я смирилась и дописала обмен на стороне 1С расширением (да-да, это тоже был Клод, но это дорого мне стоило). Потом ещё дописала, чтобы проставлялся склад из заказа, а не склад по умолчанию. Потом — передачу комментария, документ оплаты, скидку на товар… Короче, и со стороны Битрикса, и со стороны 1С дописок было достаточно. Но всё это были расширения, поэтому база клиента не сильно пострадала.
В целом после проекта я узнала и Битрикс, и 1С, мягко говоря, чуть глубже. Несмотря на все чудеса AI-агента.
Перенос собственного сайта: Клод сам лезет в админку
Следующим моим этапом работы с Битриксом через Claude Code стал перенос моего сайта на Битрикс. Я умудрилась благополучно получить партнёрство Битрикса (сдав нормальное количество тестов). И дабы иметь ещё и NFR CMS, надо было перенести свой личный сайт на Битрикс.
Чем я и занялась. На этом этапе я вконец обнаглела и попросила Клода как-нибудь самому заливать файлы на сервер с сайтом и ещё самому создавать инфоблоки и менять данные в админке (ну ребят, у Битрикса же есть API, почему бы не использовать?). И знаете что? Клод всё это сделал! Я закинула на сервер php-файлик, через который он совершал свои манипуляции, и всё отлично заработало! (За безопасность не переживайте: этот файлик закрыт HTTP Basic Auth на уровне nginx, так что без пароля к нему никто не достучится и ничего через него не сделает.) В итоге за пару дней он перенёс весь мой сайт на Битрикс, создал инфоблоки, шаблон, формы, прописал все настройки. Короче, я в админку залезала уже на финальном этапе, когда настраивала отправку почты. Всё. Раньше я думала, что я важная такая прослойка, которая лазает в админке и всё настраивает, но оказалось — без меня вполне можно обойтись. Хотя, думаю, с ИМ такое бы не прокатило, всё равно пришлось бы полазить. Но как факт!
Правда, с шаблоном я немного намучилась: мне опять пришлось учить Клода работать с Битриксом и рассказывать с помощью документации, как делать шаблоны. Но это всё мелочи. В целом он неплохо справлялся.
К слову свой сайт на Битриксе я так и не запустила. Пока мне значительно удобнее работать с самописным сайтом, админку для которого мне сделал Клод. Там каждое изменение делается им весело быстро и почти без ошибок. С Битриксом же ручной отладки значительно больше. А NFR... Ну вот когда она мне будет позарез нужна - тогда и подумаем ;-)
Итог
Вот такие дела. Может, есть кто давно уже Битрикс с AI-агентами пилит? Как ваши успехи?
