SearXNG-lite

Polar Sponsor
爱发电 赞助
.NET 9.0

本地 Python 脚本聚合多引擎网页搜索,适用于:①搜索网页信息、文章、文档;②搜索代码库。

SearXNG-lite. 轻量级多引擎聚合网络搜索.

功能概述

SearXNG-lite. 轻量级多引擎聚合网络搜索.是一项面向实际任务的技能,主要用于不需要 Docker, 不需要服务器, 不需要 SearXNG 实例—— 只需要一个 Python 脚本, 直接查询搜索引擎.. 26 引擎 ac。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

SearXNG-lite

轻量级多引擎聚合网页搜索工具。无需 Docker、无需服务器、也无需部署 SearXNG 实例——仅需一个 Python 脚本,即可直接向各大搜索引擎发起查询请求。

支持 9 个类别的共 26 个搜索引擎,支持并发执行,输出格式包括 JSON 和紧凑型纯文本。

本工具的独特之处

不同于其他依赖运行中 SearXNG 服务的 SearXNG 技能,本技能具有以下特性:

  • 零基础设施依赖 —— 无需 Docker、无需 SearXNG 实例、无需 HTTP 服务
  • 单文件设计 —— 仅一个 Python 脚本(约 850 行)完成全部功能
  • 直连查询 —— 通过 httpx 在进程内直接向搜索引擎发送 HTTP 请求
  • 配置热重载 —— 编辑 config.yml 即可启用/禁用类别,修改即时生效
  • 并发执行 —— 最多支持 5 个线程并行查询多个搜索引擎
  • 结果去重与融合 —— 合并来自不同引擎的重复结果,并基于跨引擎重合度进行打分排序

系统要求

  • Python 3.10 或更高版本
  • httpx —— HTTP 客户端(pip3 install httpx)
  • lxml —— HTML 解析器(pip3 install lxml;macOS 系统已预装)
  • (可选)socksio —— 提供 SOCKS 代理支持(pip3 install socksio)
  • (可选)pyyaml —— 用于解析配置文件(pip3 install pyyaml;若未安装则回退至内置简易解析器)

快速开始

# 安装依赖
pip3 install httpx lxml

# 执行搜索
python3 scripts/search.py "你的查询词"

# 列出所有可用搜索引擎
python3 scripts/search.py --list

搜索方式

python3 scripts/search.py "query"                          # 默认模式(general + knowledge 类别)
python3 scripts/search.py "query" -c dev                   # 按类别搜索
python3 scripts/search.py "query" -c dev,academic          # 多类别组合
python3 scripts/search.py "query" -e github,arxiv          # 指定具体搜索引擎
python3 scripts/search.py "query" --all                    # 使用所有已启用的搜索引擎
python3 scripts/search.py "query" -l zh-CN                 # 返回中文结果
python3 scripts/search.py "query" -n 5                     # 限制返回结果数量
python3 scripts/search.py "query" --compact                # 输出紧凑型文本(标题 + URL + 摘要)
python3 scripts/search.py --list                           # 显示全部搜索引擎及所属类别

所有路径均相对于本技能所在目录。

命令行参数

参数 缩写 默认值 说明
query 必填 搜索关键词
--engines -e 以英文逗号分隔的搜索引擎名称列表
--categories -c 以英文逗号分隔的类别名称列表
--max-results -n 10 最多返回结果数
--lang -l en 语言代码(例如:en、zh-CN、de)
--page -p 1 页码(从第 1 页开始)
--proxy 取自 config.yml 代理 URL(将覆盖配置文件和环境变量中的设置)
--timeout 12 超时时间(单位:秒)
--all 启用全部已配置的搜索引擎
--compact 启用人类可读的纯文本输出格式
--list 列出所有搜索引擎后退出
--debug 启用调试日志输出

若未指定 -e 或 -c 参数,则默认在 general 与 knowledge 类别中搜索。

