Appearance
Unishift Platform — Документация сервисов
Обзор архитектуры
Unishift Platform — микросервисная платформа для управления пространствами, документами, командами, пайплайнами, календарями, медиафайлами, аутентификацией и внешней поддержкой партнёров. Построена на Go с использованием PostgreSQL, NATS и Centrifugo для real-time событий.
Карта сервисов
| Сервис | Порт | БД | Описание |
|---|---|---|---|
| Gateway | 8090 | — | Единая точка входа, проксирование к бэкенд-сервисам |
| Auth | 8091 | auth_db | Аутентификация и авторизация (JWT, OAuth 2.0, сессии) |
| Spaces | 8092 | spaces_db | Управление пространствами (workspaces) |
| Documents | 8093 | documents_db | Управление документами (деревевидная структура) |
| Task Tracker | 8102 | tasks_db | Задачи, настраиваемые workflow и поля, история изменений |
| Command Manager | 8094 | command_manager_db | Команды, коллекции, задачи, gRPC-раннеры |
| Scheduler | 8095 | scheduler_db | Календари и планирование задач |
| Storage | 8096 | storage_db | Файловое хранилище (локальный диск / S3/MinIO) |
| Env Manager | 8097 | env_manager_db | Зашифрованное хранилище конфигов и секретов |
| Flow Manager | 8099 | flow_manager_db | Оркестрация пайплайнов (Starlark, in-memory тестирование) |
| Spark Grid | 8087 | spark_grid | Медиа-хранилище (превью, обложки, теги) |
| AI Router | 8101 | ai_router_db | LLM-маршрутизация, чаты, RAG; Yandex — OpenAI-compatible |
| Notifications | 8103 | notifications_db | Email-уведомления (SMTP, шаблоны, async send) |
| MCP Gateway | 8104 | mcp_gateway_db | Внешние MCP-инструменты для AI Router |
| Data Tables | 8105 | data_tables_db + datasets_db | Таблицы в space, датасеты из Flow Manager |
| Data Catalog | 8109 | data_catalog_db | Внешние подключения, схемы и датасеты |
| Concierge | 8106 | concierge_db | Внешний AI-портал поддержки партнёров |
| Messaging | 8107 | messaging_db | Комментарии, mentions, realtime |
| Collatio | 8108 | collatio_db | Согласование документов |
| Guard | 8110 | guard_db | DLP: маскирование PII/секретов перед LLM |
| Notebooks | 8111 | notebooks | Личные тетради c AI-чатом (NotebookLM alternative) |
| Content Extract | 8112 | — | Markdown из PDF, DOCX, XLSX, PPTX, EPUB; RTF — текст |
| Dashboards | 8113 | dashboards_db | Аналитические панели и виджеты (BI) |
| Proxy Manager | 8114 | proxy_manager_db | Пул прокси, ротация и forward proxy (8115) |
| Voice | 8116 | — | Офлайн синтез речи (TTS Supertonic-3) и распознавание (STT Whisper) |
| Centrifugo | 8100 | — | 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).
Инфраструктура
| Компонент | Порт | Описание |
|---|---|---|
| NATS | 4222 | Шина событий (message broker) |
| PostgreSQL | 5432 | Основная БД для всех сервисов (с расширением pgvector) |
| MinIO | 9000/9001 | S3-совместимое хранилище |
Технологический стек
- Язык: 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