Tools
SearXNG 検索
OpenClawはSearXNGをセルフホスト型で、
キー不要のweb_searchプロバイダーとしてサポートしています。SearXNGは、Google、Bing、DuckDuckGo、その他のソースから結果を集約するオープンソースのメタ検索エンジンです。
利点:
- 無料で無制限 -- APIキーや商用サブスクリプションは不要
- プライバシー / エアギャップ -- クエリがネットワークの外に出ない
- どこでも動作 -- 商用検索APIのリージョン制限なし
セットアップ
SearXNGインスタンスを実行する
docker run -d -p 8888:8080 searxng/searxng
または、アクセス可能な既存のSearXNGデプロイメントを使用します。本番環境のセットアップについては SearXNGドキュメントを参照してください。
設定する
openclaw configure --section web
# Select "searxng" as the provider
または、環境変数を設定して自動検出に見つけさせます。
export SEARXNG_BASE_URL="http://localhost:8888"
設定
{
tools: {
web: {
search: {
provider: "searxng",
},
},
},
}
SearXNGインスタンスのPluginレベル設定:
{
plugins: {
entries: {
searxng: {
config: {
webSearch: {
baseUrl: "http://localhost:8888",
categories: "general,news", // optional
language: "en", // optional
},
},
},
},
},
}
baseUrlフィールドはSecretRefオブジェクトも受け付けます。
トランスポートルール:
https://はパブリックまたはプライベートのSearXNGホストで動作するhttp://は信頼済みのプライベートネットワークまたはループバックホストでのみ受け付けられる- パブリックSearXNGホストは
https://を使用する必要がある - プライベート/内部ホストはセルフホスト型ネットワークガードを使用する。パブリックの
https://ホストは厳格なWeb検索ガード上に残り、プライベート アドレスへリダイレクトできない
環境変数
設定の代替としてSEARXNG_BASE_URLを設定します。
export SEARXNG_BASE_URL="http://localhost:8888"
SEARXNG_BASE_URLが設定され、明示的なプロバイダーが設定されていない場合、自動検出はSearXNGを自動的に選択します(最も低い優先度 -- キーを持つAPIベースのプロバイダーがある場合は、それが先に選ばれます)。
Plugin設定リファレンス
| フィールド | 説明 |
|---|---|
baseUrl |
SearXNGインスタンスのベースURL(必須) |
categories |
general、news、scienceなどのカンマ区切りカテゴリ |
language |
en、de、frなど、結果の言語コード |
注意事項
- JSON API -- HTMLスクレイピングではなく、SearXNGネイティブの
format=jsonエンドポイントを使用する - 画像結果URL -- SearXNGが直接画像URLを返す場合、画像カテゴリの結果には
img_srcが含まれる - APIキー不要 -- どのSearXNGインスタンスでもすぐに動作する
- ベースURL検証 --
baseUrlは有効なhttp://またはhttps://URLでなければならない。パブリックホストはhttps://を使用する必要がある - ネットワークガード -- プライベート/内部SearXNGエンドポイントは
プライベートネットワークアクセスを明示的に有効化する。パブリックの
https://SearXNGエンドポイントは厳格なSSRF 保護を維持する - 自動検出順序 -- SearXNGは自動検出で最後(順序200)にチェックされる。設定済みキーを持つAPIベースのプロバイダーが先に実行され、その後に DuckDuckGo(順序100)、Ollama Web Search(順序110)が続く
- セルフホスト型 -- インスタンス、クエリ、アップストリーム検索エンジンを自分で制御する
- カテゴリ は未設定時にデフォルトで
generalになる - カテゴリフォールバック --
general以外のカテゴリリクエストが成功しても 結果が0件だった場合、OpenClawは空の結果セットを返す前に、同じクエリをgeneralで一度再試行する
関連情報
- Web検索の概要 -- すべてのプロバイダーと自動検出
- DuckDuckGo検索 -- もう1つのキー不要フォールバック
- Brave Search -- 無料枠付きの構造化結果