searchenginЛокальное развертывание и настройка SearXNG

CherryStudio поддерживает веб-поиск через SearXNG — это проект с открытым исходным кодом, который можно разворачивать как локально, так и на сервере, поэтому его настройка немного отличается от других способов, требующих API-провайдера.

Ссылка на проект SearXNGSearXNGarrow-up-right

Преимущества SearXNG

  • Открытый исходный код и бесплатно, API не требуется

  • Относительно высокая конфиденциальность

  • Высокая степень настраиваемости

Локальное развертывание

I. Прямое развертывание через Docker

Поскольку SearXNG не требует сложной настройки окружения, можно обойтись без docker compose — достаточно указать свободный порт. Поэтому самый быстрый способ — просто развернуть его, напрямую загрузив образ через Docker.

1. Скачивание, установка и настройка dockerarrow-up-right

После установки выберите путь для хранения образов:

2. Найдите и загрузите образ SearXNG

Введите в строке поиска searxng

Загрузите образ:

3. Запустите образ

После успешной загрузки перейдите на страницу images страницу:

Выберите загруженный образ и нажмите запуск:

Откройте настройки и выполните конфигурацию:

Например, для 8085 порта:

После успешного запуска нажмите на ссылку, чтобы открыть фронтенд SearXNG:

Если появляется эта страница, значит развертывание прошло успешно:

Развертывание на сервере

Поскольку установка Docker в Windows — довольно хлопотное дело, пользователь может развернуть SearXNG на сервере и при желании предоставить его и другим. Однако, к сожалению, сам SearXNG пока не поддерживает аутентификацию, из-за чего другие могут техническими средствами просканировать и злоупотреблять вашим экземпляром.

Для этого Cherry Studio уже поддерживает настройку HTTP Basic Authentication (RFC7617)arrow-up-right. Если вы хотите выставить развернутый вами SearXNG в публичную сеть, пожалуйста,обязательнонастройте HTTP Basic Authentication через Nginx или другой reverse proxy. Ниже приведён краткий туториал, для которого нужны базовые знания Linux-администрирования.

Развертывание SearXNG

Аналогично, по-прежнему используем развертывание через Docker. Предположим, что вы уже следовалиофициальному руководствуarrow-up-rightи установили на сервере последнюю версию Docker CE. Ниже приведена готовая команда, подходящая для чистой установки в Debian:

Если вам нужно изменить локальный порт прослушивания, либо использовать уже имеющийся локальный nginx, можно отредактировать docker-compose.yaml файл, ориентируясь на следующий пример:

Выполните docker compose up -d для запуска. Выполните docker compose logs -f searxng чтобы увидеть логи.

Настройка Nginx reverse proxy и HTTP Basic Authentication

Если вы используете панель управления сервером, например BaoTa или 1Panel, обратитесь к их документации, чтобы добавить сайт и настроить nginx reverse proxy; затем найдите место для изменения конфигурационного файла nginx и внесите правки по примеру ниже:

Предположим, что конфигурационный файл Nginx сохранён в /etc/nginx/conf.d , мы сохраним файл пароля в этом же каталоге.

Выполните команду (самостоятельно замените example_nameexample_password на имя пользователя и пароль, которые вы хотите задать):

Перезапустите Nginx (перезагрузка конфигурации тоже подойдёт).

Теперь можно открыть страницу: она уже будет запрашивать имя пользователя и пароль. Введите ранее заданные имя пользователя и пароль, чтобы проверить, удастся ли успешно войти на страницу поиска SearXNG и тем самым убедиться, что конфигурация верна.

Связанные настройки Cherry Studio

После успешного локального или серверного развертывания SearXNG следующим шагом будет настройка Cherry Studio.

Откройте страницу настроек веб-поиска и выберите Searxng:

Если напрямую ввести ссылку на локальное развертывание, проверка не пройдёт, но не беспокойтесь:

поскольку после прямого развертывания по умолчанию не настроен тип возврата json, получить данные невозможно, нужно изменить конфигурационный файл.

Вернитесь в Docker, откройте вкладку Files и найдите в образе папку с меткой:

Разверните её и продолжайте прокручивать вниз — вы найдёте ещё одну папку с меткой:

Продолжайте разворачивать и найдите settings.yml конфигурационный файл:

Нажмите, чтобы открыть редактор файла:

Найдите строку 78; видно, что тип только один — html

Добавьте тип json, сохраните и снова запустите образ

Снова вернитесь в Cherry Studio для проверки — проверка успешна:

Адрес можно указать локальный: http://localhostarrow-up-right : номер порта Также можно указать адрес Docker:http://host.docker.internalarrow-up-right : номер порта

Если пользователь следовал приведённому ранее примеру, развернул сервер и правильно настроил reverse proxy, а также включил тип возврата json, то после ввода адреса и проверки, учитывая что reverse proxy защищён HTTP Basic Authentication, проверка должна вернуть код ошибки 401:

В клиенте настройте HTTP Basic Authentication и введите ранее заданные имя пользователя и пароль:

Выполните проверку — она должна пройти успешно.

Другие настройки

На этом этапе SearXNG уже обладает базовой способностью поиска в интернете; если требуется настроить поисковые системы под себя, это нужно сделать вручную

Обратите внимание, что эти предпочтения здесь не влияют на настройки, используемые при вызове большой модели

Если нужно настроить поисковые системы, используемые при вызове большой модели, это следует задать в конфигурационном файле:

Справка по языку конфигурации:

Если содержимое слишком длинное и редактировать его напрямую неудобно, можно скопировать его в локальную IDE, внести изменения и затем вставить обратно в конфигурационный файл.

Распространённые причины неудачной проверки

В формате ответа не добавлен json

Добавьте json в список форматов возврата в конфигурационном файле:

Поисковая система настроена неправильно

Cherry Studio по умолчанию выбирает для поиска движки, в categories которых одновременно присутствуют web и general. По умолчанию могут быть выбраны, например, google и другие движки; поскольку в материковом Китае сайты вроде Google напрямую недоступны, проверка может не пройти. Добавьте следующую конфигурацию, чтобы searxng принудительно использовал движок baidu — это решит проблему:

Слишком высокая скорость запросов

Конфигурация limiter в searxng мешает доступу к API; попробуйте установить её в настройках в false:

Последнее обновление

Это было полезно?