Files
gooseek/TEST_RESULTS.md
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

281 lines
8.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Результаты тестирования https://gooseek.ru/
**Дата:** 27 февраля 2026, 02:40 МСК
## ❌ Основная проблема
**Сайт https://gooseek.ru/ НЕДОСТУПЕН**
```
$ curl https://gooseek.ru/
curl: (7) Failed to connect to gooseek.ru port 443: Couldn't connect to server
```
## Причины
### 1. Reverse-proxy (Caddy) не запущен
Файл `deploy/docker/docker-compose.yml` содержит конфигурацию для Caddy, который должен:
- Слушать порты 80/443
- Автоматически получать SSL от Let's Encrypt
- Проксировать `gooseek.ru``web-svc:3000`
**Но этот контейнер НЕ ЗАПУЩЕН.**
### 2. Запущена неправильная конфигурация
Сейчас работают контейнеры из `/backend/deploy/docker/docker-compose.yml` (Go backend):
```
$ docker ps
NAME STATUS
docker-api-gateway-1 Up 21 minutes (unhealthy)
docker-chat-svc-1 Up 21 minutes (unhealthy)
docker-agent-svc-1 Up 21 minutes (unhealthy)
docker-webui-1 Up 20 minutes
docker-llm-svc-1 Up 21 minutes (unhealthy)
docker-search-svc-1 Up 21 minutes (unhealthy)
docker-scraper-svc-1 Up 21 minutes (unhealthy)
...
```
**Все сервисы помечены как "unhealthy"**, кроме базовых (postgres, redis, crawl4ai).
### 3. Chat API не работает
#### Тест 1: Прямой доступ к API Gateway
```bash
$ curl http://localhost:3015/health
curl: (7) Connection refused
```
**Результат:** API Gateway недоступен на localhost, хотя порт должен быть проброшен.
#### Тест 2: Через WebUI
```bash
$ curl http://localhost:3000
✅ OK - WebUI возвращает HTML
```
```bash
$ curl -X POST http://localhost:3000/api/chat \
-H "Content-Type: application/json" \
-d '{
"message": {
"messageId": "msg-123",
"chatId": "chat-123",
"content": "Привет, как дела?"
},
"optimizationMode": "balanced",
"history": [],
"locale": "ru"
}'
Internal Server Error
```
**Результат:** WebUI работает, но chat API возвращает ошибку.
**Причина:** WebUI пытается проксировать запрос на `api-gateway:3015` (через Next.js rewrites), но API Gateway недоступен или не отвечает.
## Что работает ✅
1. **WebUI доступен локально** - `http://localhost:3000` возвращает интерфейс
2. **Docker контейнеры запущены** - все сервисы работают (но unhealthy)
3. **Базовые сервисы здоровы:**
- ✅ postgres (healthy)
- ✅ redis (healthy)
- ✅ crawl4ai (healthy)
- ✅ searxng (running)
## Что НЕ работает ❌
1. **Reverse-proxy (Caddy)** - не запущен
2. **API Gateway** - unhealthy, порт 3015 недоступен
3. **Chat сервис** - unhealthy
4. **Agent сервис** - unhealthy
5. **LLM сервис** - unhealthy
6. **Search сервис** - unhealthy
7. **Все остальные backend Go сервисы** - unhealthy
## Диагностика
### Проверка портов
```bash
$ lsof -nP -iTCP -sTCP:LISTEN | grep -E "3000|3015|3005"
node 31314 home 16u IPv6 *:3000 (LISTEN)
```
Только порт 3000 (webui) слушает. Порты 3015 (api-gateway) и 3005 (chat-svc) не доступны на хосте.
### Архитектура
Текущая конфигурация:
```
[Browser]
❌ gooseek.ru:443 (Caddy не запущен)
✅ localhost:3000 (WebUI - Next.js)
↓ (Next.js rewrites /api/* → api-gateway:3015)
❌ api-gateway:3015 (unhealthy, недоступен)
❌ chat-svc:3005 (unhealthy)
❌ agent-svc:3018 (unhealthy)
```
## Рекомендации по исправлению
### 1. Запустить правильный docker-compose
```bash
cd /Users/home/Desktop/GooSeek/deploy/docker
./run.sh
```
Это должно запустить полный стек включая reverse-proxy.
### 2. Проверить логи unhealthy контейнеров
```bash
docker logs docker-api-gateway-1 --tail 100
docker logs docker-chat-svc-1 --tail 100
docker logs docker-agent-svc-1 --tail 100
docker logs docker-llm-svc-1 --tail 100
```
Искать ошибки:
- Отсутствующие переменные окружения
- Проблемы с подключением к зависимостям
- Ошибки при старте сервиса
### 3. Проверить переменные окружения
Убедиться что `.env` файл существует и содержит:
```bash
# LLM API Keys
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GEMINI_API_KEY=...
TIMEWEB_API_KEY=...
TIMEWEB_AGENT_ACCESS_ID=...
TIMEWEB_API_BASE_URL=...
# Ghost CMS
GHOST_CONTENT_API_KEY=...
GHOST_DB_PASSWORD=...
GHOST_MAIL_USER=...
GHOST_MAIL_PASSWORD=...
```
### 4. Проверить healthcheck'и
Каждый сервис имеет healthcheck. Например, для api-gateway:
```yaml
healthcheck:
test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:3015/health"]
interval: 15s
timeout: 5s
retries: 3
start_period: 10s
```
Если сервис не отвечает на `/health` в течение 10s после старта → unhealthy.
Возможные причины unhealthy:
- Сервис не стартует из-за ошибки
- Сервис стартует медленно (нужно увеличить `start_period`)
- Зависимости недоступны (другие сервисы)
- Отсутствуют переменные окружения
### 5. Проверить сеть Docker
```bash
docker network ls
docker network inspect gooseek
```
Убедиться что все контейнеры в одной сети и могут общаться.
### 6. Проверить DNS и порты
```bash
# DNS
nslookup gooseek.ru
# Порты на роутере
# Убедиться что 80 и 443 проброшены на ПК
```
### 7. Перезапустить с нуля
```bash
# Остановить все
cd /Users/home/Desktop/GooSeek/backend/deploy/docker
docker compose down
# Запустить правильный compose
cd /Users/home/Desktop/GooSeek/deploy/docker
docker compose down
docker compose up -d
# Проверить логи
docker compose logs -f reverse-proxy
docker compose logs -f web-svc
docker compose logs -f api-gateway
```
## Тестовые скрипты
Созданы скрипты для тестирования:
1. **test-chat.sh** - базовая проверка сервисов
2. **test-chat-proper.sh** - тест с правильным payload
3. **test-chat-via-webui.sh** - тест через webui
Использование:
```bash
cd /Users/home/Desktop/GooSeek
./test-chat-via-webui.sh
```
## Скриншоты и ошибки
### Консоль браузера (ожидаемые ошибки)
Если открыть https://gooseek.ru/ в браузере:
- **Network:** ERR_CONNECTION_REFUSED или ERR_NAME_NOT_RESOLVED
- **Console:** Нет ошибок (страница не загружается)
Если открыть http://localhost:3000/ в браузере:
- **Network:** ✅ 200 OK для главной страницы
- **Network:** ❌ 500 Internal Server Error для `/api/chat`
- **Console:** Ошибка при попытке отправить сообщение
### Пример ошибки в консоли (если бы сайт был доступен)
```javascript
POST http://localhost:3000/api/chat 500 (Internal Server Error)
Error: Chat request failed: 500
at streamChat (api.ts:43)
at sendMessage (useChat.ts:53)
```
## Итоговый вывод
**Сайт https://gooseek.ru/ полностью недоступен.**
**Причины:**
1. ❌ Reverse-proxy (Caddy) не запущен → нет HTTPS доступа
2. ❌ API Gateway unhealthy → chat не работает даже локально
3.Все backend сервисы unhealthy → нет функциональности
**Что нужно сделать:**
1. Запустить правильный docker-compose с reverse-proxy
2. Исправить проблемы с unhealthy контейнерами (проверить логи)
3. Убедиться что все переменные окружения настроены
4. Проверить DNS и проброс портов
**Приоритет:** КРИТИЧЕСКИЙ - сайт полностью не работает.