---
read_when:
    - 자체 호스팅 웹 검색 제공자를 원하는 경우
    - '`web_search`에 SearXNG를 사용하려는 경우'
    - 개인정보 보호 중심 또는 에어갭 검색 옵션이 필요한 경우
summary: SearXNG 웹 검색 -- 자체 호스팅, 키 없는 메타 검색 제공자
title: SearXNG 검색
x-i18n:
    generated_at: "2026-04-05T12:57:48Z"
    model: gpt-5.4
    provider: openai
    source_hash: 0a8fc7f890b7595d17c5ef8aede9b84bb2459f30a53d5d87c4e7423e1ac83ca5
    source_path: tools/searxng-search.md
    workflow: 15
---

# SearXNG 검색

OpenClaw는 [SearXNG](https://docs.searxng.org/)를 **자체 호스팅,
키 없는** `web_search` 제공자로 지원합니다. SearXNG는 Google, Bing, DuckDuckGo 및 기타 소스의 결과를 집계하는 오픈 소스 메타 검색 엔진입니다.

장점:

- **무료 및 무제한** -- API 키나 상용 구독이 필요하지 않음
- **개인정보 보호 / 에어갭** -- 쿼리가 네트워크 밖으로 나가지 않음
- **어디서나 작동** -- 상용 검색 API의 지역 제한 없음

## 설정

<Steps>
  <Step title="SearXNG 인스턴스 실행">
    ```bash
    docker run -d -p 8888:8080 searxng/searxng
    ```

    또는 접근 가능한 기존 SearXNG 배포를 사용해도 됩니다. 프로덕션 설정은
    [SearXNG 문서](https://docs.searxng.org/)를 참고하세요.

  </Step>
  <Step title="구성">
    ```bash
    openclaw configure --section web
    # 제공자로 "searxng" 선택
    ```

    또는 환경 변수를 설정해 자동 감지가 찾도록 할 수 있습니다:

    ```bash
    export SEARXNG_BASE_URL="http://localhost:8888"
    ```

  </Step>
</Steps>

## 설정

```json5
{
  tools: {
    web: {
      search: {
        provider: "searxng",
      },
    },
  },
}
```

SearXNG 인스턴스용 plugin 수준 설정:

```json5
{
  plugins: {
    entries: {
      searxng: {
        config: {
          webSearch: {
            baseUrl: "http://localhost:8888",
            categories: "general,news", // 선택 사항
            language: "en", // 선택 사항
          },
        },
      },
    },
  },
}
```

`baseUrl` 필드는 SecretRef 객체도 허용합니다.

전송 규칙:

- `https://`는 공개 또는 비공개 SearXNG 호스트에서 작동합니다
- `http://`는 신뢰할 수 있는 사설 네트워크 또는 루프백 호스트에서만 허용됩니다
- 공개 SearXNG 호스트는 `https://`를 사용해야 합니다

## 환경 변수

설정 대신 `SEARXNG_BASE_URL`을 지정할 수 있습니다:

```bash
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` 엔드포인트 사용
- **API 키 없음** -- 어떤 SearXNG 인스턴스와도 즉시 동작
- **기본 URL 검증** -- `baseUrl`은 유효한 `http://` 또는 `https://`
  URL이어야 하며, 공개 호스트는 `https://`를 사용해야 함
- **자동 감지 순서** -- SearXNG는 자동 감지에서 마지막(순서 200)으로 확인됩니다.
  구성된 키가 있는 API 기반 제공자가 먼저 실행되고, 그다음
  DuckDuckGo(순서 100), 그다음 Ollama Web Search(순서 110) 순입니다
- **자체 호스팅** -- 인스턴스, 쿼리, 업스트림 검색 엔진을 직접 제어
- **카테고리**는 구성하지 않으면 기본값이 `general`입니다

<Tip>
  SearXNG JSON API가 작동하려면 SearXNG 인스턴스의 `settings.yml`에서
  `search.formats` 아래에 `json` 형식이 활성화되어 있는지 확인하세요.
</Tip>

## 관련 문서

- [웹 검색 개요](/tools/web) -- 모든 제공자와 자동 감지
- [DuckDuckGo 검색](/tools/duckduckgo-search) -- 또 다른 키 없는 폴백
- [Brave 검색](/tools/brave-search) -- 무료 티어가 있는 구조화된 결과
