Commit Graph

18 Commits

Author SHA1 Message Date
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
home
a0e3748dde feat: auth service + security audit fixes + cleanup legacy services
Major changes:
- Add auth-svc: JWT auth, register/login/refresh, password reset
- Add auth UI: modals, pages (/login, /register, /forgot-password)
- Add usage tracking (usage_metrics table, daily limits)
- Add tiered rate limiting (free/pro/business)
- Add LLM usage limits per tier

Security fixes:
- All repos now require userID for Update/Delete operations
- JWT middleware in chat-svc, llm-svc, agent-svc, discover-svc
- ErrNotFound/ErrForbidden errors for proper access control

Cleanup:
- Remove legacy TypeScript services/ directory
- Remove computer-svc (to be reimplemented)
- Remove old deploy/docker configs

New files:
- backend/cmd/auth-svc/main.go
- backend/internal/auth/{types,repository}.go
- backend/internal/usage/{types,repository}.go
- backend/pkg/middleware/{llm_limits,ratelimit_tiered}.go
- backend/webui/src/components/auth/*
- backend/webui/src/app/(auth)/*

Made-with: Cursor
2026-02-28 01:33:49 +03:00
home
120fbbaafb fix(computer-svc): stream для завершенных задач + Timeweb env vars
- Исправлен Stream() в computer.go: для completed/failed/cancelled задач
  сразу отправляется финальное событие и канал закрывается (ранее
  соединение зависало с socket hang up)
- Добавлены TIMEWEB_* переменные в docker-compose.yml для computer-svc
  (LLM через Timeweb Cloud AI для России)
- UI компоненты webui обновлены

Made-with: Cursor
2026-02-27 05:17:42 +03:00
home
06fe57c765 feat: Go backend, enhanced search, new widgets, Docker deploy
Major changes:
- Add Go backend (backend/) with microservices architecture
- Enhanced master-agents-svc: reranker, content-classifier, stealth-crawler,
  proxy-manager, media-search, fastClassifier, language detection
- New web-svc widgets: KnowledgeCard, ProductCard, ProfileCard, VideoCard,
  UnifiedCard, CardGallery, InlineImageGallery, SourcesPanel, RelatedQuestions
- Improved discover-svc with discover-db integration
- Docker deployment improvements (Caddyfile, vendor.sh, BUILD.md)
- Library-svc: project_id schema migration
- Remove deprecated finance-svc and travel-svc
- Localization improvements across services

Made-with: Cursor
2026-02-27 04:15:32 +03:00
home
328d968f3f Deploy: migrate k3s → Docker; search logic → master-agents-svc
- deploy/k3s удалён, deploy/docker добавлен (Caddyfile, docker-compose, searxng)
- chat-svc: agents/models/prompts удалены, использует llm-svc (LLMClient, EmbeddingClient)
- master-agents-svc: SearchOrchestrator, classifier, researcher, actions, widgets
- web-svc: ChatModelSelector, Optimization, Sources удалены; InputBarPlus; UnregisterSW
- geo-device-svc, localization-svc: Dockerfiles
- docs: 02-k3s-services-spec.md, RUNBOOK/TELEMETRY/WORKING удалены

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-23 22:14:00 +03:00
home
cd6b7857ba feat: default locale Russian, geo determines language for other countries
- localization-svc: defaultLocale ru, resolveLocale only by geo
- web-svc: DEFAULT_LOCALE ru, layout lang=ru, embeddedTranslations fallback ru
- countryToLocale: default ru when no country or unknown country

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-23 15:10:38 +03:00
home
8fc82a3b90 feat(sidebar): узкое меню, субменю историй с hover, эффект text-fade
- Сужено боковое меню (56px), убрана иконка Home
- Субменю историй при наведении: полная высота, на всю ширину, z-9999
- Класс text-fade для плавного обрезания длинного текста
- Убраны скругления в субменю
- Chatwoot, изменения в posts-mcs и прочие обновления

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-21 16:36:58 +03:00
home
3fa83bc605 feat: статья из Discover, локализация, подсказки
- Статья: заголовок + ссылка (truncate), title в URL, articleTitle в Message
- Локализация Sources, Research Progress, Answer, шагов, formingAnswer
- Подсказки: промпт без жёсткого примера, разнообразие, label 'Что ещё спросить'
- embeddedTranslations, countryToLocale, locale инструкция для LLM

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-21 00:37:06 +03:00
home
f4d945a2b5 feat: localization service and frontend integration
- Add localization-service microservice (locale resolution, translations)
- Add frontend API routes /api/locale and /api/translations/[locale]
- Add LocalizationProvider and localization context
- Integrate localization into layout, EmptyChat, MessageInput components
- Update MICROSERVICES.md architecture docs
- Add localization-service to workspaces

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-20 21:45:44 +03:00
home
4269c8d99b fix: use import type for @huggingface/transformers to speed up dev compilation
Смена статического импорта на import type убирает @huggingface/transformers
из графа зависимостей до момента реального использования. Пакет загружается
только при вызове dynamic import в embed(). Это устраняет долгую (~2 мин)
компиляцию страниц в dev режиме.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-20 21:45:07 +03:00
home
61770527d1 feat(ui): единый акцентный цвет #EA580C, логотип в цветах гусей
- Замена всех акцентных цветов (sky, cyan, #24A0ED) на #EA580C
- Логотип GooSeek на главной — палитра гусей (серый + оранжевый клюв)
- Обновлены: кнопки, ссылки, иконки, hover-состояния, переключатели

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-20 21:25:15 +03:00
home
0989eed206 feat(ui): Roboto font, GooSeek logo, remove custom fonts
- Replace Open Sans with Roboto (YouTube-style typography)
- Add GooSeek wordmark in Google colors above 'Research begins here'
- Remove PP Editorial, Instrument Serif from globals.css and components
- Unify font across frontend and auth-mcs

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-20 17:52:13 +03:00
home
ed4c11e553 feat: News region (EU, Russia, China, America), auto-geo через GeoJS
- Настройка News sources region в Settings → Search
- Источники новостей по регионам (SOURCES_BY_REGION)
- Авто: geo-context + fallback GeoJS по IP (без geo-device)
- Discover: ожидание региона перед fetch, исправлен race
- API: Promise.allSettled для устойчивости при сбоях SearxNG
- Язык поиска: ru/zh/en по региону

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-20 17:35:49 +03:00
home
8ba3f5495a feat: geo-device-service, Weather по геопозиции, Discover вкладка GooSeek
Geo Device Service:
- Новый сервис определения геопозиции, устройства, браузера
- geoip-lite, ua-parser-js, CORS
- GET/POST /api/context

Frontend:
- /api/geo-context — прокси к geo-device, fallback при недоступности
- geoDevice.ts — fetchContextWithClient, fetchContextWithGeolocation
- Weather: геопозиция через geo-device + GeoJS + ipwhois fallback
- Weather API: поддержка city (геокодинг Open-Meteo)
- Discover: вкладка GooSeek по умолчанию

Документация:
- MICROSERVICES.md — секция 3.9 Geo Device Service

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-20 17:20:14 +03:00
home
783569b8e7 feat: монорепо миграция, Discover/SearxNG улучшения
- Миграция на монорепозиторий (apps/frontend, apps/chat-service, etc.)
- Discover: проверка SearxNG, понятное empty state при ненастроенном поиске
- searxng.ts: валидация URL, проверка JSON-ответа, авто-добавление http://
- docker/searxng-config: настройки для JSON API SearxNG

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-20 17:03:45 +03:00
home
c839a0c472 chore: обновление документации, Docker, UI и поисковых компонентов
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-20 16:15:05 +03:00
home
b65d24c1e8 Полный коммит проекта Perplexica
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-20 14:56:42 +03:00
home
d389676f50 Добавить AGENTS.MD: инструкции для AI-агента
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-20 14:56:16 +03:00