Serper 是一个通过 Serper API 执行 Google 搜索并读取实际网页正文的技能。它不只是返回搜索摘要,而是抓取结果页面并提取干净的全文内容。
用途
Serper 适用于任何需要来自网络的当前、事实性信息的场景,包括:需要完整文章内容而非摘要的研究主题、新闻和时事、产品信息与价格对比与评测、技术文档与操作指南,以及任何阅读实际页面内容很重要的任务。
它不适用于:可以凭训练数据回答的问题、纯数学、代码执行、创意写作、问候与闲聊。
主要能力
工作流程分为三步:首先调用 Serper API 进行快速 Google 搜索并即时返回结果 URL;然后并发抓取所有结果页面,使用 trafilatura 并行提取内容,每页超时 3 秒;最后以流式方式输出,每个页面完成时逐条打印结果。
每次调用默认模式返回 5 条结果,current 模式最多返回 6 条结果,每条都包含完整页面内容。
查询纪律
应精心构造一个良好的搜索查询,这几乎总是足够的。每次调用都会返回多条带完整页面文本的结果,单次查询即可获得广泛覆盖。不要为了“探索”主题而运行多次搜索。只有当用户请求确实跨越两个不同主题时(例如需要分别搜索的“比较 X 与 Y”,或针对不同方面分别使用 default 与 current 模式),才最多调用两次,绝不超过两次。
不要:用不同措辞运行同一查询以“获取更多结果”;运行连续搜索以“深入挖掘”(完整页面内容本身已经足够深入);先搜索找到某内容再搜索跟进(应阅读已有内容)。
重要提示:该技能已经抓取并提取完整页面内容,不要对返回的 URL 使用 web_fetch、WebFetch 或任何其他 URL 抓取工具,内容已包含在输出中。
两种搜索模式
只有两种模式,根据查询选择正确的模式:
default — 通用搜索(全时段):全时段 Google 网页搜索,5 条结果,每条附带完整页面内容。适用于一般问题、研究、操作指南、常青主题、产品信息、技术文档、对比、教程等非时效性内容。
current — 新闻与近期信息:过去一周的 Google 网页搜索(3 条结果)加 Google News(3 条结果),每条附带完整页面内容。适用于新闻、时事、近期动态、突发新闻、公告等时效性内容。
模式选择指南:查询包含“how does X work”“what is X”“explain X”时用 default;产品研究、对比、教程用 default;技术文档、指南用 default;历史主题、常青内容用 default;查询包含“news”“latest”“today”“this week”“recent”时用 current;包含“what happened”“breaking”“announced”“released”时用 current;时事、政治、体育比分、股票价格用 current。
语言区域(非英语查询必需)
默认是全局模式,无国家过滤,返回英语结果,仅适用于英语查询。当满足以下任一条件时,必须始终设置 --gl 和 --hl:用户消息为非英语;构造的搜索查询为非英语;用户提到特定国家、城市或地区;用户在非英语语境下要求本地结果(价格、新闻、商店等)。
如果用户用德语书写,必须传入 --gl de --hl de,没有例外。场景与标志对应:英语查询且无国家目标时省略 --gl 和 --hl;德语查询或用户用德语书写或目标为 DE/AT/CH 时用 --gl de --hl de;法语查询或用户用法语书写或目标为法国时用 --gl fr --hl fr;其他非英语语言或国家用 --gl XX --hl XX(ISO 代码)。经验法则:如果查询字符串包含非英语单词,将 --gl 和 --hl 设置为匹配该语言。
使用方式
调用命令:python3 scripts/search.py -q "QUERY" [--mode MODE] [--gl COUNTRY] [--hl LANG]
示例: 英语通用研究:python3 scripts/search.py -q "how does HTTPS work" 英语时效性:python3 scripts/search.py -q "OpenAI latest announcements" --mode current 德语查询(新闻/价格):python3 scripts/search.py -q "aktuelle Preise iPhone" --mode current --gl de --hl de 德语新闻:python3 scripts/search.py -q "Nachrichten aus Berlin" --mode current --gl de --hl de 法语产品研究:python3 scripts/search.py -q "meilleur smartphone 2026" --gl fr --hl fr
输出格式
输出是流式 JSON 数组,每个页面被抓取时逐条打印元素。第一个元素是搜索元数据,包含 query、mode、locale(gl、hl)和 results 列表(每项含 title、url、source)。后续每个元素包含一条结果及其完整提取内容。
结果字段:title 为页面标题;url 为来源 URL;source 为 "web"、"news" 或 "knowledge_graph";content 为完整提取的页面文本(提取失败时回退为搜索摘要);date 在可用时出现(新闻结果总是有,网页结果有时有)。
CLI 参考
-q, --query:搜索查询(必需)。 -m, --mode:default(全时段,5 条结果)或 current(过去一周加新闻,各 3 条)。 --gl:国家代码(如 de、us、fr、at、ch)。 --hl:语言代码(如 en、de、fr)。
限制
该技能依赖 Serper API 和 trafilatura 提取,页面抓取每页超时 3 秒,提取失败时回退为搜索摘要。默认模式返回 5 条结果,current 模式最多 6 条结果。非英语查询必须设置 --gl 和 --hl,否则仅适用于英语查询。