Files
iiEsaywebUI/scripts/fix_user_agent_final.sh

43 lines
2.5 KiB
Bash
Raw Permalink Normal View History

#!/bin/sh
# Финальное исправление всех вариантов User-Agent с пробелом в начале
echo "=== ФИНАЛЬНОЕ ИСПРАВЛЕНИЕ USER-AGENT ==="
echo ""
# Исправляем "External Web Loader" вариант
echo "Исправление external_web.py..."
docker exec open-webui sed -i 's/"User-Agent": " (https:\/\/github\.com\/open-webui\/open-webui) External Web Loader"/"User-Agent": "Open-WebUI-External-Web-Loader"/g' /app/backend/open_webui/retrieval/loaders/external_web.py
# Исправляем "RAG Bot" вариант (на всякий случай еще раз)
echo "Исправление всех вариантов RAG Bot..."
docker exec open-webui find /app/backend -name "*.py" -type f -exec sed -i 's/"User-Agent": " (https:\/\/github\.com\/open-webui\/open-webui) RAG Bot"/"User-Agent": "Open-WebUI-RAG-Bot"/g' {} \;
docker exec open-webui find /app/backend -name "*.py" -type f -exec sed -i "s/'User-Agent': ' (https:\/\/github\.com\/open-webui\/open-webui) RAG Bot'/'User-Agent': 'Open-WebUI-RAG-Bot'/g" {} \;
# Универсальная замена - любой User-Agent с пробелом в начале
echo "Универсальная замена всех User-Agent с пробелом..."
docker exec open-webui find /app/backend -name "*.py" -type f -exec sed -i 's/"User-Agent": " \([^"]*github\.com\/open-webui[^"]*\)"/"User-Agent": "Open-WebUI-Bot"/g' {} \;
docker exec open-webui find /app/backend -name "*.py" -type f -exec sed -i "s/'User-Agent': ' \([^']*github\.com\/open-webui[^']*\)'/'User-Agent': 'Open-WebUI-Bot'/g" {} \;
# Очистка кеша
echo "Очистка кеша Python..."
docker exec open-webui find /app/backend -name "*.pyc" -delete 2>/dev/null
docker exec open-webui find /app/backend -name "__pycache__" -type d -exec rm -rf {} + 2>/dev/null || true
# Проверка
echo ""
echo "Проверка результата..."
PROBLEM_COUNT=$(docker exec open-webui grep -rn '"User-Agent": " (' /app/backend --include="*.py" 2>/dev/null | wc -l)
if [ "$PROBLEM_COUNT" -eq 0 ]; then
echo "✓ Все проблемные строки исправлены!"
else
echo "⚠ Найдено проблемных строк: $PROBLEM_COUNT"
docker exec open-webui grep -rn '"User-Agent": " (' /app/backend --include="*.py" 2>/dev/null
fi
echo ""
echo "Перезапуск Open WebUI..."
docker restart open-webui
echo ""
echo "✓ Готово! Подождите 15 секунд и проверьте поиск."