关于 google-search
google-search 是通过 Frevana 获取常规 Google 搜索结果的技能。它会验证响应 JSON、将其保存到本地,并原样输出相同数据。
主要功能
- 01通过 Frevana 搜索 Google 结果
- 02支持查询词及可选搜索参数
- 03验证响应 JSON
- 04保存并输出相同 JSON
适用场景
- 01获取指定查询词的 Google 结果
- 02设置地点、语言、国家或设备参数
- 03保存结果以便后续解析或总结
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ finpeakinc/ frevana-skills --skill google-search安装后在 Claude Code 中输入/google-search确认已加载。
附带文件evals/evals.jsonscripts/search_google.sh
详细介绍
Google 搜索
通过 Frevana 搜索 Google 结果。
用途
此技能用于查找常规 Google 搜索结果。
输入:
q- 可选的
location - 可选的
gl - 可选的
hl - 可选的
num - 可选的
start - 可选的
safe - 可选的
device
输出:
- 经过验证的 Google 搜索结果响应 JSON
- 每次成功运行时,同一份经过验证的 JSON 也会保存到本地文件
此技能会验证响应是否为 JSON,将其保存到磁盘,并在标准输出中原样返回。除非用户明确要求进行转换,否则不要重写或重新调整返回数据的结构。
此技能所需内容
- 用户提供的
q - 可选的
location - 可选的
gl - 可选的
hl - 可选的
num - 可选的
start - 可选的
safe - 可选的
device - 环境变量中的
FREVANA_TOKEN,或本次运行时显式传入的--token覆盖值 curlbashpython3
执行顺序
使用以下流程,让请求保持简单可靠:
- 确认用户已提供
q或等效的 Google 搜索查询。 - 优先使用脚本,而非临时编写
curl命令。 - 让脚本优先读取
FREVANA_TOKEN。 - 在交互式 shell 中,如果缺少
FREVANA_TOKEN,脚本可以提示输入。 - 在非交互式或 Agent 工作流中,如果缺少令牌,应立即失败,并告知用户设置
FREVANA_TOKEN或显式传入--token。 - 运行一次脚本。脚本会将经过验证的 JSON 输出到标准输出,并将同一份 JSON 保存到文件。
- 如需后续解析或总结,请使用已保存的 JSON 文件,而不是再次调用搜索 API。
- 返回经过验证的响应 JSON;如果用户不需要完整数据,则总结最相关的搜索结果。
命令
基本 Google 搜索
bash <skill-path>/scripts/search_google.sh \
--q "coffee"
--query 可作为 --q 的别名使用。
按国家、语言和地点搜索
bash <skill-path>/scripts/search_google.sh \
--q "coffee" \
--location "Austin, Texas, United States" \
--gl us \
--hl en
使用分页、结果数量、安全搜索和设备进行搜索
bash <skill-path>/scripts/search_google.sh \
--q "coffee" \
--num 20 \
--start 20 \
--safe off \
--device mobile
将响应 JSON 保存到指定文件
bash <skill-path>/scripts/search_google.sh \
--q "coffee" \
--gl us \
--hl en \
--output ./out/google-search-result.json
覆盖本次运行使用的令牌
bash <skill-path>/scripts/search_google.sh \
--q "coffee" \
--token "your bearer token"
固定请求格式
脚本会发送以下格式的请求载荷,并省略未提供的可选字段:
{
"q": "coffee",
"location": "Austin, Texas, United States",
"gl": "us",
"hl": "en",
"num": 20,
"start": 20,
"safe": "off",
"device": "mobile"
}
只有 q 是必填项。用户未提供 location、gl、hl、num、start、safe 或 device 时,不要自行编造这些值。
Frevana 端点架构目前仅支持 q、location、gl、hl、num、start、safe 和 device;不要传入 engine、api_key、output、no_cache、async 或 zero_trace 等不受支持的透传字段,也不要传入其他不受支持的 Google 搜索字段,除非 Frevana 端点架构已先行扩展。
响应格式
API 会返回 Frevana JSON。常见字段包括:
search_metadatasearch_parameterssearch_informationorganic_resultsrelated_questionsrelated_searchesknowledge_graphanswer_boxpagination
输出
- 成功:脚本会验证响应正文是否为 JSON,将其写入文件,在标准错误中输出保存路径,并在标准输出中输出 JSON
- 默认文件路径:
./out/google-search-<UTC timestamp>-<pid>.json - 使用
--output时:JSON 将写入指定文件路径,而非默认路径 - 失败:脚本会输出响应正文或解析错误,并以非零状态码退出
注意事项
- 需要使用
--q或--query - 不要仅仅为了保存和总结结果而重复调用脚本。脚本保存的 JSON 与打印的内容始终相同。
- 用户要求以某个城市、州或国家作为搜索起点时,使用
--location - 用户要求指定国家或地区代码时,使用
--gl - 用户要求指定语言代码时,使用
--hl - 仅当结果数量在
1到100之间时,使用--num - 用户要求按结果偏移量分页时,使用
--start --safe仅可设为active或off--device仅可设为desktop、mobile或tablet- 如果缺少
curl,停止并告知用户安装curl - 如果缺少
python3,停止并告知用户安装python3 - 不要向用户回显 Bearer 令牌
- 总结用户真正关心的搜索结果,而不是直接输出原始 JSON,除非用户要求提供完整内容
示例提示词
中文
- “搜索 Google 上的 coffee”
- “查一下 Google 搜索 q=coffee,location=Austin, Texas, United States,gl=us,hl=en”
- “Google 搜索 coffee,第 3 页,移动端结果,并保存原始 JSON”
English
- “Search Google for coffee”
- “Look up Google results for coffee with location=Austin, Texas, United States, gl=us, hl=en”
- “Search Google for coffee on mobile with start=20 and save the raw JSON”
评论
支持 Markdown