Install
openclaw skills install @thcjp/free-google-search-tool-proopenclaw skills install @thcjp/free-google-search-tool-pro批量搜索+AI摘要+定时监控+多语言。企业级Google搜索全功能覆盖。
将复杂的搜索任务交给专业工具处理。专业版在免费版单次搜索能力之上,新增批量搜索、AI智能摘要、定时监控、多语言搜索、结果缓存、图片搜索、新闻搜索、学术搜索八大高级能力,满足企业级场景对搜索的批量性、智能化与持续性要求.
| 能力维度 | 免费版 | 专业版 |
|---|---|---|
| 浏览器自动化搜索 | 支持 | 支持 |
| 结果解析 | 支持 | 支持 |
| 基础筛选 | 支持 | 支持+AI增强 |
| 单次搜索 | 支持 | 支持 |
| 批量搜索 | 不支持 | 支持(多查询并发) |
| AI智能摘要 | 不支持 | 支持(LLM摘要) |
| 定时监控 | 不支持 | 支持(关键词变化) |
| 多语言搜索 | 不支持 | 支持(中英日韩) |
| 结果缓存 | 不支持 | 支持(避免重复) |
| 图片搜索 | 不支持 | 支持(Google Images) |
| 新闻搜索 | 不支持 | 支持(Google News) |
| 学术搜索 | 不支持 | 支持(Google Scholar) |
| 技术支持 | 社区 | 优先工单响应 |
详细代码示例已移至
references/detail.md
处理: 解析批量搜索的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回批量搜索的响应数据,包含状态码、结果和日志.
处理: 解析AI智能摘要的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回AI智能摘要的响应数据,包含状态码、结果和日志.
处理: 解析定时监控的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回定时监控的响应数据,包含状态码、结果和日志.
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | 谷歌搜索(专业版)处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |
class MultiLanguageSearcher:
"""多语言搜索器(专业版)"""
# ...
LANGUAGE_CONFIG = {
'zh-CN': {'name': '中文', 'country': 'cn'},
'en-US': {'name': 'English', 'country': 'us'},
'ja-JP': {'name': '日本語', 'country': 'jp'},
'ko-KR': {'name': '한국어', 'country': 'kr'},
'es-ES': {'name': 'Español', 'country': 'es'},
'fr-FR': {'name': 'Français', 'country': 'fr'},
'de-DE': {'name': 'Deutsch', 'country': 'de'},
}
# ...
def search_multilang(self, query, languages=None, num_results=10):
"""多语言搜索"""
if languages is None:
languages = ['zh-CN', 'en-US']
# ...
all_results = {}
searcher = GoogleSearcher()
# ...
for lang in languages:
if lang not in self.LANGUAGE_CONFIG:
print(f"不支持的语言:{lang}")
continue
# ...
config = self.LANGUAGE_CONFIG[lang]
print(f"搜索 {config['name']} 结果...")
# ...
translated_query = self._translate_query(query, lang)
# ...
result = searcher.search(
translated_query,
num_results=num_results,
language=lang
)
# ...
if result.get("success"):
all_results[lang] = {
'language': config['name'],
'query': translated_query,
'results': result["results"]
}
# ...
return all_results
# ...
def _translate_query(self, query, target_lang):
"""翻译查询(由LLM提供)"""
return query
# ...
def generate_multilang_report(self, multilang_results):
"""生成多语言报告"""
lines = ["# 多语言搜索报告\n"]
for lang, data in multilang_results.items():
lines.append(f"## {data['language']}({lang})")
lines.append(f"**查询**:{data['query']}")
lines.append(f"**结果数**:{len(data['results'])}\n")
# ...
for i, r in enumerate(data['results'][:5], 1):
lines.append(f"{i}. {r.get('title', '')}")
append(f" URL: {r.get('url', '')}")
lines.append("")
# ...
return "\n".join(lines)
# ...
ml_searcher = MultiLanguageSearcher()
# ...
results = ml_searcher.search_multilang("人工智能", languages=['zh-CN', 'en-US'])
report = ml_searcher.generate_multilang_report(results)
print(report)
处理: 解析多语言搜索的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回多语言搜索的响应数据,包含状态码、结果和日志.
input_params参数,支持创建/查询/导出操作处理: 解析结果缓存的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回结果缓存的响应数据,包含状态码、结果和日志. 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:企业级、搜索专业版、含批量搜索、多语言搜索与结果、谷歌搜索助手专业、版是面向企业级场、景的完整、搜索与结果分析工、在免费版单次搜索、能力之上、新增批量搜索、图片搜索、新闻搜索、学术搜索八大高级、Use、when、模型调用、智能对话、Agent、应用时使用、不适用于需要、确定性的关键决策等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持.
场景描述:批量搜索行业关键词,AI摘要后生成市场报告.
batch = BatchGoogleSearcher(max_workers=3)
summarizer = AISearchSummarizer()
# ...
queries = [
"AI芯片市场2025",
"新能源车销量预测",
"半导体行业趋势"
]
# ...
results = batch.search_batch(queries, num_results=10)
# ...
for query, result in results.items():
if result.get("success"):
summary = summarizer.generate_summary(query, result["results"])
print(f"\n=== {query} ===")
print(summary)
场景描述:搜索竞争对手信息,对比分析.
ml_searcher = MultiLanguageSearcher()
summarizer = AISearchSummarizer()
# ...
competitors = ["CompetitorA", "CompetitorB", "CompetitorC"]
for competitor in competitors:
f"{competitor} 产品评测",
languages=['zh-CN', 'en-US']
)
generate_multilang_report(results)
print(report)
场景描述:监控品牌相关关键词变化,发现负面立即告警.
monitor = SearchMonitor()
monitor.add_keyword("我的品牌", interval=3600, webhook_url="https://hooks.slack.com/services/未指定")
monitor.add_keyword("我的品牌 投诉", interval=1800)
monitor.add_keyword("我的品牌 评测", interval=3600)
python3 batch_search.py --queries queries.txt --output results.json
# ...
python3 ai_summary.py --input results.json --output summaries.md
npm install playwright
npx playwright install chromium
pip install requests schedule
# ...
cat > search_config.yaml <<EOF
batch:
max_workers: 3
cache_enabled: true
cache_dir: ./cache
cache_ttl_hours: 24
# ...
ai_summary:
enabled: true
model: gpt-4o
max_results_for_summary: 10
# ...
monitor:
keywords:
- name: 品牌监控
query: 我的品牌
interval: 3600
webhook: https://hooks.slack.com/services/未指定
- name: 竞品监控
query: 竞争对手
interval: 7200
# ...
multilang:
languages: [zh-CN, en-US, ja-JP]
translate_query: true
# ...
export:
formats: [json, markdown, csv]
output_dir: ./output
EOF
# ...
python3 search_service.py --config search_config.yaml
batch:
max_workers: 3
retry_failed: true
retry_count: 2
cache_enabled: true
cache_dir: ./cache
cache_ttl_hours: 24
# ...
ai_summary:
model: gpt-4o
max_results_for_summary: 10
generate_insights: true
generate_comparison: true
# ...
monitor:
keywords:
- name: 品牌监控
query: 我的品牌
interval: 3600
slack.com/services/未指定
- name: 竞品监控
query: 竞争对手
interval: 7200
slack.com/services/未指定
- name: 行业动态
query: AI芯片 行业
interval: 86400
# ...
multilang:
languages: [zh-CN, en-US, ja-JP, ko-KR]
translate_query: true
generate_multilang_report: true
# ...
specialized_search:
image_search: true
news_search: true
scholar_search: true
# ...
export:
formats: [json, markdown, csv]
output_dir: ./output
include_metadata: true
batch = BatchGoogleSearcher(max_workers=3) # 建议3-5
SUMMARY_TEMPLATES = {
'formal': '正式报告风格',
'brief': '简洁要点风格',
'colloquial': '口语化风格',
'analytical': '分析报告风格',
}
MONITOR_INTERVALS = {
'品牌负面': 1800, # 30分钟
'竞品动态': 3600, # 1小时
'行业趋势': 86400, # 1天
}
专业版完全兼容免费版的所有功能。浏览器自动化搜索、结果解析、基础筛选在专业版中均可直接使用。升级后原有脚本无需修改,仅新增高级能力可用.
建议根据Google反爬能力设置:(1) 建议并发数3-5;(2) 单次批量建议不超过20个查询;(3) 搜索间隔2-3秒;(4) 使用代理IP池可提升到10并发。专业版自动控制请求间隔.
专业版使用GPT-4o模型路由,提供更强的内容理解与摘要生成能力。支持自定义prompt模板,可生成不同风格的摘要(正式/简洁/分析/口语化).
专业版采用"结果变化检测"策略:记录上次搜索结果,对比URL变化。仅当新增/消失结果时才触发告警。支持告警抑制(同一关键词24小时内不重复告警).
专业版支持中、英、日、韩、西、法、德七种语言。可自动翻译查询(由LLM提供),分别执行搜索,生成多语言对比报告。适合跨国市场调研.
默认24小时。可配置为1-168小时(1周)。过期后自动重新搜索。缓存基于查询+结果数+语言生成唯一键,相同查询不重复搜索.
专业版提供三种特殊搜索:(1) 图片搜索(Google Images)返回图片URL与缩略图;(2) 新闻搜索(Google News)返回最近新闻;(3) 学术搜索(Google Scholar)返回论文与引用信息.
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| Node.js 16+ | 运行时 | 二选一 | 官网下载安装 |
| Bun 1.0+ | 运行时 | 二选一 | curl -fsSL https://bun.sh/install | bash |
| Playwright | npm包 | 必需 | npm install playwright |
| Chromium | 浏览器 | 必需 | npx playwright install chromium |
| Python 3.8+ | 运行时 | 必需 | 官网下载安装 |
| requests | Python库 | 必需 | pip install requests(告警推送) |
| schedule | Python库 | 必需 | pip install schedule(定时监控) |
| concurrent.futures | Python库 | 必需 | Python标准库(批量搜索) |
| LLM API | API | 必需 | 由Agent平台内置LLM提供 |
HTTP_PROXY 与 HTTPS_PROXY 环境变量本专业版相比免费版新增以下能力:
此外,专业版还提供:
| 版本 | 价格 | 功能 | 适用场景 |
|---|---|---|---|
| 免费体验版 | ¥0 | 浏览器搜索+结果解析+基础筛选+单次搜索+JSON导出 | 个人试用、单次搜索 |
| 收费专业版 | ¥39/月 | 批量搜索+AI摘要+定时监控+多语言+缓存+图片/新闻/学术搜索+优先支持 | 团队/企业、市场调研 |
专业版通过SkillHub SkillPay发布.
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |
输出:返回执行结果,包含操作状态和输出数据
用户: 执行核心功能
Skill: 正在执行核心功能...
Skill: 执行完成,结果如下: 操作成功
{
"success": true,
"data": {
"result": "谷歌搜索(专业版)处理结果",
"execution_time": "0.5s",
"metadata": {
"version": "1.0",
"processor": "free google search pro"
}
},
"execution_log": ["解析输入参数", "执行核心处理", "格式化输出结果"],
"error": null
}
| 风险类型 | 防范措施 |
|---|---|
| API密钥泄露 | 通过环境变量配置,禁止硬编码到代码或配置文件中 |
| 命令执行风险 | 仅执行白名单命令,避免拼接用户输入到命令行参数中 |
| 网络通信安全 | 使用HTTPS协议,验证SSL证书有效性 |
| 敏感数据暴露 | 输出结果中不包含密钥、令牌等敏感信息 |
使用前请确认已阅读依赖说明章节,确保运行环境满足安全要求。