Что делает
В REST Bitrix24 нет нативного endpoint для веб-поиска или LLM. Этот рецепт демонстрирует паттерн моста: используйте любой внешний провайдер для поиска/LLM, затем верните ответ обратно в Bitrix24 через SDK. Обработчик пишет ответ LLM с цитатами в таймлайн сделки комментарием.
Стек
Node.js 18+, openai. Веб-поиск — BYOC: замените webSearch() своим вызовом к Tavily, Brave, SerpAPI или любому другому провайдеру.
Установка
pnpm add openai
Переменные окружения
export B24_HOOK='https://your.bitrix24.com/rest/1/secret'
export OPENAI_API_KEY='sk-...'
export SEARCH_API_KEY='...' # ключ вашего провайдера
Запуск
npx tsx 09-web-search-llm.ts <DEAL_ID> "<question>"
Исходник
skills/b24jssdk-recipes/examples/09-web-search-llm.ts.
Примечания
- Функция
webSearch()в рецепте — заглушка. Замените её реальным вызовом вашего провайдера; остальное в рецепте не затрагивается. - LLM просят цитировать каждый факт через
[N], где N —results[].id. Рецепт добавляет к комментарию таймлайна соответствующий список URL. crm.timeline.comment.add— классический метод API. Рецепт использует числовойENTITY_TYPE_ID: 2(≡EnumCrmEntityTypeId.deal) — эта форма принимается на всех протестированных нами версиях портала. Строковая формаENTITY_TYPE: 'deal'тоже работает на большинстве современных порталов; переключитесь на неё, если ваш код ожидает символьное имя.- Для AI Router под управлением VibeCode или Bitrix-поиска вместо внешнего провайдера см. скил
b24jssdk-vibecode.