Chuyển đến nội dung chính
OpenClaw hỗ trợ SearXNG làm nhà cung cấp web_search tự lưu trữ, không cần khóa. SearXNG là một công cụ siêu tìm kiếm mã nguồn mở tổng hợp kết quả từ Google, Bing, DuckDuckGo và các nguồn khác. Ưu điểm:
  • Miễn phí và không giới hạn — không cần khóa API hoặc gói đăng ký thương mại
  • Quyền riêng tư / cách ly mạng — truy vấn không bao giờ rời khỏi mạng của bạn
  • Hoạt động ở mọi nơi — không có giới hạn khu vực của API tìm kiếm thương mại

Thiết lập

1

Cài đặt plugin

openclaw plugins install @openclaw/searxng-plugin
2

Chạy một phiên bản SearXNG

docker run -d -p 8888:8080 searxng/searxng
Hoặc dùng bất kỳ bản triển khai SearXNG hiện có nào mà bạn có quyền truy cập. Xem tài liệu SearXNG để biết cách thiết lập cho môi trường production.
3

Cấu hình

openclaw configure --section web
# Select "searxng" as the provider
Hoặc đặt biến môi trường và để cơ chế tự động phát hiện tìm thấy nó:
export SEARXNG_BASE_URL="http://localhost:8888"

Cấu hình

{
  tools: {
    web: {
      search: {
        provider: "searxng",
      },
    },
  },
}
Thiết lập cấp Plugin cho phiên bản SearXNG:
{
  plugins: {
    entries: {
      searxng: {
        config: {
          webSearch: {
            baseUrl: "http://localhost:8888",
            categories: "general,news", // optional
            language: "en", // optional
          },
        },
      },
    },
  },
}
Trường baseUrl cũng chấp nhận các đối tượng SecretRef. Quy tắc truyền tải:
  • https:// hoạt động cho máy chủ SearXNG công khai hoặc riêng tư
  • http:// chỉ được chấp nhận cho máy chủ mạng riêng đáng tin cậy hoặc máy chủ loopback
  • máy chủ SearXNG công khai phải dùng https://
  • máy chủ riêng tư/nội bộ dùng bộ bảo vệ mạng tự lưu trữ; máy chủ https:// công khai vẫn ở trên bộ bảo vệ tìm kiếm web nghiêm ngặt và không thể chuyển hướng đến địa chỉ riêng tư

Biến môi trường

Đặt SEARXNG_BASE_URL làm phương án thay thế cho cấu hình:
export SEARXNG_BASE_URL="http://localhost:8888"
Khi SEARXNG_BASE_URL được đặt và không có nhà cung cấp tường minh nào được cấu hình, cơ chế tự động phát hiện sẽ tự động chọn SearXNG (ở mức ưu tiên thấp nhất — bất kỳ nhà cung cấp dựa trên API nào có khóa đều thắng trước).

Tham chiếu cấu hình Plugin

TrườngMô tả
baseUrlURL cơ sở của phiên bản SearXNG của bạn (bắt buộc)
categoriesCác danh mục phân tách bằng dấu phẩy, như general, news hoặc science
languageMã ngôn ngữ cho kết quả, như en, de hoặc fr

Ghi chú

  • API JSON — dùng endpoint format=json gốc của SearXNG, không scrape HTML
  • URL kết quả hình ảnh — kết quả thuộc danh mục hình ảnh bao gồm img_src khi SearXNG trả về URL hình ảnh trực tiếp
  • Không cần khóa API — hoạt động ngay với bất kỳ phiên bản SearXNG nào
  • Xác thực URL cơ sởbaseUrl phải là URL http:// hoặc https:// hợp lệ; máy chủ công khai phải dùng https://
  • Bộ bảo vệ mạng — endpoint SearXNG riêng tư/nội bộ chọn tham gia quyền truy cập mạng riêng; endpoint SearXNG https:// công khai giữ cơ chế bảo vệ SSRF nghiêm ngặt
  • Thứ tự tự động phát hiện — SearXNG được kiểm tra sau các nhà cung cấp dựa trên API có khóa đã cấu hình (thứ tự 200). Các nhà cung cấp không cần khóa như DuckDuckGo hoặc Ollama Web Search không được tự động chọn nếu không có lựa chọn nhà cung cấp tường minh
  • Tự lưu trữ — bạn kiểm soát phiên bản, truy vấn và các công cụ tìm kiếm upstream
  • Danh mục mặc định là general khi chưa được cấu hình
  • Dự phòng danh mục — nếu yêu cầu danh mục không phải general thành công nhưng trả về không kết quả, OpenClaw thử lại cùng truy vấn một lần với general trước khi trả về tập kết quả rỗng
Để API JSON của SearXNG hoạt động, hãy đảm bảo phiên bản SearXNG của bạn đã bật định dạng json trong settings.yml dưới search.formats.

Liên quan