快速开始

SearXNG 搜索

OpenClaw 支持将 SearXNG 用作自托管、无需密钥web_search 提供商。SearXNG 是一个开源元搜索引擎,可聚合来自 Google、Bing、DuckDuckGo 和其他来源的结果。

优势:

  • 免费且不限量 -- 无需 API key 或商业订阅
  • 隐私保护 / 网络隔离 -- 查询绝不会离开你的网络
  • 随处可用 -- 不受商业搜索 API 的区域限制

设置

  • 安装插件

    bash
    openclaw plugins install @openclaw/searxng-plugin
  • 运行 SearXNG 实例

    bash
    docker run -d -p 8888:8080 searxng/searxng

    或使用你有权访问的任何现有 SearXNG 部署。有关生产环境设置,请参阅 SearXNG 文档

  • 配置

    bash
    openclaw configure --section web# 选择 "searxng" 作为提供商

    或设置环境变量,让自动检测找到它:

    bash
    export SEARXNG_BASE_URL="http://localhost:8888"
  • 配置

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

    SearXNG 实例的插件级设置:

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

    baseUrl 也接受 SecretRef 对象(例如 { source: "env", id: "SEARXNG_BASE_URL" })。

    环境变量

    可以设置 SEARXNG_BASE_URL 代替配置:

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

    解析顺序:配置的 baseUrl 字符串,然后是 baseUrl 上的内联环境变量 SecretRef,最后是 SEARXNG_BASE_URL。如果所有配置路径均未设置、存在 SEARXNG_BASE_URL,且未明确选择提供商,自动检测会选择 SearXNG。

    插件配置参考

    字段 描述
    baseUrl 你的 SearXNG 实例的基础 URL(必填)
    categories 以逗号分隔的类别,例如 generalnewsscience
    language 结果的语言代码,例如 endefr

    web_search 工具调用还接受 count(1-10 个结果)、categorieslanguage 作为单次调用的覆盖值。

    注意事项

    • JSON API -- 使用 SearXNG 原生的 format=json 端点,而非抓取 HTML
    • 图片结果 URL -- 当 SearXNG 返回直接图片 URL 时,图片类别结果会包含 img_src
    • 无需 API key -- 无需额外配置即可与任何 SearXNG 实例配合使用
    • 基础 URL 验证 -- baseUrl 必须是有效的 http://https:// URL
    • 网络防护 -- http:// 基础 URL 必须指向受信任的私有或环回主机(公共主机必须使用 https://);解析到私有/内部地址的 https:// 基础 URL 享有同等的自托管许可,而解析到公共地址的 https:// 基础 URL 会继续受到严格的 SSRF 防护
    • 自动检测顺序 -- SearXNG 需要配置 baseUrl(在已具备所需凭据的提供商中顺序值为 200)。DuckDuckGo 或 Ollama Web 搜索等无需密钥的提供商绝不会通过自动检测隐式胜出;它们仅在明确选择 provider 时启用
    • 自托管 -- 你可以控制实例、查询和上游搜索引擎
    • 类别在未配置时默认为 general
    • 类别回退 -- 如果非 general 类别的请求成功但返回零个结果,OpenClaw 会使用 general 对同一查询重试一次,然后才返回空结果集
    • 结果缓存 -- 相同查询(查询内容、数量、类别、语言和基础 URL 均相同)会在进程内以较短的 TTL 缓存
    • 版本要求 -- 插件声明 minHostVersion: >=2026.6.9

    相关内容

    Was this useful?
    On this page

    On this page