Тишина там, где должен быть поиск
Вы настроили OpenWebUI с Qwen, подключили SearXNG для веб-поиска, и все работало. А потом перестало. Пустая страница вместо результатов, ошибки соединения, или просто бесконечное ожидание. Знакомая картина? Добро пожаловать в клуб - ваш IP попал в черный список.
SearXNG - метапоисковая система. Она запрашивает результаты у Google, Bing, DuckDuckGo и других, а затем агрегирует их. Проблема в том, что поисковые гиганты не любят, когда их скребут. Особенно массово. Особенно с одного IP.
Как понять, что вас заблокировали
Сначала исключите очевидное. Проверьте, что SearXNG вообще запущен и доступен. Потом переходите к детективной работе.
1 Проверка прямого доступа
Откройте в браузере адрес вашего SearXNG инстанса. Если видите поисковую форму - хорошо. Введите простой запрос, например "test". Если результатов нет или появляется капча - это первый признак блокировки.
2 Анализ логов OpenWebUI
Запустите OpenWebUI с флагом --verbose или посмотрите логи контейнера. Ищите ошибки соединения с SearXNG. Типичные сообщения:
- "Connection refused" - SearXNG не отвечает
- "Timeout" - запросы не проходят
- "HTTP 429 Too Many Requests" - вас уже ограничили
- "HTTP 403 Forbidden" - полная блокировка
3 Тест с других IP
Попробуйте подключиться к вашему SearXNG с другого IP. Если с другого адреса все работает - ваш основной IP в черном списке. Если не работает нигде - проблема в настройках SearXNG.
Почему это происходит (и будет происходить чаще)
AI-агенты стали популярны. Каждый, кто читал статью про WebSearch AI, попробовал настроить локальный поиск. Тысячи пользователей - тысячи запросов. Поисковые системы заметили аномальную активность и начали защищаться.
Проблема усугубляется тем, что многие используют публичные SearXNG инстансы. Один IP обслуживает сотни пользователей - и бан наступает быстрее. А когда интернет не готов к агентам, защитные механизмы работают против нас.
| Поисковая система | Лимит запросов | Скорость блокировки |
|---|---|---|
| ~100 в день | Очень быстро | |
| Bing | ~1000 в день | Средне |
| DuckDuckGo | ~500 в день | Быстро |
Что делать, если блокировка уже случилась
1 Сменить IP (самое простое)
Если у вас динамический IP - переподключите интернет. Если статический - обратитесь к провайдеру или используйте VPN. Но помните: публичные VPN тоже часто в черных списках.
2 Настроить прокси в SearXNG
В файле конфигурации SearXNG (settings.yml) добавьте:
# Использовать HTTP прокси для всех запросов
server:
proxy: "http://ваш-прокси:порт"
Или настройте прокси только для определенных поисковых систем. Это сложнее, но эффективнее.
3 Уменьшить частоту запросов
В OpenWebUI настройте задержки между запросами. Если ваш AI-агент делает 10 запросов в секунду - это гарантированный бан. Добавьте sleep между запросами, кэшируйте результаты.
Не используйте публичные SearXNG инстансы для продакшена. Их IP меняются редко, и они уже давно в черных списках всех поисковиков.
Альтернативы, которые работают
SearXNG - не единственный вариант. Есть решения, которые не зависят от капризов Google.
Локальный поиск с Whoosh
Если вам нужно искать по локальным документам или заранее скачанным страницам - используйте Whoosh или Elasticsearch. Это полностью локальное решение без внешних запросов.
Настройте периодический сбор данных с интересующих сайтов (скажем, раз в день), индексируйте их локально и ищите. Медленнее, чем Google? Да. Зато стабильно и бесплатно.
Metaphor API
Платный, но специально созданный для AI. Не блокирует запросы от автоматических систем. Стоит от $0.0005 за запрос. Если у вас небольшой объем - это дешевле, чем настраивать собственную инфраструктуру.
Brave Search API
У Brave есть собственный индекс и API для разработчиков. Лимиты щедрее, чем у Google. Интеграция с OpenWebUI требует кастомной настройки, но работает стабильно.
Собственный ротатор прокси
Самый сложный, но самый надежный вариант. Арендуйте несколько дешевых VPS в разных датацентрах, настройте на них Squid или аналоги, и ротируйте запросы через них.
Плюсы: полный контроль, высокие лимиты. Минусы: нужно администрировать, стоит денег, требует знаний. Если вы читали статью про аренду GPU, то знаете, что инфраструктура - это всегда расходы.
Настройка OpenWebUI без SearXNG
OpenWebUI поддерживает разные провайдеры поиска через litellm. Вот как переключиться:
- В настройках OpenWebUI найдите раздел "Search Providers"
- Удалите или закомментируйте секцию с SearXNG
- Добавьте нового провайдера (например, Metaphor)
- Укажите API ключ и endpoint
- Перезапустите OpenWebUI
Если используете Docker, передавайте настройки через переменные окружения:
docker run -e SEARCH_PROVIDER="metaphor" -e METAPHOR_API_KEY="ваш-ключ" ...
Когда поиск вообще не нужен
Самый радикальный совет: пересмотрите архитектуру. Нужен ли вам реальный веб-поиск? Возможно, достаточно локальной базы знаний.
Если ваш AI-агент отвечает на вопросы по специфичной тематике - соберите датасет, обучите RAG. Как в статье про арабские документы в RAG. Это даст более точные ответы, чем случайные результаты из интернета.
Или используйте гибридный подход: сначала локальный поиск по своей базе, и только если ответа нет - запрос к внешним источникам. Так вы сократите количество запросов на 80-90%.
Будущее без поиска (или с другим поиском)
Тренд очевиден: поисковые системы защищают свои данные. Бесплатный сыр только в мышеловке. Платные API становятся нормой.
Что делать? Привыкать. Бюджетировать расходы на поиск как часть инфраструктуры. Или инвестировать в локальные решения. Или ждать, когда появятся децентрализованные поисковые системы для AI (они уже появляются, но пока сырые).
Пока Google и другие гиганты убивают бесплатные API, мелкие игроки пытаются занять эту нишу. Но их масштаб не сравним с Google.
Не храните все яйца в одной корзине. Настройте несколько провайдеров поиска с фолбэком. Если один перестал работать - автоматически переключайтесь на другой.
И последнее: мониторьте. Настройте алерты на ошибки поиска. Отслеживайте количество успешных запросов. Автоматизируйте смену прокси при превышении лимитов. Как в статье про AI-агента для SSH - пусть система сама решает проблемы.
Поиск для AI - это не фича, а инфраструктура. И относиться к нему нужно соответственно.