☰
每日热门skill:38K开发者都在用的Serper Search,凭什么取代Tavily成为OpenClaw搜索一哥?TaoToken配置实战
2026/9/26 3:59:37 网站建设 项目流程

1. 为什么大家都在把 Tavily 换成 Serper Search

如果你最近在折腾 OpenClaw 的联网搜索能力,大概率会刷到两个名字:Tavily 和 Serper Search。前者是 AI 原生搜索的代表,自带摘要和去噪;后者底层走的是 Serper.dev 提供的 Google Search API,返回的是 Google 搜索结果页的结构化 JSON。38K 开发者选择 Serper,核心原因就一句话:你看到的就是 Google 看到的,不做二次加工,知识图谱、People Also Ask、相关搜索这些字段全都原样给你。

这篇不聊虚的,聚焦一件事:在 OpenClaw 里把搜索 Skill 从 Tavily 切到 Serper Search,并且把 Key 通道统一收敛到 TaoToken。我会给出可直接复制的settings.json骨架、环境变量写法、连通性验证命令,以及切换过程中最容易踩的几个坑。适合已经装好 OpenClaw、想让 AI 真正能"上网查资料"的开发者,也适合刚开始接触 Skill 配置的新手。

先说清楚 Serper Search 能做什么:它让 AI 直接拿到 Google 的搜索结果,包括标题、链接、摘要、知识图谱、图片、新闻、地图、学术论文等 9 种搜索类型。响应通常在 1-2 秒,免费额度 2500 次且不用绑卡。对个人开发者来说,这个门槛足够低,拿来当主力搜索 Skill 完全够用。

2. 前置准备:TaoToken 统一 Key 通道

在动settings.json之前,先把 Key 这件事理顺。很多人的 OpenClaw 里散落着各种 API Key:搜索一个、模型一个、Agent 又一个,改起来到处找。我的做法是统一走 TaoToken 一个通道,搜索 Skill 和模型调用都从这里取 Key,配置集中、排查也集中。

TaoToken 的定位是给开发者提供统一的模型与能力接入入口,官网在 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 端点是 https://taotoken.net/api 。你需要先去控制台生成一个 API Key,后面 Serper Search 的调用就走这个 Key 转发。

具体动作分三步:

第一步,打开控制台页面 https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite ,登录后进入 API Keys 管理页 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite ,新建一个 Key,命名建议带上用途,比如openclaw-serper,方便以后按 Skill 粒度回收。

第二步,确认你的 OpenClaw 版本支持自定义 base_url。较新的版本在settings.json里可以直接写baseUrl字段,老版本需要通过环境变量注入。下面配置片段我按新版本写,老版本我会在排障章节给替代方案。

第三步,把 Key 存到环境变量而不是硬编码进配置文件。硬编码一旦提交到 Git 就是事故,这个坑我见过太多次。

注意:TaoToken 是统一的接入通道,不是让你绕过任何合规要求。所有调用都走正常 API 请求,配置时保持 base_url 指向官方端点即可。

3. 可复制配置:settings.json 骨架与 Skill 声明

OpenClaw 的 Skill 配置核心在settings.json,搜索类 Skill 一般放在skills数组里。下面是一份可以直接抄的骨架,重点看serper-search这一段和顶层的providers段。

{ "providers": { "taotoken": { "baseUrl": "https://taotoken.net/api", "apiKeyEnv": "TAOTOKEN_API_KEY", "timeout": 30000 } }, "skills": [ { "name": "serper-search", "enabled": true, "provider": "taotoken", "endpoint": "/v1/search/serper", "params": { "gl": "cn", "hl": "zh-cn", "num": 10 }, "triggers": [ "搜索", "查一下", "最新", "search", "google" ] } ], "gateway": { "port": 18789, "logLevel": "info" } }

几个字段解释一下。provider指向顶层定义的taotoken,这样 Skill 不用自己再存一份 Key。endpoint是搜索请求的相对路径,实际请求会拼成https://taotoken.net/api/v1/search/serper。params里的gl是地理位置,cn表示中国;hl是界面语言,zh-cn是简体中文;num是返回条数,默认 10,最大可以到 100。

triggers是触发词,OpenClaw 收到用户指令后会做关键词匹配,命中就调用这个 Skill。你可以按自己的说话习惯加,比如"帮我找""调研一下"。

环境变量这样设置:

# macOS / Linux export TAOTOKEN_API_KEY="你的_TaoToken_Key" # Windows PowerShell $env:TAOTOKEN_API_KEY = "你的_TaoToken_Key"

如果你想让配置持久化,Linux/macOS 写进~/.zshrc或~/.bashrc,Windows 用系统环境变量面板添加。设置完记得新开一个终端,或者source一下配置文件。

改完settings.json后重启网关:

openclaw gateway restart

