Skip to main content

Documentation Index

Fetch the complete documentation index at: https://openclaw.zhcndoc.com/llms.txt

Use this file to discover all available pages before exploring further.

OpenClaw 支持 SearXNG 作为一个自托管、无密钥web_search 提供商。SearXNG 是一个开源元搜索引擎,会聚合来自 Google、Bing、DuckDuckGo 以及其他来源的结果。 优点:
  • 免费且无限制 — 无需 API 密钥或商业订阅
  • 隐私 / 隔离网络 — 查询绝不会离开你的网络
  • 到处可用 — 商业搜索 API 没有地区限制

设置

1

运行一个 SearXNG 实例

docker run -d -p 8888:8080 searxng/searxng
或者使用你已有权限访问的任何现有 SearXNG 部署。有关生产环境设置,请参阅 SearXNG 文档
2

配置

openclaw configure --section web
# 选择 "searxng" 作为提供商
或者设置环境变量,让自动检测来发现它:
export SEARXNG_BASE_URL="http://localhost:8888"

配置

{
  tools: {
    web: {
      search: {
        provider: "searxng",
      },
    },
  },
}
SearXNG 实例的插件级设置:
{
  plugins: {
    entries: {
      searxng: {
        config: {
          webSearch: {
            baseUrl: "http://localhost:8888",
            categories: "general,news", // 可选
            language: "en", // 可选
          },
        },
      },
    },
  },
}
baseUrl 字段也接受 SecretRef 对象。 传输规则:
  • https:// 适用于公共或私有的 SearXNG 主机
  • http:// 仅接受受信任的私有网络或回环主机
  • 公共 SearXNG 主机必须使用 https://
  • 私有/内部主机使用自托管网络防护;公共 https:// 主机会继续使用严格的 web-search 防护,且不能重定向到私有 地址

环境变量

SEARXNG_BASE_URL 作为配置的替代方案:
export SEARXNG_BASE_URL="http://localhost:8888"
当设置了 SEARXNG_BASE_URL 且未显式配置提供商时,自动检测会自动选择 SearXNG(优先级最低 — 任何带密钥的 API 驱动提供商会优先获胜)。

插件配置参考

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

注意事项

  • JSON API — 使用 SearXNG 原生的 format=json 端点,而不是 HTML 爬取
  • 图像结果 URL — 图像分类结果在 SearXNG 返回直接图片 URL 时会包含 img_src
  • 无需 API 密钥 — 可直接与任何 SearXNG 实例配合使用
  • 基础 URL 校验baseUrl 必须是有效的 http://https:// URL;公共主机必须使用 https://
  • 网络防护 — 私有/内部 SearXNG 端点会显式允许 私有网络访问;公共 https:// SearXNG 端点保持严格的 SSRF 防护
  • 自动检测顺序 — SearXNG 在自动检测中最后检查(顺序 200)。已配置密钥的 API 驱动提供商会先运行,然后是 DuckDuckGo(顺序 100),再然后是 Ollama Web Search(顺序 110)
  • 自托管 — 你可以控制实例、查询以及上游搜索引擎
  • 分类 在未配置时默认为 general
  • 分类回退 — 如果非 general 分类请求成功但 返回零结果,OpenClaw 会在返回空结果集之前 再用 general 重试同一查询一次
为了让 SearXNG JSON API 正常工作,请确保你的 SearXNG 实例在其 settings.ymlsearch.formats 下启用了 json 格式。

相关内容