Searxng Web Search技能使用说明
2026-03-28
新闻来源:网淘吧
围观:13
电脑广告
手机广告
SearXNG 网页搜索
使用自托管的 SearXNG 实例进行网页搜索。此技能通过 SearXNG JSON API 提供网页搜索结果访问,内置速率限制、错误处理和结果格式化功能。
何时使用
当您需要时使用此技能:
- 查找最新信息或近期新闻
- 研究超出您知识截止日期的话题
- 查找文档或技术参考资料
- 验证事实或检查当前状态
- 查找特定主题的 URL 或资源
- 搜索代码示例或解决方案
配置
将SEARXNG_URL环境变量设置为您的 SearXNG 实例:
export SEARXNG_URL="http://localhost:8888"
如果未设置,则使用默认值 (http://localhost:8888)。
使用方法
使用您的查询执行搜索脚本:
bb scripts/search.clj "your search query"
高级选项
以JSON格式传递附加参数:
bb scripts/search.clj "your query" '{"category": "news", "time_range": "day", "num_results": 10}'
可用选项:
类别- 按类别筛选:通用、新闻、图片、视频、IT、科学时间范围- 时间筛选:日、周、月、年语言- 语言代码(默认:en)结果数量- 返回的结果数量(默认: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不可用(清晰的错误信息)
- 无效查询(错误详情)
- 速率限制(429响应)
- 空结果(提示性信息)
速率限制
脚本实现了基础的速率限制:
- 请求之间至少间隔1秒
- 使用基于文件系统的状态记录(
.searxng-last-request) - 防止意外刷屏
示例
基础搜索
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"
- 设置环境变量:
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。
文章底部电脑广告
手机广告位-内容正文底部


微信扫一扫,打赏作者吧~