# Недоделки — начать отсюда ## Последнее исправление (28.02.2026) ### Fix: auth-svc не собирался в Docker - Добавлена строка сборки `auth-svc` в `Dockerfile.all` - Удалён дубликат `ratelimit_tiered.go` (конфликт типов с Redis-версией) - Добавлен REDIS_URL в api-gateway для rate limiting - Пересоздан тестовый пользователь через API --- ## Последнее изменение (28.02.2026) **Обновлён дизайн страниц авторизации:** ### Сделано (полностью) #### Страницы авторизации в стиле сайта - `/login` — переделана с градиентным фоном, фирменным логотипом, анимациями - `/register` — аналогично, единый стиль с login - `/forgot-password` — сброс пароля в новом дизайне - `/reset-password` — установка нового пароля в новом дизайне Изменения: - `bg-gradient-main` вместо простого `bg-base` - Фирменный логотип GooSeek (font-black italic + иконка Sparkles) - Gradient blur декорации на фоне - Карточка с градиентной рамкой и backdrop-blur - Анимации появления (framer-motion) - Footer с копирайтом --- **Ранее: Spaces как у Perplexity + коллаборация:** ### Сделано (полностью) #### 1. Backend - Space Members - Добавлена таблица `space_members` (space_id, user_id, role) - Добавлена таблица `space_invites` (приглашения по токену) - Методы: `GetMembers`, `AddMember`, `RemoveMember`, `IsMember` - Методы: `CreateInvite`, `GetInviteByToken`, `DeleteInvite` - Обновлён `GetByMemberID` - возвращает пространства где пользователь участник #### 2. Frontend - Types & API - Добавлены типы: `SpaceMember`, `SpaceInvite` - Обновлён тип `Space` с полями `members`, `memberCount`, `userId` - API методы: `fetchSpaceMembers`, `inviteToSpace`, `removeSpaceMember`, `acceptSpaceInvite`, `fetchSpaceThreads` #### 3. Страница /spaces - Новый дизайн - Карточки пространств с градиентным фоном - Показывает: название, описание, кол-во участников, кол-во тредов - Аватары участников на карточке - Поиск по пространствам - Требует авторизации #### 4. Страница /spaces/[id] - Детали пространства - Заголовок с названием и описанием - Табы: Треды / Участники - Список тредов пространства с датами - Список участников с ролями (owner/admin/member) - Кнопка "Начать новый тред" - Модалка приглашения участников по email - Удаление участников (для admin/owner) #### 5. Страница /spaces/new - Создание - Превью карточки в реальном времени - Выбор иконки (эмодзи) - Выбор цвета (6 вариантов) - Переключатель приватности - AI инструкции для пространства #### 6. Ранее добавлено - Селектор модели (Auto/GooSeek 1.0) - Ollama клиент для бесплатной модели - Обновлённая кнопка "Войти" в сайдбаре ### Файлы изменены/созданы ``` backend/internal/db/ └── space_repo.go (UPDATED - members, invites) backend/webui/src/ ├── lib/ │ ├── types.ts (UPDATED - SpaceMember, SpaceInvite) │ └── api.ts (UPDATED - space members API) ├── app/(main)/spaces/ │ ├── page.tsx (REWRITTEN - новый дизайн) │ ├── new/page.tsx (REWRITTEN - с превью) │ └── [id]/page.tsx (NEW - детали пространства) └── components/ ├── Sidebar.tsx (UPDATED - кнопка войти) └── ChatInput.tsx (UPDATED - селектор модели) backend/internal/llm/ ├── ollama.go (NEW) └── client.go (UPDATED) backend/pkg/config/config.go (UPDATED - Ollama config) backend/cmd/agent-svc/main.go (UPDATED - Ollama support) ``` ## Осталось сделать ### Высокий приоритет: 1. **Backend API endpoints** — добавить API для: - `GET /api/v1/spaces/:id/members` - `POST /api/v1/spaces/:id/invite` - `DELETE /api/v1/spaces/:id/members/:userId` - `POST /api/v1/spaces/invite/:token/accept` - `GET /api/v1/spaces/:id/threads` 2. **Email отправка** — отправлять email с приглашением 3. **Ollama в docker-compose** — добавить сервис ollama ### Средний приоритет: 4. **OAuth провайдеры** — Google, GitHub, Yandex 5. **Подтверждение email** — отправка письма при регистрации 6. **Real-time обновления** — WebSocket для тредов в пространстве 7. **Уведомления** — когда кто-то добавляет сообщение в тред ### Низкий приоритет: 8. **Интеграция оплаты** — ЮKassa для пополнения баланса 9. **2FA** — TOTP аутентификация 10. **Экспорт тредов** — PDF/Markdown ## Контекст ### Модели: | ID | Provider | Тариф | |----|----------|-------| | auto | ollama | Бесплатно | | gooseek-1.0 | timeweb | По тарифу | ### Роли в пространстве: - `owner` — создатель, полные права - `admin` — может приглашать/удалять участников - `member` — может создавать треды