Перейти к основному содержимому

Стек технологий

Frontend

ТехнологияВерсияНазначение
Next.js15 (App Router)Основной фреймворк, Server Components, Server Actions
React18UI-рендеринг
TypeScriptLatestСтрогая типизация
AI SDK5.0Единый API для LLM-интеграции и streaming
ZustandLatestКлиентский state management
TanStack Queryv5+Server state management, кэширование
Tailwind CSSLatestУтилитарная стилизация
shadcn/uiLatestДоступные UI-компоненты
Radix UILatestПримитивы для dropdown, modal, tabs
Framer MotionLatestАнимации
NextAuth.jsv5Аутентификация и сессии
Playwright1.57+E2E тестирование
StorybookLatestДокументирование компонентов (@coral/ui)
pnpm10.10+Пакетный менеджер, monorepo workspace
LernaLatestВерсионирование monorepo (@coral)

Backend

ТехнологияВерсияНазначение
Python3.13 / 3.14Основной язык всех backend-сервисов. Sprut — 3.14, остальные — 3.13
FastAPILatestWeb-фреймворк (REST API) для всех микросервисов
uvicornLatestASGI-сервер
SQLAlchemy2.0+Async ORM для работы с PostgreSQL
Alembic1.11+Управление миграциями БД
Pydanticv2+Валидация данных и настроек
asynciostdlibАсинхронная обработка
uvLatestModern Python package manager

AI / ML

ТехнологияВерсияНазначение
LangGraphLatestМультиагентная оркестрация в Amigofish: coordinator, rag_agent, web_agent, document_agent, analyst, synthesis — граф с условной маршрутизацией, fan-out и циклами
LlamaIndexLatestИндексирование документов (в Anglerfish)
OpenAI gpt-5.2Основная LLM-модель для inference (идентификатор модели на момент сбора данных, нестандартное публичное название; hard-coded в OpenAI.__init__ и Sentry set_data). Контекстное окно: 400K токенов, пороги: 0.7 (stop adding), 0.8 (critical)
text-embedding-3-smallLatestМодель эмбеддингов для RAG (Milvus hybrid search: dense + BM25 sparse, RRFRanker(60), top_k=8)
PyTorchLatestInference ML-моделей (Sealayers — классификатор запросов)
Marker APILatestИзвлечение текста из PDF с ИИ
Tavily APILatestWeb-поиск с проверкой источников (search_depth="advanced")
Wolfram Alpha APILatestТочные математические вычисления

Базы данных и хранилища

ТехнологияВерсияПортНазначение
PostgreSQL175432Основная OLTP БД: пользователи, чаты, транзакции, документы
Milvus2.5.1419530Векторная БД с гибридным поиском (BM25 + dense + RRF)
Redis8.2.16379Application cache (aiocache), cooperative cancellation
MinIOLatest9000S3-совместимое объектное хранилище файлов
etcd3.5.18Distributed config (для Milvus)
NATS JetStream2.11.84222Message broker с persistent streams, task queue + AI-стриминг
Yandex Object StorageХранение пользовательских файлов

Messaging

ТехнологияНазначение
NATS JetStreamАсинхронное взаимодействие между сервисами, task queue, AI-стриминг
orker (собственная)Python async worker framework поверх NATS: retry, durable consumers, DB integration

Infrastructure

ТехнологияВерсияНазначение
KubernetesОркестрация контейнеров (Selectel MKS)
ArgoCD8.3.0GitOps CD — мониторит devops/environments, автосинк
Helm 3Package manager для K8s, чарты для каждого сервиса
DockerКонтейнеризация с multi-stage builds
Docker BuildKitПараллельная сборка образов, кэширование
HashiCorp VaultХранение секретов, K8s-интеграция через External Secrets
AnsibleУправление конфигурацией (20+ ролей: PostgreSQL, NATS, Redis, Milvus, MinIO, MLflow)
TerraformIaC для облака (Selectel MKS)
Let's Encrypt + Cert ManagerАвтоматизация SSL/TLS
BINDВнутренний DNS с RPZ

CI/CD

