Архитектура Wikilect Flow¶
Эта страница показывает архитектуру на уровне, который нужен для запуска и эксплуатации:
- какие есть сервисы,
- за что каждый отвечает,
- как проходит запрос от канала до результата.
Архитектура в одном абзаце¶
Wikilect Flow состоит из API-сервиса (Flow Executor), UI-конструктора (Frontend), асинхронного слоя (Celery + Valkey) и хранилищ (PostgreSQL + S3-compatible Object Storage).
Каналы (Telegram, Webhook, JS-widget) отправляют запрос в backend, backend запускает flow и возвращает либо готовый ответ, либо pending-статус с идентификатором выполнения.
Из чего состоит система¶
| Слой | Что делает | Ключевые точки |
|---|---|---|
| Flow Executor (Backend API) | Хранит flow, запускает выполнение, отдает API интеграций | /flows, /execute, /results, /components, /webhook/*, /telegram/*, /api/chat/* |
| Frontend (UI конструктора) | Создание/редактирование flow, настройка интеграций, просмотр запусков | Web UI |
| Worker/Queue | Асинхронное выполнение и плановые задачи | celery_worker, celery_beat, valkey |
| Storage | Хранение конфигураций, запусков и файлов | PostgreSQL, S3-compatible Object Storage |
| Каналы интеграции | Входящие события от внешних систем и пользователей | Telegram, Webhook, JS-widget |
Как проходит один запрос¶
- Канал интеграции отправляет запрос в backend.
- Backend формирует
content + contextи создаетexecution. - Выполнение идет синхронно или через очередь Celery.
- Flow обрабатывается компонентами из
app/agents/component. - Клиент получает:
- финальный
content/context, или 202 pending+executionId/executionKeyдля последующего получения результата.
Каналы интеграции¶
- Telegram: входящие обновления ->
/webhook/telegram/{bot_token}. - Webhook: внешние HTTP-вызовы ->
/webhook/{tenant_id}/{webhook_id}. - JS-widget: чат-виджет сайта ->
/api/chat/*.
Почему архитектура простая в эксплуатации¶
- Ясное разделение ролей: UI, API, очередь, хранилища.
- Масштабирование по слоям: можно отдельно увеличивать API/Worker/DB.
- Единая flow-логика для разных каналов без дублирования бизнес-правил.
Где смотреть детали¶
- Компоненты для бизнес-пользователя: Компоненты Для Бизнеса
- Полный список компонентов: Каталог Компонентов