SearXNG 搜索
OpenClaw 支持将 SearXNG 作为自托管、无需密钥的
web_search 提供商。SearXNG 是一款开源元搜索引擎,聚合来自 Google、Bing、
DuckDuckGo 及其他来源的搜索结果。
优势:
- 免费且无限制 —— 无需 API 密钥或商业订阅
- 隐私 / 隔离 —— 查询永远不会离开你的网络
- 随处可用 —— 商业搜索 API 没有地区限制
设置¶
1. 安装插件
安装会自动应用于正在运行的 Gateway;否则将在下次启动时生效。参见 应用更改并检查。
2. 运行 SearXNG 实例
或者使用你可访问的任何现有 SearXNG 部署。有关生产环境设置,请参阅 SearXNG 文档。
3. 配置
或者设置环境变量,让自动检测找到它:
配置¶
针对 SearXNG 实例的插件级设置:
{
plugins: {
entries: {
searxng: {
config: {
webSearch: {
baseUrl: "http://localhost:8888",
categories: "general,news", // optional
language: "en", // optional
},
},
},
},
},
}
baseUrl 也接受 SecretRef 对象(例如 { source: "env", id: "SEARXNG_BASE_URL" })。
环境变量¶
设置 SEARXNG_BASE_URL 作为配置的替代方案:
解析顺序:已配置的 baseUrl(字符串或允许的 env SecretRef)优先,仅当
baseUrl 缺失时才使用 SEARXNG_BASE_URL。如果显式指定的 SecretRef 被只读
配置检查阻止,则不会回退到环境变量;请改为修复其 provider、default-provider
或 env 允许列表策略。当所有配置路径均未设置,且存在 SEARXNG_BASE_URL 且
未显式选择 provider 时,自动检测会选择 SearXNG。
插件配置参考¶
| 字段 | 描述 |
|---|---|
baseUrl |
你的 SearXNG 实例的基础 URL(必填) |
categories |
以逗号分隔的分类,例如 general、news 或 science |
language |
结果的语言代码,例如 en、de 或 fr |
web_search 工具调用还接受 count(1-10 条结果)、categories 和
language 作为每次调用的覆盖参数。
注意事项¶
- JSON API —— 使用 SearXNG 原生的
format=json端点,而非 HTML 抓取 - 图片结果 URL —— 当 SearXNG 返回直接图片 URL 时,图片分类结果包含
img_src - 无需 API 密钥 —— 任何 SearXNG 实例均可开箱即用
- Base URL 验证 ——
baseUrl必须是有效的http://或https://URL - 网络防护 ——
http://基础 URL 必须指向受信任的私有或回环主机 (公共主机必须使用https://);解析到私有/内部地址的https://基础 URL 享有相同的自托管许可,而解析到公共地址的https://基础 URL 则 保持严格的 SSRF 保护 - 自动检测顺序 —— SearXNG 需要已配置的
baseUrl(在已具备所需凭据的 提供商中顺序为 200)。诸如 DuckDuckGo 或 Ollama Web Search 之类的无密钥 提供商永远不会隐式赢得自动检测;它们仅在显式选择provider时才会激活 - 自托管 —— 你控制实例、查询和上游搜索引擎
- 分类 —— 未配置时默认为
general - 分类回退 —— 如果非
general分类的请求成功但返回零条结果, OpenClaw 会先用general重试同一查询一次,然后再返回空结果集 - 结果缓存 —— 相同的查询(相同的查询词、count、categories、language 和 base URL)会在进程内以较短的 TTL 进行缓存
- 版本要求 —— 插件声明
minHostVersion: >=2026.6.9
Tip
要让 SearXNG JSON API 正常工作,请确保你的 SearXNG 实例在其 settings.yml
的 search.formats 下启用了 json 格式。
相关文档¶
- Web Search 概览 —— 所有提供商与自动检测
- DuckDuckGo 搜索 —— 另一个无密钥提供商
- Brave 搜索 —— 带免费额度的结构化结果
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw