Технические данные
- Опубликовано:
- 04.12.2025
- Версия:
- 1.0.0
- Установлено:
- Менее 50 раз
- Подходящие редакции:
- «Первый сайт», «Старт», «Стандарт», «Малый бизнес», «Бизнес», «Корпоративный портал», «Энтерпрайз», «Интернет-магазин + CRM»
- Адаптивность:
- Да
- Поддержка Композита:
- Да
- Совместимо с Сайты24
- Нет
Пользовательское соглашение
Описание
Модуль создан с целью улучшения качества разработки проектов на Битриксе с использованием AI-агентов.
Модуль реализует MCP сервер в виде набора эндпоинтов, которые используются для связи AI-агента среды разработки непосредственно с сайтом и сервером.
Возможности MCP сервера
Ресурсы:
- Добавляет документацию Bitrix Framework (она же https://docs.1c-bitrix.ru/) в ресурсы MCP сервера, к которым агент может обращаться напрямую
Инструменты:
- Информация об окружении:
- Информация о системе:
- Название операционной системы;
- Имя хоста;
- Имя текущего пользователя;
- Объем диска в байтах;
- Объем свободного места на диске в байтах;
- Название операционной системы;
- Информация о Битрикс:
- Редакция;
- Версия главного модуля;
- Установленные модули;
- Редакция;
- Информация о PHP:
- Версия PHP;
- Подключенные расширения;
- Ограничение по объему доступной оперативной памяти;
- Максимальное время исполнения PHP-скриптов;
- Версия PHP;
- Информация о базе данных:
- Тип базы данных;
- Версия сервера баз данных;
- Хост подключения;
- Имя базы данных;
- Тип базы данных;
- Информация о системе:
- Live API:
- Список доступных функций в модуле;
- Список доступных событий в модуле;
- Поиск функций в модулях по проиндексированной базе;
- Код функции модуля с её описанием PHPDoc;
- Поиск функций через механизм Reflection по всему коду;
- Список доступных функций в модуле;
- Исполнение PHP-кода на сервере;
- Исполнение Shell-команд на сервере;
- Исполнение SQL-запросов на сервере;
- Поиск по документации Bitrix Framework (требует дополнительного подключения сервиса генерации embeddings):
- Нормализует markdown-файлы документации Bitrix Framework перед индексированием;
- Индексирует markdown-файлы документации Bitrix Framework в формате embeddings для поиска по смыслу, а не по вхождению;
- Производит векторный поиск по документации Bitrix Framework по запросу от AI-агента.
- Нормализует markdown-файлы документации Bitrix Framework перед индексированием;
Доступ AI-агентов к модулю реализован с помощью JWT-токенов с возможностью указания времени жизни и прав токена на отдельные эндпоинты. Доступно удаление идентификаторов токенов со страницы настроек модуля, чтобы заблокировать доступ по ранее выпущенному токену.
Есть возможность ограничить доступ к настройкам модуля определенным группам пользователей.
Доступно логирование запросов/ответов к внешнему API модуля.
Токены с правами на исполнение PHP/Shell/SQL кода рекомендуется использовать только на тестовых площадках! Помните, что AI-агенты ошибаются и могут удалить или испортить ваши данные.
Модуль принёс пользу? Ты можешь оставить отзыв или поблагодарить разработчика: https://yoomoney.ru/to/41001510540341
После установки необходимо выпустить токен в настройках модуля.
Пример подключения MCP сервера в Cursor
{
"mcpServers": {
"bitrix": {
"command": "npx",
"args": [
"mcp-remote",
"https://{ВАШ_ДОМЕН}/bitrix/services/main/ajax.php?action=delight:mcp.Rpc.handler",
"--header",
"Authorization: Bearer {ВАШ_ТОКЕН}"
]
}
}
} |
Подключение embeddings-сервиса
Т.к. документация Bitrix Framework автоматически добавляется в ресурсы MCP сервера и доступна AI-агенту по запросу, то острой необходимости в настройке поиска по документации нет, это лишь может сэкономить контекст.
Для корректной работы сервиса поиска по документации Bitrix Framework требуется взаимодействие с сервисом генерации embeddings (векторных представлений текста), которые нужны для поиска не по содержанию, а по смыслу. В качестве основного пути предлагается на собственном сервере поднять микросервис на Python (sentence-transformers), код микросервиса также предоставляется в модуле, но можно использовать и другие варианты (OpenAI, Olama и прочее) - для их использования нужно по событию OnBeforeGenerateEmbedding переопределить параметры запроса на генерацию embeddings, и по другому событию OnAfterGenerateEmbedding привести ответ к JSON-строке вида
"[-0.22979317605495453,-0.1455831080675125,-0.2588725686073303,0.0562337264418602,...]" |
Этот сервис должен работать в фоновом режиме и автоматически запускаться после перезагрузки сервера.
Инструкция ниже предназначена для BitrixEnv 9+ и предполагает, что все команды выполняются последовательно через SSH от root-пользователя. Все пути требуется актуализировать под ваше окружение.
Шаг 1: Установка Python и зависимостейЭти команды установят Python, создадут изолированное окружение для сервиса и загрузят в него все необходимые библиотеки.
# Устанавливаем Python 3 и менеджер пакетов pip sudo yum install -y python3 python3-pip # Задаем путь к модулю MODULE_PATH="/home/bitrix/www/bitrix/modules/delight.mcp" # Переходим в директорию, где будет работать сервис cd $MODULE_PATH/python # Создаем виртуальное окружение в папке 'venv' python3 -m venv venv # Активируем окружение, обновляем pip и устанавливаем библиотеки source venv/bin/activate python3 -m pip install --upgrade pip pip install fastapi uvicorn "sentence-transformers[txt]" deactivate # Меняем владельца всех файлов на bitrix, чтобы у сервиса были права доступа sudo chown -R bitrix:bitrix $MODULE_PATH/python |
Следующие команды создадут, настроят и запустят фоновый процесс.
# Задаем имя файла службы SERVICE_FILE="/etc/systemd/system/delight.embeddings.service" # Задаем путь к модулю MODULE_PATH="/home/bitrix/www/bitrix/modules/delight.mcp" # Создаем unit-файл для systemd с помощью команды tee # Это позволяет запускать сервис от пользователя bitrix и автоматически перезапускать его sudo tee $SERVICE_FILE > /dev/null <<EOF [Unit] Description=Delight Embeddings Generation Service After=network.target [Service] User=bitrix Group=bitrix WorkingDirectory=$MODULE_PATH/python ExecStart=$MODULE_PATH/python/venv/bin/python -m uvicorn embeddings-service:app --host 0.0.0.0 --port 8000 Restart=always [Install] WantedBy=multi-user.target EOF # Открываем порт 8000 в брандмауэре sudo firewall-cmd --zone=public --add-port=8000/tcp --permanent sudo firewall-cmd --reload # Перечитываем конфигурацию systemd, включаем автозапуск и стартуем сервис sudo systemctl daemon-reload sudo systemctl enable delight.embeddings.service sudo systemctl start delight.embeddings.service |
Чтобы убедиться, что сервис успешно запущен и работает, выполните:
sudo systemctl status delight.embeddings.service |
sudo journalctl -u delight.embeddings.service |
Доступные в модуле события
| Имя события | Когда вызывается | Параметры | |
| OnBeforeExec | Перед исполнением shell-команд |
| |
| OnAfterExec | После исполнения shell-команд |
| |
| OnBeforeEval | Перед исполнением PHP-кода |
| |
| OnAfterEval | После исполнения PHP-кода |
| |
| OnBeforeSql | Перед исполнением SQL-кода |
| |
| OnAfterSql | После исполнения SQL-кода |
| |
| OnBeforeGenerateEmbedding | Перед отправкой данных в сервис генерации эмбеддингов |
| |
| OnAfterGenerateEmbedding | После получения данных от сервиса генерации эмбеддингов |
|
Вы можете поучаствовать в улучшении модуля, создав Pull Request в репозитории на GitHub с вашими доработками.
Стандартная техническая поддержка платная.
При обращении за технической поддержкой обязательно указывайте ссылку на сайт, доступы в админку и FTP!
Пишите на dronazzz@mail.ru или https://t.me/delighter