Перейти к содержанию

Веб-поиск

Fluxion ищет в интернете, когда вопрос требует свежей информации, — или по команде /web в CLI. Найденные страницы очищаются (trafilatura) и кэшируются в SQLite, чтобы не повторять запросы.

Встроенный поиск (по умолчанию)

Работает сразу после установки: ничего настраивать не нужно, Docker не запускается. Программа ищет через DuckDuckGo — во встроенном браузере в режиме инкогнито, а если он недоступен, через облегчённую версию DuckDuckGo. В интернет уходит только текст поискового запроса, не код проекта.

Расширенный поиск (SearXNG, по желанию)

SearXNG — метапоисковик в Docker: он опрашивает несколько поисковых систем и даёт больше источников. Нужен установленный Docker Desktop.

В программе: меню Правка → «Расширенный веб-поиск (SearXNG в Docker)». Программа запустит контейнер fluxion-searxng и начнёт им пользоваться, как только он ответит, — без перезапуска. Выбор запоминается: при следующих запусках контейнер стартует сам. Выключение того же пункта возвращает встроенный поиск и останавливает контейнер. Если SearXNG не ответил, запрос выполняется встроенным поиском.

То же включается кнопкой «Исправить» в строке веб-поиска на странице «Состояние», а без меню — переменной FLUXION_SEARXNG=1.

Для CLI и API-сервера:

powershell -File scripts/setup_searxng.ps1

Скрипт создаёт контейнер fluxion-searxng с настройками, где включён JSON-формат ответов: без него SearXNG отвечает программе ошибкой 403.

Проверка:

curl "http://localhost:8080/search?q=python&format=json"

Использование в CLI

❯ /web python 3.12 new features
❯ /webclear        # очистить кэш веб-поиска

Маршрутизатор сам выбирает веб-поиск для вопросов о свежих событиях; заранее посмотреть маршрут — /route <вопрос>.

Настройки

web:
  searxng_url: http://localhost:8080
  max_pages: 3          # сколько страниц читать на запрос
  timeout: 10
  cache_ttl_hours: 24

Адрес SearXNG можно переопределить переменной SEARXNG_URL.