---
read_when:
    - คุณต้องการผู้ให้บริการค้นหาเว็บแบบโฮสต์เอง
    - คุณต้องการใช้ SearXNG สำหรับ web_search
    - คุณต้องการตัวเลือกการค้นหาที่เน้นความเป็นส่วนตัวหรือแยกขาดจากเครือข่ายภายนอก
summary: การค้นหาเว็บ SearXNG -- ผู้ให้บริการเมตาเสิร์ชแบบโฮสต์เอง ไม่ต้องใช้คีย์
title: การค้นหา SearXNG
x-i18n:
    generated_at: "2026-06-27T18:30:43Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: 4bd00a20e45f71b7bd855a6588d5c829a0202839fc93ddcec1e255b7858ff183
    source_path: tools/searxng-search.md
    workflow: 16
---

OpenClaw รองรับ [SearXNG](https://docs.searxng.org/) เป็นผู้ให้บริการ `web_search` แบบ **โฮสต์เอง,
ไม่ต้องใช้คีย์** SearXNG เป็นเครื่องมือเมตาเสิร์ชแบบโอเพนซอร์ส
ที่รวบรวมผลลัพธ์จาก Google, Bing, DuckDuckGo และแหล่งอื่นๆ

ข้อดี:

- **ฟรีและไม่จำกัด** -- ไม่ต้องใช้คีย์ API หรือการสมัครสมาชิกเชิงพาณิชย์
- **ความเป็นส่วนตัว / air-gap** -- คำค้นจะไม่ออกจากเครือข่ายของคุณ
- **ใช้งานได้ทุกที่** -- ไม่มีข้อจำกัดภูมิภาคของ API ค้นหาเชิงพาณิชย์

## การตั้งค่า

<Steps>
  <Step title="ติดตั้ง Plugin">
    ```bash
    openclaw plugins install @openclaw/searxng-plugin
    ```
  </Step>
  <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
    # Select "searxng" as the provider
    ```

    หรือตั้งค่า env var แล้วให้การตรวจจับอัตโนมัติค้นหา:

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

  </Step>
</Steps>

## การกำหนดค่า

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

การตั้งค่าระดับ Plugin สำหรับอินสแตนซ์ SearXNG:

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

ฟิลด์ `baseUrl` ยังรับออบเจ็กต์ SecretRef ได้ด้วย

กฎการขนส่ง:

- `https://` ใช้งานได้กับโฮสต์ SearXNG สาธารณะหรือส่วนตัว
- `http://` ยอมรับเฉพาะโฮสต์เครือข่ายส่วนตัวหรือ loopback ที่เชื่อถือได้เท่านั้น
- โฮสต์ SearXNG สาธารณะต้องใช้ `https://`
- โฮสต์ส่วนตัว/ภายในใช้ตัวป้องกันเครือข่ายแบบโฮสต์เอง ส่วนโฮสต์ `https://`
  สาธารณะจะยังอยู่ภายใต้ตัวป้องกัน web-search แบบเข้มงวด และไม่สามารถเปลี่ยนเส้นทางไปยัง
  ที่อยู่ส่วนตัวได้

## ตัวแปรสภาพแวดล้อม

ตั้งค่า `SEARXNG_BASE_URL` เป็นทางเลือกแทนการกำหนดค่า:

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

เมื่อมีการตั้งค่า `SEARXNG_BASE_URL` และไม่มีการกำหนดค่าผู้ให้บริการไว้อย่างชัดเจน การตรวจจับอัตโนมัติ
จะเลือก SearXNG โดยอัตโนมัติ (ที่ลำดับความสำคัญต่ำสุด -- ผู้ให้บริการที่มี API หนุนหลังรายใดก็ตามที่มี
คีย์จะชนะก่อน)

## อ้างอิงการกำหนดค่า Plugin

| ฟิลด์        | คำอธิบาย                                                        |
| ------------ | ------------------------------------------------------------------ |
| `baseUrl`    | URL ฐานของอินสแตนซ์ SearXNG ของคุณ (จำเป็น)                       |
| `categories` | หมวดหมู่ที่คั่นด้วยจุลภาค เช่น `general`, `news` หรือ `science` |
| `language`   | รหัสภาษาสำหรับผลลัพธ์ เช่น `en`, `de` หรือ `fr`              |

## หมายเหตุ

- **JSON API** -- ใช้เอนด์พอยต์ `format=json` ดั้งเดิมของ SearXNG ไม่ใช่การดึงข้อมูลจาก HTML
- **URL ของผลลัพธ์รูปภาพ** -- ผลลัพธ์หมวดรูปภาพจะรวม `img_src` เมื่อ SearXNG
  ส่งคืน URL รูปภาพโดยตรง
- **ไม่มีคีย์ API** -- ใช้งานได้กับอินสแตนซ์ SearXNG ใดก็ได้ทันที
- **การตรวจสอบ URL ฐาน** -- `baseUrl` ต้องเป็น URL `http://` หรือ `https://`
  ที่ถูกต้อง โฮสต์สาธารณะต้องใช้ `https://`
- **ตัวป้องกันเครือข่าย** -- เอนด์พอยต์ SearXNG ส่วนตัว/ภายในเลือกใช้
  การเข้าถึงเครือข่ายส่วนตัว ส่วนเอนด์พอยต์ SearXNG `https://` สาธารณะจะคงการป้องกัน SSRF
  แบบเข้มงวดไว้
- **ลำดับการตรวจจับอัตโนมัติ** -- SearXNG จะถูกตรวจสอบหลังผู้ให้บริการที่มี API หนุนหลัง
  พร้อมคีย์ที่กำหนดค่าไว้ (ลำดับ 200) ผู้ให้บริการแบบไม่ต้องใช้คีย์ เช่น DuckDuckGo หรือ
  Ollama Web Search จะไม่ถูกเลือกโดยอัตโนมัติหากไม่มีการเลือกผู้ให้บริการอย่างชัดเจน
- **โฮสต์เอง** -- คุณควบคุมอินสแตนซ์ คำค้น และเครื่องมือค้นหาต้นทาง
- **หมวดหมู่** ค่าเริ่มต้นเป็น `general` เมื่อไม่ได้กำหนดค่า
- **การถอยกลับของหมวดหมู่** -- หากคำขอหมวดหมู่ที่ไม่ใช่ `general` สำเร็จแต่
  ส่งคืนผลลัพธ์เป็นศูนย์ OpenClaw จะลองคำค้นเดิมซ้ำอีกครั้งด้วย `general`
  ก่อนส่งคืนชุดผลลัพธ์ว่าง

<Tip>
  เพื่อให้ SearXNG JSON API ทำงานได้ โปรดตรวจสอบให้อินสแตนซ์ SearXNG ของคุณเปิดใช้รูปแบบ `json`
  ใน `settings.yml` ภายใต้ `search.formats`
</Tip>

## ที่เกี่ยวข้อง

- [ภาพรวม Web Search](/th/tools/web) -- ผู้ให้บริการทั้งหมดและการตรวจจับอัตโนมัติ
- [DuckDuckGo Search](/th/tools/duckduckgo-search) -- ผู้ให้บริการแบบไม่ต้องใช้คีย์อีกราย
- [Brave Search](/th/tools/brave-search) -- ผลลัพธ์แบบมีโครงสร้างพร้อมระดับใช้งานฟรี
