使用SearXNG搜索网络。用于查询最新信息、研究主题、查找文档、验证事实或获取超出知识范围的内容。返回带有标题、网址和内容摘要的排名结果。
SearXNG Web 搜索
功能概述
SearXNG Web 搜索是一项面向实际任务的技能,主要用于使用自主机 SearXNG 实例搜索网页;此技能通过 SearXNG JSON API 提供访问网页搜索结果, 内置率限制, 错误手语。
核心要点
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
使用与执行
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
结果检查与注意事项
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
SearXNG 网络搜索
使用自托管的 SearXNG 实例进行网络搜索。本技能通过 SearXNG JSON API 提供对网络搜索结果的访问,内置速率限制、错误处理与结果格式化功能。
适用场景
当您需要执行以下操作时,请使用本技能:
- 查找最新信息或近期新闻
- 研究超出您知识截止时间(knowledge cutoff)的主题
- 查阅文档或技术参考资料
- 核实事实或检查当前状态
- 查找特定主题相关的 URL 或资源
- 搜索代码示例或解决方案
配置
将 SEARXNG_URL 环境变量设为您部署的 SearXNG 实例地址:
export SEARXNG_URL="http://localhost:8888"
若未设置该变量,则默认使用 http://localhost:8888。
使用方法
使用您的查询语句执行搜索脚本:
bb scripts/search.clj "您的搜索查询"
高级选项
可额外传入 JSON 格式的参数:
bb scripts/search.clj "您的查询" '{"category": "news", "time_range": "day", "num_results": 10}'
支持的参数如下:
category—— 按类别筛选:general、news、images、videos、it、sciencetime_range—— 时间范围筛选:day、week、month、yearlanguage—— 语言代码(默认为 en)num_results—— 返回结果数量(默认为 5)
输出格式
脚本以纯文本形式返回格式化的搜索结果:
Search Results for "your query" Found 42 total results 1. Result Title [Score: 1.85] URL: https://example.com/page Description snippet from the page... Engines: google, bing 2. Another Result [Score: 1.62] ...
错误处理
脚本能优雅地处理常见错误:
- 网络超时(30 秒超时)
- SearXNG 不可用(显示清晰的错误信息)
- 无效查询(提供详细的错误信息)
- 速率限制(HTTP 429 响应)
- 无结果返回(给出提示性消息)
速率限制
脚本实现了基础的速率限制机制:
- 请求之间至少间隔 1 秒
- 基于文件系统的状态记录(
.searxng-last-request) - 防止意外产生大量请求(spam)
示例
基础搜索
bb scripts/search.clj "NixOS configuration"
新闻搜索
bb scripts/search.clj "AI developments" '{"category": "news", "time_range": "week"}'
技术类搜索
bb scripts/search.clj "babashka http client" '{"category": "it", "num_results": 3}'
仅返回最新结果
bb scripts/search.clj "product launch" '{"time_range": "day"}'
故障排查
“SEARXNG_URL not set”
- 设置环境变量:
export SEARXNG_URL="http://localhost:8888"
连接超时
- 确认 SearXNG 正在运行:
curl $SEARXNG_URL/search?q=test&format=json - 检查防火墙配置
- 检查服务状态:
systemctl status searx
无返回结果
- 尝试更宽泛的查询语句
- 移除筛选条件后重试
- 查看 SearXNG 日志:
journalctl -u searx -n 50
速率限制错误
- 两次搜索之间等待数秒
- 脚本已自动强制执行最小 1 秒延迟
实现说明
搜索脚本(scripts/search.clj)使用了以下组件:
- 使用
babashka.http-client发起 HTTP 请求 - 使用 Clojure 的
cheshire.core解析 JSON - 基于文件系统的速率限制机制
- 30 秒超时,并配备恰当的错误提示
- 对搜索结果进行评分与排序,确保最优结果优先返回
如需详细 API 文档,请参阅 references/api-guide.md。
热门AI工具
相关专题
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题梳理XORM框架的入门路径,从框架定位、依赖安装、连接数据库到跑通第一个增删改查示例,讲清Engine初始化、日志开启与项目目录规划,并对比GORM等同类ORM的差异,帮助Go开发者建立整体认知。
0
2026.11.04
本专题聚焦Docker Desktop容器端口映射与访问配置,整理从创建容器、设置端口绑定到验证本地服务访问的操作流程。针对端口被占用、映射配置错误、容器服务无法访问等情况,也提供相应的检查方向,方便用户完成端口配置。
0
2026.11.03
想使用Docker Desktop将本地项目构建成Docker镜像?本专题围绕镜像构建的实际操作展开,介绍Dockerfile编写、构建命令使用、镜像标签设置和构建日志查看等内容,同时整理镜像无法生成、依赖安装失败及构建缓存异常等问题的排查思路。
0
2026.11.03
本专题聚焦Docker Desktop容器创建与运行配置,介绍通过本地镜像或远程镜像创建容器的方法,以及容器启动、终端访问、日志查看和基础管理等操作。针对端口冲突、参数配置不当、容器无法启动等情况,也整理了相应的排查方向。
0
2026.11.03
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.7万人学习
共6课时 | 54.7万人学习