配置说明

编辑技能目录下的 config.yml 文件来自定义行为:

# 为需要代理访问的搜索引擎(如 Google、YouTube、Reddit 等)设置代理
# 支持协议:http、https、socks5、socks5h
# 留空则禁用代理 —— 需代理的搜索引擎将静默失败。
proxy: "socks5h://127.0.0.1:1080"

# 类别开关配置
categories:
  general: true       # bing、brave、duckduckgo、google🌐、startpage、yahoo
  knowledge: true     # wikipedia、wikidata、wolframalpha🌐
  dev: true           # github、gitlab、stackoverflow、hackernews、reddit🌐、huggingface🌐、mdn
  academic: true      # arxiv、semantic_scholar、google_scholar🌐、crossref
  news: false         # bing_news、reuters
  video: false        # youtube🌐
  images: false       # unsplash
  social: false       # lemmy🌐
  translate: false    # lingva🌐

代理配置

部分搜索引擎(标注 🌐 的)需通过代理访问。可通过以下三种方式配置代理:

  1. config.yml 文件(推荐):设置 proxy: "your-proxy-url"
  2. 环境变量:设置 HTTPS_PROXY=your-proxy-url
  3. 命令行参数:每次搜索时使用 --proxy your-proxy-url

优先级顺序为:命令行参数 > config.yml > 环境变量。

若未配置任何代理,带 🌐 标记的搜索引擎将被跳过(静默失败),其余搜索引擎的结果仍会正常返回。

配置热重载

每次执行搜索时都会重新读取 config.yml 文件,无需重启脚本 —— 修改保存后立即生效。

若 config.yml 文件缺失,脚本将自动回退至默认搜索引擎集:bing、brave、duckduckgo、wikipedia。

类别与搜索引擎列表

类别 搜索引擎 适用场景
general bing、brave、duckduckgo、google🌐、startpage、yahoo 通用网页搜索
knowledge wikipedia、wikidata、wolframalpha🌐 事实查询、术语定义、数学计算
dev github、gitlab、stackoverflow、hackernews、reddit🌐、huggingface🌐、mdn 代码、开源项目、开发者问答、AI 模型
academic arxiv、semantic_scholar、google_scholar🌐、crossref 学术论文、参考文献检索
news bing_news、reuters 时事新闻
video youtube🌐 视频内容搜索
images unsplash 免费高清图库
social lemmy🌐 社区讨论
translate lingva🌐 在线翻译

🌐 = 需代理访问。未配置代理时,对应搜索引擎将被跳过。

输出格式

默认输出 JSON 格式:

{
  "query": "search term",
  "results": [
    {"title": "...", "url": "...", "content": "...", "engines": ["bing","brave"], "score": 2}
  ],
  "result_count": 15,
  "elapsed": 2.1,
  "engines_used": ["bing", "brave", "wikipedia"],
  "errors": []
}

--compact 参数启用后,输出人类可读的纯文本格式:编号标题、URL、摘要、来源搜索引擎标签。

score 字段表示该结果被多少个搜索引擎共同返回;数值越高,代表结果越具共识性与相关性。

典型智能体工作流示例

  • 通用研究:python3 scripts/search.py "topic" -n 5
  • 查找代码库:python3 scripts/search.py "image processing python" -e github
  • 学术论文检索:python3 scripts/search.py "attention mechanism" -c academic -n 5
  • 技术讨论检索:python3 scripts/search.py "topic" -e hackernews,reddit
  • AI 模型检索:python3 scripts/search.py "text-to-speech" -e huggingface
  • 开发文档检索:python3 scripts/search.py "fetch API" -e mdn,stackoverflow
  • 中文搜索:python3 scripts/search.py "大语言模型" -l zh-CN -n 5
  • 新闻检索:python3 scripts/search.py "AI regulation" -c news

相关专题

更多
Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

0

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

0

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

0

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

0

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

0

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习