Визуальный no-code редактор Telegram-ботов с настоящим RAG, мульти-провайдерным LLM и живым превью прямо в браузере.
Перетащили блоки → соединили стрелками → протестировали в чате справа → опубликовали. Без единой строки кода.
Инструмент для сборки Telegram-ботов из визуальных блоков: триггеры, сообщения, условия, база знаний (RAG), обращение к LLM, работа с переменными — всё соединяется стрелками на бесконечном канвасе, как в n8n или Zapier, но заточено под ботов с диалоговой памятью и поиском по документам.
Ключевая идея — флоу реально исполняется на сервере, а не симулируется в браузере: тот же код, что гоняет тестовый чат в редакторе, потом обслуживает боевой трафик из Telegram.
|
Редактор сценариев Нодовый граф, живой тест-чат справа, блок мигает зелёным во время исполнения. |
Настройка блока «Нейросеть» Модель, системный промпт с автоподстановкой RAG-контекста, быстрая вставка переменных одним кликом. |
|
Переменные диалога
Создали переменную → перетащили на нужный блок как вход или выход → она сама подставляется в текст через |
Живой прогон в чате Диалог реально проходит через сервер: RAG ищет по базе знаний, LLM отвечает, переменные подставляются на лету. |
- 🧩 26 типов блоков по категориям — Триггеры (
/start, расписание, реакция), Действия (сообщение, инлайн-кнопки, вопрос с сохранением ответа), Логика (условие, роутер, цикл, состояние), Интеллект (RAG, LLM, извлечение сущностей), Данные (Postgres, Google Sheets, HTTP), Сервис (аналитика, i18n). - 📚 Настоящий RAG-конвейер: загрузка PDF/DOCX/TXT/MD/URL → чанкинг с перекрытием → эмбеддинги → поиск по
pgvectorс порогом релевантности и опциональным cross-encoder реранком. - 🧠 Мульти-провайдерный LLM-роутинг: OpenAI, Anthropic и локальные модели через Ollama (CPU-friendly, без платного API-ключа) — переключаются одним полем в узле.
- 🔤 Переменные диалога с drag&drop: боковая панель переменных, перетаскивание на вход/выход блока прямо на канвасе, быстрая вставка
{имя}в любое текстовое поле. - 💬 Живой превью-чат: тот же серверный исполнитель флоу, что и в проде, стримит события через SSE — видно, какой блок сейчас активен и что он читает/пишет из памяти диалога.
- 📡 Три канала выдачи: тестовый чат в редакторе, embeddable веб-виджет для сайта, боевой Telegram через long polling.
- ⚙️ Асинхронная архитектура: FastAPI отдаёт лёгкие запросы, тяжёлую работу (RAG-ингест, генерация, доставка событий) разгребают воркеры через RabbitMQ — API никогда не блокируется на медленной модели.
flowchart LR
subgraph Browser["Браузер"]
FE["React + Vite\nредактор флоу"]
end
subgraph Stack["docker compose"]
API["FastAPI\nauth · CRUD · SSE"]
WORKER["worker\ningest · search · run"]
POLLER["poller\nTelegram long polling"]
PG[("PostgreSQL\n+ pgvector")]
MQ[["RabbitMQ"]]
OLLAMA["Ollama\nлокальные LLM"]
end
TG(("Telegram API"))
FE -- "REST + SSE" --> API
API -- "run/ingest/search jobs" --> MQ
MQ --> WORKER
WORKER -- "события по run_id" --> MQ
MQ -- "SSE relay" --> API
API --> PG
WORKER --> PG
WORKER -.-> OLLAMA
POLLER --> MQ
POLLER <--> TG
Подробности решений по стеку — в docs/BACKEND_PLAN.md.
git clone <repo-url> && cd aif-chat
docker compose up -dПоднимает всё одной командой: Postgres+pgvector, RabbitMQ, API, worker, Telegram-поллер, Ollama (сам скачивает лёгкую модель llama3.2:1b) и фронтенд.
- Редактор — http://localhost:3000
- API и
/docs(Swagger) — http://localhost:8000/docs - RabbitMQ management — http://localhost:15672 (
aif/aif)
Первый email+пароль, которым вы залогинитесь, автоматически станет новым аккаунтом.
| Слой | Стек |
|---|---|
| Frontend | React 19, TypeScript, Vite, React Router — канвас на чистых pointer events, без графовых библиотек |
| Backend | Python 3.12, FastAPI (async), SQLAlchemy 2 (async), Pydantic |
| База данных | PostgreSQL 16 + pgvector — метаданные и векторы в одном месте |
| Очередь/шина событий | RabbitMQ — джобы на ingest/search/run + SSE-relay через topic exchange |
| RAG | Явный конвейер без LangChain/LlamaIndex: чанкинг с tiktoken, эмбеддинги (OpenAI / bge-m3 / e5), cross-encoder реранк |
| LLM | OpenAI, Anthropic, локальные модели через Ollama |
| Инфраструктура | Docker Compose, health-checked зависимости, fail-fast старт при недоступности БД/брокера |
├── frontend/ React + TypeScript — редактор флоу, список ботов, встраиваемый виджет
├── backend/ FastAPI — API, RAG-конвейер, LLM-роутинг, исполнитель флоу, Telegram-поллер
├── docs/ архитектурные решения и скриншоты
└── docker-compose.yml
frontend/README.md— запуск и структура фронтендаbackend/README.md— запуск, миграции, RAG/LLM-конфигурацияdocs/BACKEND_PLAN.md— план и обоснование архитектурных решений