然后确认 Skill 状态:

openclaw skills list

看到serper-search状态是ready就说明加载成功了。如果显示error或者missing-key,先别急,第 5 节有对应排查。

4. 连通性验证:从 curl 到 OpenClaw 实跑

配置写完不代表链路通,必须做一次端到端验证。我习惯分两层验:先用 curl 直接打 API,确认 Key 和端点没问题;再通过 OpenClaw 发自然语言指令,确认 Skill 路由正常。

第一层,curl 验证:

curl -X POST "https://taotoken.net/api/v1/search/serper" \ -H "Authorization: Bearer $TAOTOKEN_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "q": "OpenClaw Serper Search Skill", "gl": "cn", "hl": "zh-cn", "num": 5 }'

正常返回是一个 JSON,里面会有organic数组,每条包含title、link、snippet。如果返回 401,说明 Key 不对或没带上;返回 404,检查 endpoint 路径拼写;返回超时,看网络和timeout设置。

第二层,OpenClaw 实跑。启动交互模式:

openclaw chat

然后输入一句自然语言:

帮我搜索 OpenClaw 最新版本的更新内容,返回 5 条结果

观察日志里有没有skill: serper-search triggered这样的记录。如果触发了但没结果,多半是参数问题;如果压根没触发,是triggers没匹配上,回去加关键词。

成功的话,你会看到 AI 把结构化结果整理成一段可读的回答,附上来源链接。这一步跑通,说明从 OpenClaw → TaoToken → Serper 的整条链路是活的。

提示:验证阶段把num设小一点(比如 3-5),响应更快,也省额度。等确认没问题再调大。

5. 本篇常见错排查

切换搜索 Skill 时,报错集中在几个地方,我按出现频率排一下。

错误一:missing-key或 401 Unauthorized。最常见。原因通常是环境变量没生效,或者apiKeyEnv名字和实际变量名对不上。检查方法:echo $TAOTOKEN_API_KEY看有没有值。Windows 下注意 PowerShell 和 CMD 的环境变量作用域不同,重启终端再试。

错误二:Skill 加载了但从不触发。说明triggers没命中。OpenClaw 的匹配是关键词级的,你说话里得包含触发词。解决办法是把常用说法都加进去,或者临时在指令里带上"搜索"两个字。

错误三:返回 404 或 endpoint not found。检查baseUrl和endpoint拼接后的完整路径。baseUrl结尾不要带斜杠,endpoint开头要带斜杠,拼出来是https://taotoken.net/api/v1/search/serper。多一个或少一个斜杠都会 404。

错误四:老版本 OpenClaw 不认providers字段。如果你的版本较旧,settings.json里没有providers支持,就退回环境变量方案:直接把 Key 设成 Skill 约定的变量名,比如SERPER_API_KEY,然后在 Skill 配置里去掉provider字段。具体变量名看你的 Skill 文档。

错误五:中文搜索结果不理想。检查gl和hl是否设成cn和zh-cn。如果搜的是英文内容,改成us和en效果更好。这两个参数直接影响 Google 返回结果的地区倾向。

错误六:响应慢或超时。先把timeout从 30000 调到 60000 试试。如果还是慢,检查是不是num设太大,一次拉 100 条本来就慢。日常用 10 条足够。

排查顺序建议:先 curl 确认 API 层通,再看 Skill 状态,最后看触发日志。一层层往下,别一上来就改配置。

6. 后续怎么用:模型对话与 Coding Plan 分流

链路通了之后,日常使用其实就两种场景,对应两个入口。

一种是验证模型和搜索配合效果,比如你想看看不同模型处理 Serper 返回的 JSON 谁更利索,可以直接在模型对话页试:https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=model-chat&utm_campaign=rewrite 。把搜索指令丢进去,对比输出质量,选一个你顺手的。

另一种是长期编码和 Agent 工作流,比如你要把 Serper Search 接进自动化的竞品监控、论文追踪脚本里,跑定时任务,那就用 Coding Plan:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite 。这个更适合需要稳定调用、按量计费的场景,配置一次长期跑。

接入文档在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite ,里面有完整的参数说明和示例,遇到字段不确定的时候翻一下比猜快。如果你用的是 Claude Code 那套工具链,Anthropic 兼容入口在 https://taotoken.net/claudecode-anthropic?utm_source=taotoken_aicg_blog_end&utm_content=claudecode-anthropic&utm_campaign=rewrite ,配置方式类似,Key 还是同一个。

最后给个实用建议:Serper 的免费额度是 2500 次一次性发放,不是每月刷新。日常调试把num压到 5 以内,验证阶段别拿大查询刷。等确认工作流稳定了,再放开条数。这样一套配置下来,你的 OpenClaw 搜索能力基本就到位了,剩下的就是拿它去解决具体问题。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询