searxng-search について
ローカルまたはネットワーク経由で利用できる SearXNG を使ってウェブ検索するスキルです。外部 API キーなしで、コマンドライン検索とページ内容の抽出を行えます。
主な機能
- 01SearXNG によるウェブ検索
- 02ページ内容の Markdown 抽出
- 03結果数と内容オプションの指定
- 04ローカル環境と Docker 環境の検出
- 05SearXNG URL のカスタマイズ
活用シーン
- 01ドキュメントや API リファレンスの検索
- 02ライブラリーやフレームワークの調査
- 03外部 API キーなしで最新情報を検索
- 04URL から読みやすい内容を抽出
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ walterra/ agent-tools --skill searxng-searchインストール後、Claude Code で/searxng-searchを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
package.jsonREADME.mdscripts/content.jssearch.jssearxng/settings.yml詳細
SearXNG 検索
SearXNG メタ検索エンジンを使ったローカルのウェブ検索です。外部 API キーは不要です。
前提条件
- ローカルで実行中の SearXNG インスタンス(デフォルト:
http://localhost:8080)、またはネットワーク経由でアクセス可能なインスタンス - Node.js 18+ がインストールされていること
SearXNG のクイックセットアップ
SearXNG の設定で JSON API を有効にする必要があります(デフォルトでは無効です)。
このスキルには、JSON API を有効にする設定済みの settings.yml が含まれています。
# Using Docker (recommended) - mount the included settings to enable JSON API
docker run -d -p 8080:8080 --name searxng \
-v {baseDir}/searxng/settings.yml:/etc/searxng/settings.yml:ro \
searxng/searxng
# Or see https://docs.searxng.org/admin/installation.html
注: デフォルトの SearXNG イメージでは HTML 形式のみが有効です。 カスタム設定を使用しないと、JSON API は HTTP 403 Forbidden を返します。
セットアップ
初めて使用する前に、依存関係をインストールします。
cd {baseDir} && npm install
環境
このスキルは、ローカルで実行されているか Docker 内で実行されているかを自動検出します。
| 環境 | デフォルト URL | 検出方法 |
|---|---|---|
| ローカル | http://localhost:8080 | /.dockerenv ファイルがない |
| Docker | http://searxng:8080 | /.dockerenv が存在する |
必要に応じて、環境変数 SEARXNG_URL で上書きできます。
検索
{baseDir}/scripts/search.js "query" # Basic search (5 results)
{baseDir}/scripts/search.js "query" -n 10 # More results
{baseDir}/scripts/search.js "query" --content # Include page content as markdown
{baseDir}/scripts/search.js "query" -n 3 --content # Combined
例
# Search for documentation
{baseDir}/scripts/search.js "typescript generics tutorial"
# Research with content extraction
{baseDir}/scripts/search.js "react server components" -n 5 --content
# Find API references
{baseDir}/scripts/search.js "site:docs.github.com REST API" -n 3
ページコンテンツの抽出
URL を取得し、読みやすいコンテンツを Markdown として抽出します。
{baseDir}/scripts/content.js https://example.com/article
例
# Extract documentation page
{baseDir}/scripts/content.js https://docs.python.org/3/tutorial/classes.html
# Extract blog post
{baseDir}/scripts/content.js https://blog.example.com/some-article
出力形式
検索結果
--- Result 1 ---
Title: Page Title
Link: https://example.com/page
Snippet: Description from search results
Content: (if --content flag used)
Markdown content extracted from the page...
--- Result 2 ---
...
コンテンツの抽出
Title: Article Title
URL: https://example.com/article
--- Content ---
Markdown content of the page...
利点
- ✅ API キー不要
- ✅ レート制限なし
- ✅ プライバシーを保護(ローカルインスタンス)
- ✅ 複数の検索エンジンから結果を集約
- ✅ 高速で信頼性が高い
- ✅ ローカルおよび Docker コンテナ内で動作
使用する場面
- ドキュメントや API リファレンスを検索するとき
- 事実や最新情報を調べるとき
- ライブラリ、フレームワーク、ツールを調査するとき
- 特定の URL からコンテンツを取得するとき
- 外部依存なしでウェブ検索が必要なあらゆるタスク
トラブルシューティング
接続が拒否される
SearXNG が実行されていません。次のコマンドで起動します。
docker run -d -p 8080:8080 --name searxng \
-v {baseDir}/searxng/settings.yml:/etc/searxng/settings.yml:ro \
searxng/searxng
HTTP 403 Forbidden
JSON API が有効になっていません。デフォルトの SearXNG では HTML 形式のみが許可されています。
コンテナの起動時に、同梱の settings.yml をマウントしてください。
docker stop searxng && docker rm searxng
docker run -d -p 8080:8080 --name searxng \
-v {baseDir}/searxng/settings.yml:/etc/searxng/settings.yml:ro \
searxng/searxng
カスタム SearXNG URL
環境変数を設定します。
export SEARXNG_URL=http://your-searxng-host:8080
コメント
Markdown 対応