searchenginSearXNGのローカルデプロイと設定

CherryStudio は SearXNG を通じたウェブ検索をサポートしています。SearXNG はローカルにもサーバー上にもデプロイできるオープンソースプロジェクトで、そのため他の API プロバイダーを必要とする設定方法とは少し異なります。

SearXNG プロジェクトリンクに由来する:SearXNGarrow-up-right

SearXNG の利点

  • オープンソースで無料、API 不要

  • 比較的プライバシー性が高い

  • 高度にカスタマイズ可能

ローカルデプロイ

1. Docker による直接デプロイ

SearXNG は複雑な環境設定を必要としないため、docker compose を使わず、空いているポートを1つ用意するだけでデプロイできます。そのため、最も手軽な方法は Docker で直接イメージを取得してデプロイすることです。

1. ダウンロード、インストールして設定する dockerarrow-up-right

インストール後、イメージの保存先を1つ選択します:

2. SearXNG イメージを検索して取得する

検索欄に入力 searxng に由来する:

イメージを取得:

3. イメージを実行する

取得に成功したら images ページへ移動:

取得したイメージを選択して実行をクリック:

設定項目を開いて設定する:

8085 ポートの例として:

実行に成功したらリンクをクリックして SearXNG のフロントエンド画面を開けます:

このページが表示されればデプロイ成功です:

サーバーデプロイ

Windows で Docker をインストールするのはかなり面倒なため、SearXNG をサーバーにデプロイして、他の人と共有して使うこともできます。しかし残念ながら、SearXNG 自体は現時点で認証をサポートしておらず、第三者が技術的手段でデプロイ済みインスタンスをスキャンして悪用できてしまいます。

このため、Cherry Studio は現在 HTTP 基本認証(RFC7617)arrow-up-rightの設定をサポートしています。ユーザーが自分でデプロイした SearXNG を公開ネットワークに露出する場合は、必ずNginx などのリバースプロキシソフトウェアで HTTP 基本認証を設定してください。以下に簡単なチュートリアルを示します。基本的な Linux 運用知識が必要です。

SearXNG をデプロイする

同様に、ここでも Docker でデプロイします。すでに公式チュートリアルarrow-up-rightに従ってサーバーに最新版 Docker CE をインストール済みだと仮定し、以下に Debian システムでの新規インストール向けの一連のコマンドを示します:

ローカルの監視ポートを変更したい場合や、既存のローカル nginx を再利用したい場合は、 docker-compose.yaml ファイルを編集し、以下を参照してください:

実行 docker compose up -d で起動します。実行 docker compose logs -f searxng でログを確認できます。

Nginx リバースプロキシと HTTP 基本認証の設定

宝塔パネルや 1Panel などのサーバーパネルを使用している場合は、ドキュメントを参照してサイトを追加し、nginx のリバースプロキシを設定したうえで、nginx 設定ファイルを編集する箇所を見つけ、以下の例を参考に変更してください:

Nginx の設定ファイルが /etc/nginx/conf.d 下に保存されていると仮定し、パスワードファイルは同じディレクトリに保存します。

コマンドを実行します( example_nameexample_password を、設定するユーザー名とパスワードに置き換えてください):

Nginx を再起動します(設定の再読み込みでも可)。

このとき Web ページを開くと、すでにユーザー名とパスワードの入力を求められるはずです。先ほど設定したユーザー名とパスワードを入力して SearXNG の検索ページに正常に入れるか確認し、設定が正しいかチェックしてください。

Cherry Studio 関連設定

SearXNG をローカルまたはサーバーにデプロイできたら、次は CherryStudio の関連設定です。

ウェブ検索設定ページに移動し、Searxng を選択します:

ローカルデプロイのリンクを直接入力すると検証失敗になりますが、この時は心配いりません:

直接デプロイした直後はデフォルトで json の返却形式が設定されていないため、データを取得できません。設定ファイルを修正する必要があります。

Docker に戻り、Files タブでイメージ内のタグ付きフォルダを見つけます:

展開してさらに下へスクロールすると、別のタグ付きフォルダが見つかります:

さらに展開して、 settings.yml 設定ファイルを見つけます:

ファイルエディタを開きます:

78 行目を見つけると、タイプが html しかないことが分かります

json タイプを追加して保存し、イメージを再実行します

Cherry Studio に戻って再検証すると、検証成功です:

アドレスはローカルでも指定できます: http://localhostarrow-up-right : ポート番号 または docker アドレスでも指定できます:http://host.docker.internalarrow-up-right : ポート番号

ユーザーが前述の例に従ってサーバーにデプロイし、リバースプロキシを正しく設定している場合、json の返却形式はすでに有効になっています。アドレスを入力して検証すると、リバースプロキシに HTTP 基本認証を設定しているため、このときの検証結果は 401 エラーコードを返すはずです:

クライアント側で HTTP 基本認証を設定し、先ほど設定したユーザー名とパスワードを入力します:

検証を行うと、正常に検証されるはずです。

その他の設定

この時点で SearXNG にはデフォルトのインターネット検索機能があります。検索エンジンをカスタマイズしたい場合は、自分で設定する必要があります

注意すべき点として、ここでの優先設定は大規模モデル呼び出し時の設定には影響しません

大規模モデル呼び出しに使用する検索エンジンを設定したい場合は、設定ファイルで以下を設定してください:

設定言語の参考:

内容が長すぎて直接編集しにくい場合は、ローカル IDE にコピーし、修正後に設定ファイルへ貼り付ければよいです。

検証失敗のよくある原因

返却形式に json 形式が追加されていない

設定ファイルで返却形式に json を追加します:

検索エンジンが正しく設定されていない

Cherry Studio はデフォルトで categories に web と general の両方を含むエンジンを検索対象として選択します。デフォルトでは google などのエンジンが選ばれますが、中国本土からは google などのサイトに直接アクセスできないため失敗します。以下の設定を追加して searxng に baidu エンジンを強制的に使用させれば問題を解決できます:

アクセス速度が速すぎる

searxng の limiter 設定が API アクセスを妨げています。設定で false にしてみてください:

最終更新

役に立ちましたか?