mcpField
G
google-search

google-search

github.com/finpeakinc生产力266 次安装5 天前更新
代码仓库

关于 google-search

google-search 是通过 Frevana 获取常规 Google 搜索结果的技能。它会验证响应 JSON、将其保存到本地,并原样输出相同数据。

主要功能

  1. 01通过 Frevana 搜索 Google 结果
  2. 02支持查询词及可选搜索参数
  3. 03验证响应 JSON
  4. 04保存并输出相同 JSON

适用场景

  1. 01获取指定查询词的 Google 结果
  2. 02设置地点、语言、国家或设备参数
  3. 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 覆盖值
  • curl
  • bash
  • python3

执行顺序

使用以下流程,让请求保持简单可靠:

  1. 确认用户已提供 q 或等效的 Google 搜索查询。
  2. 优先使用脚本,而非临时编写 curl 命令。
  3. 让脚本优先读取 FREVANA_TOKEN。
  4. 在交互式 shell 中,如果缺少 FREVANA_TOKEN,脚本可以提示输入。
  5. 在非交互式或 Agent 工作流中,如果缺少令牌,应立即失败,并告知用户设置 FREVANA_TOKEN 或显式传入 --token。
  6. 运行一次脚本。脚本会将经过验证的 JSON 输出到标准输出,并将同一份 JSON 保存到文件。
  7. 如需后续解析或总结,请使用已保存的 JSON 文件,而不是再次调用搜索 API。
  8. 返回经过验证的响应 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_metadata
  • search_parameters
  • search_information
  • organic_results
  • related_questions
  • related_searches
  • knowledge_graph
  • answer_box
  • pagination

输出

  • 成功:脚本会验证响应正文是否为 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