Files
iiEsaywebUI/scripts/diagnose_search.sh
2026-02-19 18:12:09 +00:00

91 lines
3.4 KiB
Bash
Executable File
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.
#!/bin/sh
# Диагностика проблемы с поиском в Open WebUI
echo "=== ДИАГНОСТИКА ПОИСКА В OPEN WEBUI ==="
echo ""
# 1. Проверка SearXNG
echo "1. Проверка SearXNG..."
SEARXNG_STATUS=$(docker ps | grep searxng | awk '{print $7}')
if [ "$SEARXNG_STATUS" = "healthy" ] || [ "$SEARXNG_STATUS" = "Up" ]; then
echo "✓ SearXNG работает (статус: $SEARXNG_STATUS)"
else
echo "✗ SearXNG не работает (статус: $SEARXNG_STATUS)"
fi
# 2. Проверка JSON формата
echo ""
echo "2. Проверка JSON формата SearXNG..."
JSON_TEST=$(docker exec open-webui curl -s "http://searxng:8080/search?q=test&format=json" 2>&1 | head -c 200)
if echo "$JSON_TEST" | grep -q "results"; then
echo "✓ JSON формат работает"
else
echo "✗ JSON формат не работает"
echo " Ответ: $JSON_TEST"
fi
# 3. Проверка патча User-Agent
echo ""
echo "3. Проверка патча User-Agent..."
RAG_BOT_FOUND=$(docker exec open-webui grep -r "RAG Bot" /app/backend/open_webui/routers/retrieval.py /app/backend/open_webui/utils/middleware.py 2>/dev/null | wc -l)
if [ "$RAG_BOT_FOUND" -eq 0 ]; then
echo "✓ Патч User-Agent применен (проблемная строка не найдена)"
else
echo "✗ Патч User-Agent НЕ применен (найдено вхождений: $RAG_BOT_FOUND)"
echo " Нужно перезапустить Open WebUI для применения патча"
fi
# 4. Проверка логов Open WebUI на ошибки
echo ""
echo "4. Последние ошибки в логах Open WebUI..."
docker logs open-webui --tail 50 2>&1 | grep -i "error\|user-agent\|invalid\|searxng" | tail -10
if [ $? -ne 0 ]; then
echo " (Ошибок не найдено в последних 50 строках)"
fi
# 5. Проверка конфигурации docker-compose
echo ""
echo "5. Проверка конфигурации..."
SEARXNG_URL=$(grep "SEARXNG_QUERY_URL" docker-compose.yml | head -1)
echo " SEARXNG_QUERY_URL: $SEARXNG_URL"
if echo "$SEARXNG_URL" | grep -q "format=json"; then
echo "✓ URL содержит format=json"
else
echo "⚠ URL не содержит format=json явно"
fi
# 6. Проверка settings.yml
echo ""
echo "6. Проверка settings.yml SearXNG..."
if grep -q "formats:" searxng/settings.yml && grep -q "json" searxng/settings.yml; then
echo "✓ JSON формат включен в settings.yml"
else
echo "✗ JSON формат НЕ найден в settings.yml"
fi
if grep -q "limiter: false" searxng/settings.yml; then
echo "✓ Лимитер отключен"
else
echo "⚠ Лимитер может быть включен"
fi
echo ""
echo "=== РЕКОМЕНДАЦИИ ==="
echo ""
if [ "$RAG_BOT_FOUND" -gt 0 ]; then
echo "1. Перезапустите Open WebUI для применения патча User-Agent:"
echo " sudo docker restart open-webui"
echo ""
fi
if ! echo "$JSON_TEST" | grep -q "results"; then
echo "2. Исправьте конфигурацию SearXNG:"
echo " sudo ./scripts/fix_searxng_config.sh"
echo ""
fi
echo "3. Проверьте настройки в интерфейсе Open WebUI:"
echo " Settings → Web Search"
echo " URL должен быть: http://searxng:8080/search?q=<query>&format=json"
echo ""