Другие модули на выбор

MCP сервер

Стоимость: руб.
Этот компонент мы сможете использовать только при наличии лицензии. Подходящие редакции:

Получите быструю помощь по покупке, оплате, установке, настройке, продлению и другим вопросам, оставив заявку

Требуется стандартная установка решения.
После установки необходимо выпустить токен в настройках модуля.

Пример подключения 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,...]" Установка и настройка микросервиса Embeddings

Этот сервис должен работать в фоновом режиме и автоматически запускаться после перезагрузки сервера.

Инструкция ниже предназначена для 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Шаг 2: Создание фоновой службы (systemd)

Следующие команды создадут, настроят и запустят фоновый процесс.

# Задаем имя файла службы 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Шаг 3: Проверка статуса

Чтобы убедиться, что сервис успешно запущен и работает, выполните:

sudo systemctl status delight.embeddings.serviceВы должны увидеть статус active (running). Если возникли ошибки, их можно посмотреть командой sudo journalctl -u delight.embeddings.service

Доступные в модуле события

Имя события Когда вызывается ПараметрыOnBeforeExec Перед исполнением shell-команд// Команда на исполнение ['command' => (string) $command]OnAfterExec После исполнения shell-команд// Массив с построчным выводом исполненной команды ['output' => (array) $output]OnBeforeEval Перед исполнением PHP-кода// Код на исполнение ['code' => (string) $code]OnAfterEval После исполнения PHP-кода// Экранный вывод исполненного кода ['output' => (string) $output]OnBeforeSql Перед исполнением SQL-кода// SQL-запрос(ы) на исполнение ['query' => (string) $query]OnAfterSql После исполнения SQL-кода// Массив с результатом SQL-запроса [ 'columns' => (array) $columns, 'rows' => (array) $rows, 'rowCount' => (int) count($rows), 'query' => (string) $query ];OnBeforeGenerateEmbedding Перед отправкой данных в сервис
генерации эмбеддингов// Массив с данными запроса [ 'url' => (string) self::GENERATE_EMBEDDINGS_ENDPOINT, 'data' => Json::encode(['text' => $text]), 'headers' => [ 'Content-Type' => 'application/json', ], 'timeout' => $this->timeout, 'waitResponse' => true ]OnAfterGenerateEmbedding После получения данных от сервиса
генерации эмбеддингов// Результат POST-запроса через \Bitrix\Main\Web\HttpClient ['response' => (bool|string) $response]