Files
gooseek/CONTINUE.md
home e6b9cfc60a feat: spaces redesign, model selector, auth fixes
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
2026-02-28 02:30:05 +03:00

6.1 KiB
Raw Blame History

Недоделки — начать отсюда

Последнее исправление (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

Средний приоритет:

  1. OAuth провайдеры — Google, GitHub, Yandex
  2. Подтверждение email — отправка письма при регистрации
  3. Real-time обновления — WebSocket для тредов в пространстве
  4. Уведомления — когда кто-то добавляет сообщение в тред

Низкий приоритет:

  1. Интеграция оплаты — ЮKassa для пополнения баланса
  2. 2FA — TOTP аутентификация
  3. Экспорт тредов — PDF/Markdown

Контекст

Модели:

ID Provider Тариф
auto ollama Бесплатно
gooseek-1.0 timeweb По тарифу

Роли в пространстве:

  • owner — создатель, полные права
  • admin — может приглашать/удалять участников
  • member — может создавать треды