34 Commits

Author SHA1 Message Date
home
7a40ff629e feat: LLM routing by tier (free→Ollama, pro→Timeweb)
Some checks failed
Build and Deploy GooSeek / build-and-deploy (push) Failing after 8m25s
- Add tier-based provider routing in llm-svc
  - free tier → Ollama (local qwen3.5:9b)
  - pro/business → Timeweb Cloud AI
- Add /api/v1/embed endpoint for embeddings via Ollama
- Update Ollama client: qwen3.5:9b default, remove auth
- Add GenerateEmbedding() function for qwen3-embedding:0.6b
- Add Ollama K8s deployment with GPU support (RTX 4060 Ti)
- Add monitoring stack (Prometheus, Grafana, Alertmanager)
- Add Grafana dashboards for LLM and security metrics
- Update deploy.sh with monitoring and Ollama deployment

Made-with: Cursor
2026-03-03 02:25:22 +03:00
home
5ac082a7c6 docs: update CONTINUE.md with deployment fixes
All checks were successful
Build and Deploy GooSeek / build-and-deploy (push) Successful in 5m21s
Made-with: Cursor
2026-03-02 22:31:26 +03:00
home
e64567a224 fix: file-svc PVC use ReadWriteOnce, add k3s registries config
Some checks failed
Build and Deploy GooSeek / build-and-deploy (push) Has been cancelled
- Change file-svc PVC from ReadWriteMany to ReadWriteOnce (local-path compatible)
- Set file-svc replicas to 1 (RWO limitation)
- Add k3s-registries.yaml for insecure private registry config

Made-with: Cursor
2026-03-02 22:31:04 +03:00
home
c9e5ff69cf docs: update CONTINUE.md - all security tasks completed
Some checks failed
Build and Deploy GooSeek / build-and-deploy (push) Failing after 7m9s
Made-with: Cursor
2026-03-02 22:02:33 +03:00
home
d2ef146474 security: upgrade Gitea to 1.25.4, add security headers
Some checks failed
Build and Deploy GooSeek / build-and-deploy (push) Has been cancelled
- Update Gitea from 1.22.6 to 1.25.4 (fixes CVE-2026-20736, CVE-2026-20912)
- Disable public registration
- Disable Swagger API
- Add nginx-ingress security headers:
  - X-Content-Type-Options: nosniff
  - X-XSS-Protection: 1; mode=block
  - Referrer-Policy: strict-origin-when-cross-origin
  - Permissions-Policy
- Enable HSTS preload
- Reorganize Gitea K8s manifests into gitea/ directory

Made-with: Cursor
2026-03-02 22:01:51 +03:00
home
c3965a2c6a fix: resolve kustomize namespace conflict for gooseek-sandbox
Some checks failed
Build and Deploy GooSeek / build-and-deploy (push) Failing after 7m34s
- Extracted gooseek-sandbox Namespace to separate file
- Apply sandbox-namespace.yaml separately before kustomize
- Fixed deprecated commonLabels -> labels
- Prevents namespace transformation conflict

Made-with: Cursor
2026-03-02 21:38:49 +03:00
home
0053ba251d ci: trigger build with fixed Dockerfile
Some checks failed
Build and Deploy GooSeek / build-and-deploy (push) Failing after 3m31s
Made-with: Cursor
2026-03-02 21:28:27 +03:00
home
53a2858bd6 fix: install all deps for webui build including devDependencies
Some checks failed
Build and Deploy GooSeek / build-and-deploy (push) Has been cancelled
The Next.js build requires TypeScript, @types/*, tailwindcss and other
devDependencies. Changed npm ci --only=production to npm ci.

Made-with: Cursor
2026-03-02 21:24:40 +03:00
home
02af7e353f ci: trigger workflow with public repo
Some checks failed
Build and Deploy GooSeek / build-and-deploy (push) Failing after 2m43s
Made-with: Cursor
2026-03-02 21:11:55 +03:00
home
5c939b3f72 ci: use shell commands instead of JS actions for host mode
Some checks failed
Build and Deploy GooSeek / build-and-deploy (push) Failing after 3m46s
Made-with: Cursor
2026-03-02 21:05:09 +03:00
home
23964881c9 ci: fix registry IP for host mode runner
Some checks failed
Build and Deploy GooSeek / build-backend (push) Failing after 2s
Build and Deploy GooSeek / build-webui (push) Failing after 2s
Build and Deploy GooSeek / deploy (push) Has been skipped
Made-with: Cursor
2026-03-02 21:03:45 +03:00
home
04fdee06a4 ci: trigger after gitea restart
Some checks failed
Build and Deploy GooSeek / build-backend (push) Failing after 2s
Build and Deploy GooSeek / build-webui (push) Failing after 2s
Build and Deploy GooSeek / deploy (push) Has been skipped
Made-with: Cursor
2026-03-02 20:42:45 +03:00
home
fdbb0ec1b7 ci: re-trigger with host runner
Some checks failed
Build and Deploy GooSeek / build-backend (push) Failing after 2s
Build and Deploy GooSeek / build-webui (push) Failing after 2s
Build and Deploy GooSeek / deploy (push) Has been skipped
Made-with: Cursor
2026-03-02 20:39:34 +03:00
home
163e169057 ci: trigger workflow
Some checks failed
Build and Deploy GooSeek / build-backend (push) Failing after 2s
Build and Deploy GooSeek / build-webui (push) Failing after 2s
Build and Deploy GooSeek / deploy (push) Has been skipped
Made-with: Cursor
2026-03-02 20:34:53 +03:00
home
ab48a0632b feat: CI/CD pipeline + Learning/Medicine/Travel services
Some checks failed
Build and Deploy GooSeek / build-backend (push) Failing after 1m4s
Build and Deploy GooSeek / build-webui (push) Failing after 1m2s
Build and Deploy GooSeek / deploy (push) Has been skipped
- Add Gitea Actions workflow for automated build & deploy
- Add K8s manifests: webui, travel-svc, medicine-svc, sandbox-svc
- Update kustomization for localhost:5000 registry
- Add ingress for gooseek.ru and api.gooseek.ru
- Learning cabinet with onboarding, courses, sandbox integration
- Medicine service with symptom analysis and doctor matching
- Travel service with itinerary planning
- Server setup scripts (NVIDIA/CUDA, K3s, Gitea runner)

Made-with: Cursor
2026-03-02 20:25:44 +03:00
home
08bd41e75c feat: travel service with 2GIS routing, POI, hotels + finance providers + UI overhaul
- Add travel-svc microservice (Amadeus, TravelPayouts, 2GIS, OpenRouteService)
- Add travel orchestrator with parallel collectors (events, POI, hotels, flights)
- Add 2GIS road routing with transport cost calculation (car/bus/taxi)
- Add TravelMap (2GIS MapGL) and TravelWidgets components
- Add useTravelChat hook for streaming travel agent responses
- Add finance heatmap providers refactor
- Add SearXNG settings, API proxy routes, Docker compose updates
- Update Dockerfiles, config, types, and all UI pages for consistency

Made-with: Cursor
2026-03-01 21:58:32 +03:00
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