用途
SearXNG Search 用于通过自托管 SearXNG 实例的 API 进行网络搜索。当用户要求使用 SearXNG 搜索,或需要联网搜索且已有 SearXNG 实例时,可使用该技能。
主要能力
该技能通过运行搜索脚本完成查询,支持以下选项:
-c, --categories:逗号分隔的分类(general、news、images、videos、music、files、it、science、social media)-e, --engines:逗号分隔的搜索引擎(google、duckduckgo、bing 等)-l, --language:语言代码(en、zh-CN、ja 等)-p, --page:页码(默认 1)-t, --time-range:时间范围:day、month、year-n, --max-results:显示的最大结果数(覆盖配置默认值)-s, --safesearch:安全搜索:0(关闭)、1(适中)、2(严格)
使用方式
运行搜索脚本:
python3 scripts/search.py [OPTIONS] <query>
示例:
# 基本搜索
python3 scripts/search.py "SearXNG documentation"
# 搜索最近一天的新闻
python3 scripts/search.py -c news -t day "latest tech news"
# 使用指定引擎,第 2 页
python3 scripts/search.py -e google,duckduckgo -p 2 "rust programming"
# 使用中文搜索并获取更多结果
python3 scripts/search.py -l zh-CN -n 10 "开源搜索引擎"
配置说明
该技能依赖本地 SearXNG 配置文件。设置细节不放在本文件中,仅在需要时加载 references/configuration.md。
如果 scripts/search.py 报告配置、认证或实例设置错误,请在重试前阅读 references/configuration.md。常见错误示例包括:
- ERROR: Config file not found
- ERROR: Invalid TOML ... / ERROR: Invalid JSON ...
- ERROR: base_url is required
- ERROR: Environment variable ... is not set
- ERROR: auth.token required for bearer auth
- ERROR: auth.user and auth.pass required for basic auth
- ERROR: Unknown auth.type ...
- ERROR: HTTP 401 / ERROR: HTTP 403
最佳实践
- 技术主题(编程、软件、科学、IT 等):无论用户输入语言为何,始终使用英文作为查询语言和搜索语言(
-l en)。如有需要,将查询翻译为英文。英文结果对技术内容更全面、更新。 - 中文生活主题(美食、旅行、购物、本地服务、社交趋势等):除默认搜索外,再使用中文查询运行一次
-e baidu,sogou -l zh-CN搜索,以获取中国特定结果。在呈现给用户前合并并去重结果。
工作流程
- 用户要求搜索某内容
- 判断主题类型:
- 技术类:如有需要将查询翻译为英文,使用
-l en搜索 - 中文生活类:先运行默认搜索,再额外使用
-e baidu,sogou -l zh-CN搜索
- 技术类:如有需要将查询翻译为英文,使用
- 使用查询和相关过滤器运行 scripts/search.py
- 以可读格式向用户呈现结果
- 如果用户想要更多结果,使用
-p分页或-n增加每页数量
适用场景
适用于需要通过自托管 SearXNG 实例进行网络搜索的场景,尤其是用户明确要求使用 SearXNG,或已有 SearXNG 实例并希望借助其 API 完成搜索时。
限制
该技能依赖本地 SearXNG 配置文件,配置缺失或错误时无法正常工作。具体配置方式、认证类型等细节需参考 references/configuration.md,本资料未提供完整配置内容。