name: search-cluster description: 统一搜索聚合器,支持Google、Wikipedia、Reddit、NewsAPI和RSS订阅源,可选Redis缓存。支持并行查询和结构化JSON输出。 metadata: {“openclaw”:{“requires”:{“bins”:[“python3”],“env”:[“GOOGLE_CSE_KEY”,“GOOGLE_CSE_ID”,“NEWSAPI_KEY”]},“install”:[{“id”:“pip-deps”,“kind”:“exec”,“command”:“pip install redis”}]}}
搜索集群
统一的多源信息收集搜索系统。
前提条件
- 二进制文件:必须安装
python3。 - Google搜索:需要
GOOGLE_CSE_KEY和GOOGLE_CSE_ID。 - NewsAPI:需要
NEWSAPI_KEY。 - 缓存(可选):活动的Redis实例(默认为localhost:6379)。
设置
- 在环境变量或本地
.env文件中定义API密钥。 - 安装可选的Redis客户端:
pip install redis。
核心工作流
1. 单源搜索
查询特定搜索引擎以获取目标结果。
- 用法:
python3 $WORKSPACE/skills/search-cluster/scripts/search-cluster.py <source> "<query>" - 来源:
google、wiki、reddit、newsapi。
2. 聚合搜索
并行查询所有支持的引擎并聚合结果。
- 用法:
python3 $WORKSPACE/skills/search-cluster/scripts/search-cluster.py all "<query>"
3. RSS/订阅源获取
检索并解析标准的RSS或Atom订阅源。
- 用法:
python3 $WORKSPACE/skills/search-cluster/scripts/search-cluster.py rss "<url>"
可靠性与安全性
- 安全网络:对所有API和订阅源请求强制执行严格的SSL/TLS验证。不允许未经验证的回退。
- 命名空间隔离:缓存键以
search:为前缀以避免冲突。 - 本地偏好:Redis连接默认使用
localhost。用户必须为远程实例显式设置REDIS_HOST。 - 用户代理:使用标准化的
SearchClusterBot代理以遵守网站政策。
参考
- API设置:参见references/search-apis.md。