ТехнологияНазначение
GitLab CIОсновная CI/CD система, shared workflow templates
SASTСтатический анализ безопасности (GitLab native)
SentryError tracking, sourcemaps, release management
NexusПриватный registry для npm (@coral) и PyPI
cr.selcloud.ruDocker container registry (Selectel) — образы production-сервисов
cr.monsterscorp.ru:5000Внутренний Docker registry — базовые образы (python, pythongpu, node и т.д.), используется в Dockerfile-ах сервисов (в т.ч. Stonefish)
Allure TestOpsTest reporting (Diver)

Базовые Docker-образы

Репозиторий dot.mind/devops/images собирает и публикует базовые образы в cr.monsterscorp.ru:5000. README пуст; информация получена из images-tree.md и images-ci.md.

ОбразDockerfileНазначение
pythondocker/base/Dockerfile_pythonPython-сервисы (Python 3.x)
python3.13docker/base/Dockerfile_python_3.13Python 3.13
pythongpudocker/base/Dockerfile_pythongpuPython с GPU-поддержкой (ML-сервисы)
nodedocker/base/Dockerfile_nodeNode.js для фронтенд-сервисов
node22-nextjsdocker/base/Dockerfile_node22_nextjsNode.js 22 + Next.js (Seadragon)
dockerdocker/infra/Dockerfile_dockerDocker CLI
dinddocker/infra/Dockerfile_dindDocker-in-Docker (CI)
buildkitdocker/infra/Dockerfile_buildkitBuildKit builder (CI)
runnerdocker/infra/Dockerfile_runnerGitLab Runner
helmdocker/infra/Dockerfile_helmHelm 3
kubectldocker/infra/Dockerfile_kubectlkubectl
natsdocker/infra/Dockerfile_natsNATS
postgresdocker/infra/Dockerfile_postgresPostgreSQL
ubuntudocker/infra/Dockerfile_ubuntuUbuntu base
sentrydocker/infra/Dockerfile_sentrySentry CLI
pythontestdocker/infra/Dockerfile_pythontestPython + test tools

Сборка образов через Docker BuildKit (max-parallelism=8) с registry-кэшированием (cache-from/cache-to). Триггер: коммит тега или изменение Dockerfile.

Мониторинг

ТехнологияНазначение
SentryError tracking и crash reporting для всех сервисов (FE + BE)
GrafanaВнутренние дашборды (включая дашборды для маркетологов)
VictoriaMetricsTime-series метрики
VictoriaLogsДолгосрочное хранилище логов
Fluent BitLog collection на edge
Yandex MetricaВеб-аналитика, интегрирована во фронтенд

Package Managers

МенеджерЯзыкНазначение
uvPythonModern Python package manager (замена pip/poetry)
pnpmTypeScriptNode.js package manager, monorepo workspace

Code Quality

ИнструментНазначение
blackPython code formatting
isortPython import sorting
mypyPython static type checking
flake8Python linting
ruffFast Python linter
BiomeJavaScript/TypeScript formatting и linting
pytestPython unit/integration тестирование
PlaywrightE2E browser тестирование
Artillery + PlaywrightНагрузочное тестирование — репозиторий Tsunami (dot.mind/dev/tsunami). Конфигурируется через artillery.yml (параметры arrivalCount, duration); результаты публикуются через Artillery Cloud или генерируются как HTML-отчёт

Внешние интеграции

СервисНазначение
KeycloakSSO-аутентификация (OIDC)
Tinkoff PaymentОбработка платежей (карты, SBP)
Yandex Object StorageХранение пользовательских файлов
Yandex APIИнтеграция Yandex Диск (импорт файлов)
UnisenderEmail-маркетинг и уведомления
Bitrix24CRM-интеграция
StonefishГенерация бинарных документов (PDF, DOCX, XLSX, PPTX). FastAPI-сервис, вызывается из document_agent через HTTP (таймаут 900 сек). Использует Claude API (services/claude.py). Helm chart: tools/charts/stonefish/. Базовый образ: cr.monsterscorp.ru:5000/python:latest
SelectelОблачная инфраструктура (MKS, CR, SSD storage)
MLflowML experiment tracking

Связанные страницы