Spaces: - Perplexity-like UI with collaboration features - Space detail page with threads/members tabs - Invite members via email, role management - New space creation with icon/color picker Model selector: - Added Ollama client for free Auto model - GooSeek 1.0 via Timeweb (tariff-based) - Frontend model dropdown in ChatInput Auth & Infrastructure: - Fixed auth-svc missing from Dockerfile.all - Removed duplicate ratelimit_tiered.go (conflict) - Added Redis to api-gateway for rate limiting - Fixed Next.js proxy for local development UI improvements: - Redesigned login button in sidebar (gradient) - Settings page with tabs (account/billing/prefs) - Auth pages visual refresh Made-with: Cursor
6.1 KiB
6.1 KiB
Недоделки — начать отсюда
Последнее исправление (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)
Осталось сделать
Высокий приоритет:
-
Backend API endpoints — добавить API для:
GET /api/v1/spaces/:id/membersPOST /api/v1/spaces/:id/inviteDELETE /api/v1/spaces/:id/members/:userIdPOST /api/v1/spaces/invite/:token/acceptGET /api/v1/spaces/:id/threads
-
Email отправка — отправлять email с приглашением
-
Ollama в docker-compose — добавить сервис ollama
Средний приоритет:
- OAuth провайдеры — Google, GitHub, Yandex
- Подтверждение email — отправка письма при регистрации
- Real-time обновления — WebSocket для тредов в пространстве
- Уведомления — когда кто-то добавляет сообщение в тред
Низкий приоритет:
- Интеграция оплаты — ЮKassa для пополнения баланса
- 2FA — TOTP аутентификация
- Экспорт тредов — PDF/Markdown
Контекст
Модели:
| ID | Provider | Тариф |
|---|---|---|
| auto | ollama | Бесплатно |
| gooseek-1.0 | timeweb | По тарифу |
Роли в пространстве:
owner— создатель, полные праваadmin— может приглашать/удалять участниковmember— может создавать треды