[{"data":1,"prerenderedAt":775},["ShallowReactive",2],{"docs-navigation":3,"docs-page:\u002Fdocs\u002Fguide\u002Fservices\u002Fsearch-service":293,"docs-surround:\u002Fdocs\u002Fguide\u002Fservices\u002Fsearch-service":770},[4],{"title":5,"path":6,"stem":7,"children":8,"page":33},"Docs","\u002Fdocs","docs",[9,182,274],{"title":10,"icon":11,"path":12,"stem":13,"children":14},"Документация","i-lucide-book-open","\u002Fdocs\u002Fguide","docs\u002F1.guide\u002Findex",[15,17,34,65,121,131,152],{"title":16,"path":12,"stem":13},"Обзор",{"title":18,"icon":19,"path":20,"stem":21,"children":22,"page":33},"Основы","i-lucide-compass","\u002Fdocs\u002Fguide\u002Fbasics","docs\u002F1.guide\u002F1.basics",[23,28],{"title":24,"path":25,"stem":26,"order":27},"Основные понятия и модель","\u002Fdocs\u002Fguide\u002Fbasics\u002Fconcepts","docs\u002F1.guide\u002F1.basics\u002F1.concepts",2,{"title":29,"path":30,"stem":31,"order":32},"Быстрый старт","\u002Fdocs\u002Fguide\u002Fbasics\u002Fgetting-started","docs\u002F1.guide\u002F1.basics\u002F2.getting-started",3,false,{"title":35,"icon":36,"path":37,"stem":38,"children":39,"page":33},"Установка и обслуживание","i-lucide-server-cog","\u002Fdocs\u002Fguide\u002Foperations","docs\u002F1.guide\u002F2.operations",[40,45,50,55,60],{"title":41,"path":42,"stem":43,"order":44},"Архитектура","\u002Fdocs\u002Fguide\u002Foperations\u002Farchitecture","docs\u002F1.guide\u002F2.operations\u002F1.architecture",6,{"title":46,"path":47,"stem":48,"order":49},"Развёртывание и эксплуатация","\u002Fdocs\u002Fguide\u002Foperations\u002Fdeployment","docs\u002F1.guide\u002F2.operations\u002F2.deployment",7,{"title":51,"path":52,"stem":53,"order":54},"Безопасность и контроль данных","\u002Fdocs\u002Fguide\u002Foperations\u002Fsecurity","docs\u002F1.guide\u002F2.operations\u002F3.security",8,{"title":56,"path":57,"stem":58,"order":59},"Наблюдаемость и разбор инцидентов","\u002Fdocs\u002Fguide\u002Foperations\u002Fobservability","docs\u002F1.guide\u002F2.operations\u002F4.observability",9,{"title":61,"path":62,"stem":63,"order":64},"Администрирование","\u002Fdocs\u002Fguide\u002Foperations\u002Fadministration","docs\u002F1.guide\u002F2.operations\u002F5.administration",10,{"title":66,"icon":67,"path":68,"stem":69,"children":70},"Сервисы","i-lucide-boxes","\u002Fdocs\u002Fguide\u002Fservices","docs\u002F1.guide\u002F3.services\u002Findex",[71,73,77,81,85,89,93,97,101,105,109,113,117],{"title":72,"path":68,"stem":69},"Каталог сервисов",{"title":74,"path":75,"stem":76},"api","\u002Fdocs\u002Fguide\u002Fservices\u002Fapi","docs\u002F1.guide\u002F3.services\u002F01.api",{"title":78,"path":79,"stem":80},"auth-service","\u002Fdocs\u002Fguide\u002Fservices\u002Fauth-service","docs\u002F1.guide\u002F3.services\u002F02.auth-service",{"title":82,"path":83,"stem":84},"runtime-engine","\u002Fdocs\u002Fguide\u002Fservices\u002Fruntime-engine","docs\u002F1.guide\u002F3.services\u002F03.runtime-engine",{"title":86,"path":87,"stem":88},"runtime-control-plane","\u002Fdocs\u002Fguide\u002Fservices\u002Fruntime-control-plane","docs\u002F1.guide\u002F3.services\u002F04.runtime-control-plane",{"title":90,"path":91,"stem":92},"executor","\u002Fdocs\u002Fguide\u002Fservices\u002Fexecutor","docs\u002F1.guide\u002F3.services\u002F05.executor",{"title":94,"path":95,"stem":96},"secret-manager","\u002Fdocs\u002Fguide\u002Fservices\u002Fsecret-manager","docs\u002F1.guide\u002F3.services\u002F06.secret-manager",{"title":98,"path":99,"stem":100},"plugin-manager","\u002Fdocs\u002Fguide\u002Fservices\u002Fplugin-manager","docs\u002F1.guide\u002F3.services\u002F07.plugin-manager",{"title":102,"path":103,"stem":104},"scheduler","\u002Fdocs\u002Fguide\u002Fservices\u002Fscheduler","docs\u002F1.guide\u002F3.services\u002F08.scheduler",{"title":106,"path":107,"stem":108},"preset-service","\u002Fdocs\u002Fguide\u002Fservices\u002Fpreset-service","docs\u002F1.guide\u002F3.services\u002F09.preset-service",{"title":110,"path":111,"stem":112},"file-service","\u002Fdocs\u002Fguide\u002Fservices\u002Ffile-service","docs\u002F1.guide\u002F3.services\u002F10.file-service",{"title":114,"path":115,"stem":116},"flow-agent","\u002Fdocs\u002Fguide\u002Fservices\u002Fflow-agent","docs\u002F1.guide\u002F3.services\u002F11.flow-agent",{"title":118,"path":119,"stem":120},"search-service","\u002Fdocs\u002Fguide\u002Fservices\u002Fsearch-service","docs\u002F1.guide\u002F3.services\u002F12.search-service",{"title":122,"icon":123,"path":124,"stem":125,"children":126,"page":33},"Справочник","i-lucide-list","\u002Fdocs\u002Fguide\u002Freference","docs\u002F1.guide\u002F4.reference",[127],{"title":128,"path":129,"stem":130},"Конфигурация, CLI и коды ошибок","\u002Fdocs\u002Fguide\u002Freference\u002Fconfig","docs\u002F1.guide\u002F4.reference\u002F1.config",{"title":132,"icon":133,"path":134,"stem":135,"children":136,"page":33},"О продукте","i-lucide-target","\u002Fdocs\u002Fguide\u002Fproduct","docs\u002F1.guide\u002F5.product",[137,142,147],{"title":138,"path":139,"stem":140,"order":141},"Оценка и выбор","\u002Fdocs\u002Fguide\u002Fproduct\u002Fevaluation","docs\u002F1.guide\u002F5.product\u002F1.evaluation",13,{"title":143,"path":144,"stem":145,"order":146},"О проекте и поддержка","\u002Fdocs\u002Fguide\u002Fproduct\u002Fabout","docs\u002F1.guide\u002F5.product\u002F2.about",14,{"title":148,"path":149,"stem":150,"order":151},"Roadmap","\u002Fdocs\u002Fguide\u002Fproduct\u002Froadmap","docs\u002F1.guide\u002F5.product\u002F3.roadmap",15,{"title":153,"icon":154,"path":155,"stem":156,"children":157,"page":33},"Cookbook","i-lucide-chef-hat","\u002Fdocs\u002Fguide\u002Fcookbook","docs\u002F1.guide\u002F6.cookbook",[158,162,166,170,174,178],{"title":159,"path":160,"stem":161},"Развернуть Conveyor","\u002Fdocs\u002Fguide\u002Fcookbook\u002Fdeploy","docs\u002F1.guide\u002F6.cookbook\u002F1.deploy",{"title":163,"path":164,"stem":165},"Создать рабочее пространство","\u002Fdocs\u002Fguide\u002Fcookbook\u002Fcreate-workspace","docs\u002F1.guide\u002F6.cookbook\u002F2.create-workspace",{"title":167,"path":168,"stem":169},"Создать процесс","\u002Fdocs\u002Fguide\u002Fcookbook\u002Fcreate-process","docs\u002F1.guide\u002F6.cookbook\u002F3.create-process",{"title":171,"path":172,"stem":173},"Управление плагинами","\u002Fdocs\u002Fguide\u002Fcookbook\u002Fmanage-plugins","docs\u002F1.guide\u002F6.cookbook\u002F4.manage-plugins",{"title":175,"path":176,"stem":177},"Процесс как MCP","\u002Fdocs\u002Fguide\u002Fcookbook\u002Fpublish-process-mcp","docs\u002F1.guide\u002F6.cookbook\u002F5.publish-process-mcp",{"title":179,"path":180,"stem":181},"Сгенерировать процесс генераатором","\u002Fdocs\u002Fguide\u002Fcookbook\u002Fflow-generator","docs\u002F1.guide\u002F6.cookbook\u002F6.flow-generator",{"title":183,"icon":184,"path":185,"stem":186,"children":187},"Работа с Conveyor","i-lucide-workflow","\u002Fdocs\u002Fusage","docs\u002F2.usage\u002Findex",[188,189,193,197,201,266,270],{"title":183,"path":185,"stem":186},{"title":190,"path":191,"stem":192},"Регистрация и аутентификация","\u002Fdocs\u002Fusage\u002Fauth","docs\u002F2.usage\u002F1.auth",{"title":194,"path":195,"stem":196},"Возможности и ограничения","\u002Fdocs\u002Fusage\u002Fcapabilities","docs\u002F2.usage\u002F2.capabilities",{"title":198,"path":199,"stem":200},"Концепция распределённого исполнения","\u002Fdocs\u002Fusage\u002Fdistributed-execution","docs\u002F2.usage\u002F3.distributed-execution",{"title":202,"icon":203,"path":204,"stem":205,"children":206},"Интерфейс редактора","i-lucide-layout-dashboard","\u002Fdocs\u002Fusage\u002Feditor","docs\u002F2.usage\u002F4.editor\u002Findex",[207,208,212,230,234,238,242,246,250,254,258,262],{"title":202,"path":204,"stem":205},{"title":209,"path":210,"stem":211},"Настройки интерфейса","\u002Fdocs\u002Fusage\u002Feditor\u002Fsettings","docs\u002F2.usage\u002F4.editor\u002F01.settings",{"title":213,"icon":184,"path":214,"stem":215,"children":216},"Процессы","\u002Fdocs\u002Fusage\u002Feditor\u002Fprocesses","docs\u002F2.usage\u002F4.editor\u002F02.processes\u002Findex",[217,218,222,226],{"title":213,"path":214,"stem":215},{"title":219,"path":220,"stem":221},"Настройки","\u002Fdocs\u002Fusage\u002Feditor\u002Fprocesses\u002Fsettings","docs\u002F2.usage\u002F4.editor\u002F02.processes\u002F1.settings",{"title":223,"path":224,"stem":225},"История Запусков и логи","\u002Fdocs\u002Fusage\u002Feditor\u002Fprocesses\u002Fhistory-logs","docs\u002F2.usage\u002F4.editor\u002F02.processes\u002F2.history-logs",{"title":227,"path":228,"stem":229},"Сохранение, запуск и отладка","\u002Fdocs\u002Fusage\u002Feditor\u002Fprocesses\u002Fsave-run-debug","docs\u002F2.usage\u002F4.editor\u002F02.processes\u002F3.save-run-debug",{"title":231,"path":232,"stem":233},"Библиотека","\u002Fdocs\u002Fusage\u002Feditor\u002Flibrary","docs\u002F2.usage\u002F4.editor\u002F03.library",{"title":235,"path":236,"stem":237},"Воркспейсы","\u002Fdocs\u002Fusage\u002Feditor\u002Fworkspaces","docs\u002F2.usage\u002F4.editor\u002F04.workspaces",{"title":239,"path":240,"stem":241},"Секреты","\u002Fdocs\u002Fusage\u002Feditor\u002Fsecrets","docs\u002F2.usage\u002F4.editor\u002F05.secrets",{"title":243,"path":244,"stem":245},"Плагины","\u002Fdocs\u002Fusage\u002Feditor\u002Fplugins","docs\u002F2.usage\u002F4.editor\u002F06.plugins",{"title":247,"path":248,"stem":249},"Шаблоны","\u002Fdocs\u002Fusage\u002Feditor\u002Ftemplates","docs\u002F2.usage\u002F4.editor\u002F07.templates",{"title":251,"path":252,"stem":253},"Консоль логов","\u002Fdocs\u002Fusage\u002Feditor\u002Flog-console","docs\u002F2.usage\u002F4.editor\u002F08.log-console",{"title":255,"path":256,"stem":257},"Подтверждения шагов","\u002Fdocs\u002Fusage\u002Feditor\u002Fstep-confirmations","docs\u002F2.usage\u002F4.editor\u002F09.step-confirmations",{"title":259,"path":260,"stem":261},"Внешние инструменты","\u002Fdocs\u002Fusage\u002Feditor\u002Fexternal-tools","docs\u002F2.usage\u002F4.editor\u002F10.external-tools",{"title":263,"path":264,"stem":265},"Работа с аккаунтом","\u002Fdocs\u002Fusage\u002Feditor\u002Faccount","docs\u002F2.usage\u002F4.editor\u002F11.account",{"title":267,"path":268,"stem":269},"Работа с API","\u002Fdocs\u002Fusage\u002Fapi","docs\u002F2.usage\u002F5.api",{"title":271,"path":272,"stem":273},"MCP: платформа как сервер","\u002Fdocs\u002Fusage\u002Fmcp","docs\u002F2.usage\u002F6.mcp",{"title":243,"icon":275,"path":276,"stem":277,"children":278},"i-lucide-blocks","\u002Fdocs\u002Fplugins","docs\u002F3.plugins\u002Findex",[279,281,285,289],{"title":280,"path":276,"stem":277},"Плагины и интеграции",{"title":282,"path":283,"stem":284},"Разработка плагина (SDK)","\u002Fdocs\u002Fplugins\u002Fdevelop","docs\u002F3.plugins\u002F1.develop",{"title":286,"path":287,"stem":288},"Подключение и интеграции","\u002Fdocs\u002Fplugins\u002Fconnect","docs\u002F3.plugins\u002F2.connect",{"title":290,"path":291,"stem":292},"API и MCP","\u002Fdocs\u002Fplugins\u002Fapi","docs\u002F3.plugins\u002F3.api",{"id":294,"title":118,"body":295,"description":764,"extension":765,"meta":766,"navigation":767,"path":119,"seo":768,"stem":120,"__hash__":769},"docs\u002Fdocs\u002F1.guide\u002F3.services\u002F12.search-service.md",{"type":296,"value":297,"toc":755},"minimark",[298,318,327,332,335,339,355,359,407,411,479,483,723,742,746],[299,300,301,304,305,308,309,313,314,317],"p",{},[302,303,118],"strong",{}," — опциональный сервис семантического поиска: индексирует узлы, плагины и справку, отдаёт релевантные результаты по embeddings (Qdrant), при необходимости использует Neo4j. Очередь индексации (BullMQ) — через ",[302,306,307],{},"Redis",". Слушает TCP ",[310,311,312],"code",{},":3000"," и health ",[310,315,316],{},":3001",".",[319,320,321],"blockquote",{},[299,322,323,326],{},[302,324,325],{},"На какие вопросы отвечает раздел:"," Зачем нужен поиск? Какие хранилища использует? Обязателен ли он?",[328,329,331],"h2",{"id":330},"цель","Цель",[299,333,334],{},"Быстро находить нужные узлы\u002Fплагины\u002Fразделы справки по смыслу запроса и давать контекст flow-agent.",[328,336,338],{"id":337},"задачи","Задачи",[340,341,342,346,349,352],"ul",{},[343,344,345],"li",{},"индексация сущностей (узлы, плагины, документация);",[343,347,348],{},"retrieval по embeddings из Qdrant;",[343,350,351],{},"reconcile\u002Frelay индексов;",[343,353,354],{},"intent-классификация запросов.",[328,356,358],{"id":357},"требования","Требования",[340,360,361,381,401,404],{},[343,362,363,365,366,369,370,373,374,377,378,317],{},[302,364,307],{}," — BullMQ-очередь outbox индексации (",[310,367,368],{},"SEARCH_SERVICE_INDEX_RELAY_*","). Без доступного Redis relay\u002Fworker не поднимутся: при неверном ",[310,371,372],{},"REDIS_HOST"," типична ошибка ",[310,375,376],{},"ECONNREFUSED"," на ",[310,379,380],{},"127.0.0.1:6379",[343,382,383,386,387,390,391,396,397,400],{},[302,384,385],{},"Qdrant"," (REST ",[302,388,389],{},"6333",", не gRPC 6334) — векторное хранилище. Образ ",[302,392,393],{},[310,394,395],{},"qdrant\u002Fqdrant:v1.17.x"," совместим с клиентом ",[310,398,399],{},"@qdrant\u002Fqdrant-js"," 1.17.x в backend.",[343,402,403],{},"embeddings (Ollama\u002FOpenAI-совместимый API).",[343,405,406],{},"PostgreSQL. Опционально Neo4j.",[328,408,410],{"id":409},"ограничения","Ограничения",[340,412,413,416,419,437],{},[343,414,415],{},"опционален. Семантический retrieval по embeddings требует search-service, Qdrant и проиндексированный каталог.",[343,417,418],{},"качество зависит от модели embeddings и полноты индекса;",[343,420,421,424,425,428,429,432,433,436],{},[310,422,423],{},"fetch failed"," \u002F ",[310,426,427],{},"Failed to obtain server version"," в логах обычно означает ",[302,430,431],{},"недоступность Qdrant"," по ",[310,434,435],{},"QDRANT_URL"," (сеть, сервис не поднят, неверный порт).",[343,438,439,442,443,446,447],{},[302,440,441],{},"Проверка без curl"," (prod-образы — ",[310,444,445],{},"node:alpine",", curl не установлен):\n",[340,448,449,467,473],{},[343,450,451,452,455,456,458,459,462,463,466],{},"предпочтительно: ",[310,453,454],{},"GET \u002Fhealth\u002Fdeep"," на search-service (HTTP ",[310,457,316],{},") — блок ",[310,460,461],{},"qdrant"," должен быть ",[310,464,465],{},"ok",";",[343,468,469,470,466],{},"из контейнера search-service: ",[310,471,472],{},"node -e \"fetch('http:\u002F\u002Fqdrant:6333\u002Fcollections').then(r=>r.text()).then(console.log).catch(e=>{console.error(e);process.exit(1)})\"",[343,474,475,476,317],{},"с хоста, если Qdrant проброшен наружу: ",[310,477,478],{},"curl -fsS http:\u002F\u002F127.0.0.1:6333\u002Fcollections",[328,480,482],{"id":481},"настройки-и-переменные-окружения","Настройки и переменные окружения",[484,485,486,505],"table",{},[487,488,489],"thead",{},[490,491,492,496,499,502],"tr",{},[493,494,495],"th",{},"Переменная",[493,497,498],{},"Зачем",[493,500,501],{},"На что влияет",[493,503,504],{},"По умолчанию",[506,507,508,527,545,563,579,596,611,629,647,662,677,705],"tbody",{},[490,509,510,516,519,522],{},[511,512,513],"td",{},[310,514,515],{},"SEARCH_SERVICE_TCP_LISTEN",[511,517,518],{},"Адрес TCP-сервиса",[511,520,521],{},"Порт\u002Fинтерфейс поиска",[511,523,524],{},[310,525,526],{},"0.0.0.0:3000",[490,528,529,534,537,540],{},[511,530,531],{},[310,532,533],{},"SEARCH_SERVICE_HEALTH_HTTP_LISTEN",[511,535,536],{},"Адрес health",[511,538,539],{},"Проверки готовности",[511,541,542],{},[310,543,544],{},"0.0.0.0:3001",[490,546,547,552,555,558],{},[511,548,549],{},[310,550,551],{},"SEARCH_SERVICE_START_MODE",[511,553,554],{},"Режим старта",[511,556,557],{},"Поведение индексации при запуске",[511,559,560],{},[310,561,562],{},"lazy",[490,564,565,570,573,576],{},[511,566,567],{},[310,568,569],{},"EMBEDDING_MODEL",[511,571,572],{},"Модель embeddings",[511,574,575],{},"Качество векторизации",[511,577,578],{},"—",[490,580,581,585,588,591],{},[511,582,583],{},[310,584,435],{},[511,586,587],{},"Адрес Qdrant (REST)",[511,589,590],{},"Где хранятся векторы",[511,592,593],{},[310,594,595],{},"http:\u002F\u002Fqdrant:6333",[490,597,598,603,606,609],{},[511,599,600],{},[310,601,602],{},"QDRANT_API_KEY",[511,604,605],{},"API key Qdrant Cloud \u002F secured",[511,607,608],{},"Заголовок авторизации",[511,610,578],{},[490,612,613,618,621,624],{},[511,614,615],{},[310,616,617],{},"OLLAMA_BASE_URL",[511,619,620],{},"Адрес LLM\u002Fembeddings",[511,622,623],{},"Источник embeddings",[511,625,626],{},[310,627,628],{},"http:\u002F\u002Follama:11434",[490,630,631,639,642,645],{},[511,632,633,424,636],{},[310,634,635],{},"HELP_INTENT_MODEL",[310,637,638],{},"HELP_INTENT_WEIGHT",[511,640,641],{},"Классификация intent",[511,643,644],{},"Ранжирование «помощь vs поиск»",[511,646,578],{},[490,648,649,654,657,660],{},[511,650,651],{},[310,652,653],{},"SEARCH_SERVICE_NEO4J_*",[511,655,656],{},"Доступ к Neo4j",[511,658,659],{},"Графовые связи (опц.)",[511,661,578],{},[490,663,664,669,672,675],{},[511,665,666],{},[310,667,668],{},"DATABASE_URL",[511,670,671],{},"Подключение к Postgres",[511,673,674],{},"Метаданные индексов",[511,676,578],{},[490,678,679,686,689,692],{},[511,680,681,424,683],{},[310,682,372],{},[310,684,685],{},"REDIS_PORT",[511,687,688],{},"Адрес Redis",[511,690,691],{},"BullMQ: relay и worker очереди индексации",[511,693,694,424,697,700,701,704],{},[310,695,696],{},"localhost",[310,698,699],{},"6379"," (в compose — ",[310,702,703],{},"redis:6379",")",[490,706,707,712,715,718],{},[511,708,709],{},[310,710,711],{},"SEARCH_SERVICE_INDEX_RELAY_ENABLED",[511,713,714],{},"Включить relay+worker",[511,716,717],{},"Асинхронная индексация в Qdrant",[511,719,720],{},[310,721,722],{},"true",[319,724,725],{},[299,726,727,728,731,732,731,734,737,738,317],{},"Параметры retrieval\u002Freconcile (",[310,729,730],{},"SEARCH_RETRIEVAL_*",", ",[310,733,368],{},[310,735,736],{},"SEARCH_SERVICE_RECONCILE_*",") — в ",[739,740,741],"a",{"href":129},"«Справочнике»",[328,743,745],{"id":744},"дальше","Дальше",[340,747,748],{},[343,749,750,752,753],{},[739,751,114],{"href":115}," · ",[739,754,231],{"href":232},{"title":756,"searchDepth":27,"depth":27,"links":757},"",[758,759,760,761,762,763],{"id":330,"depth":27,"text":331},{"id":337,"depth":27,"text":338},{"id":357,"depth":27,"text":358},{"id":409,"depth":27,"text":410},{"id":481,"depth":27,"text":482},{"id":744,"depth":27,"text":745},"Семантический поиск Conveyor — индексация и retrieval по узлам, плагинам и документации через Qdrant и embeddings.","md",{},true,{"title":118,"description":764},"tOm3bhA_DClln_d4Z3nCPLDuBpOwfjq5pmunG_Wx5gw",[771,773],{"title":114,"path":115,"stem":116,"description":772,"children":-1},"ИИ-генерация процессов и чат-агент Conveyor — построение процессов по описанию на естественном языке.",{"title":128,"path":129,"stem":130,"description":774,"children":-1},"CLI, конфигурация, переменные окружения, коды ошибок и лимиты.",1782081969713]