Skip to content

Unishift Platform — Документация сервисов ​

Обзор архитектуры ​

Unishift Platform — микросервисная платформа для управления пространствами, документами, командами, пайплайнами, календарями, медиафайлами, аутентификацией и внешней поддержкой партнёров. Построена на Go с использованием PostgreSQL, NATS и Centrifugo для real-time событий.

Карта сервисов ​

СервисПортБДОписание
Gateway8090—Единая точка входа, проксирование к бэкенд-сервисам
Auth8091auth_dbАутентификация и авторизация (JWT, OAuth 2.0, сессии)
Spaces8092spaces_dbУправление пространствами (workspaces)
Documents8093documents_dbУправление документами (деревевидная структура)
Task Tracker8102tasks_dbЗадачи, настраиваемые workflow и поля, история изменений
Command Manager8094command_manager_dbКоманды, коллекции, задачи, gRPC-раннеры
Scheduler8095scheduler_dbКалендари и планирование задач
Storage8096storage_dbФайловое хранилище (локальный диск / S3/MinIO)
Env Manager8097env_manager_dbЗашифрованное хранилище конфигов и секретов
Flow Manager8099flow_manager_dbОркестрация пайплайнов (Starlark, in-memory тестирование)
Spark Grid8087spark_gridМедиа-хранилище (превью, обложки, теги)
AI Router8101ai_router_dbLLM-маршрутизация, чаты, RAG; Yandex — OpenAI-compatible
Notifications8103notifications_dbEmail-уведомления (SMTP, шаблоны, async send)
MCP Gateway8104mcp_gateway_dbВнешние MCP-инструменты для AI Router
Data Tables8105data_tables_db + datasets_dbТаблицы в space, датасеты из Flow Manager
Data Catalog8109data_catalog_dbВнешние подключения, схемы и датасеты
Concierge8106concierge_dbВнешний AI-портал поддержки партнёров
Messaging8107messaging_dbКомментарии, mentions, realtime
Collatio8108collatio_dbСогласование документов
Guard8110guard_dbDLP: маскирование PII/секретов перед LLM
Notebooks8111notebooksЛичные тетради c AI-чатом (NotebookLM alternative)
Content Extract8112—Markdown из PDF, DOCX, XLSX, PPTX, EPUB; RTF — текст
Dashboards8113dashboards_dbАналитические панели и виджеты (BI)
Proxy Manager8114proxy_manager_dbПул прокси, ротация и forward proxy (8115)
Voice8116—Офлайн синтез речи (TTS Supertonic-3) и распознавание (STT Whisper)
Centrifugo8100—Real-time WebSocket доставка событий
NATS Bridge——Мост NATS → Centrifugo (событийный bridge)

Установка prod-стека из готовых образов — ush platform, инструкция: installation.md.

Локальный planner — провайдер Ollama в AI Router, см. installation.md. Dev и prod compose-файлы: devops/dev (с мониторингом) и devops/prod (те же модули, без Prometheus).

Инфраструктура ​

КомпонентПортОписание
NATS4222Шина событий (message broker)
PostgreSQL5432Основная БД для всех сервисов (с расширением pgvector)
MinIO9000/9001S3-совместимое хранилище

Технологический стек ​

  • Язык: Go 1.24-1.26
  • HTTP: Gin
  • ORM: GORM
  • БД: PostgreSQL 15-16
  • Мессенджинг: NATS
  • Real-time: Centrifugo + WebSocket
  • API Docs: Swagger/OpenAPI (swaggo)
  • Архитектура: Clean Architecture (domain / usecase / repository / delivery / infrastructure)
  • Контейнеризация: Docker + Docker Compose