web_search
像先去街上打听消息。重点是“找有哪些结果”。
Tools 导读
`web_search` 是一个轻量 HTTP 工具,不是浏览器自动化,别指望它渲染 JS 或处理登录。先挑供应商:DuckDuckGo 免密钥可直接用,Brave、Exa 等需要 API 密钥。配置时用 `openclaw configure --section web` 或直接设环境变量。结果默认缓存 15 分钟,可调整。
先讲这一页到底在解决什么
`web_search` 是一个轻量 HTTP 工具,不是浏览器自动化,别指望它渲染 JS 或处理登录。先挑供应商:DuckDuckGo 免密钥可直接用,Brave、Exa 等需要 API 密钥。配置时用 `openclaw configure --section web` 或直接设环境变量。结果默认缓存 15 分钟,可调整。
第一站
官方开头其实就在帮你拆这三兄弟。很多人把它们混在一起,读起来当然晕。
web_search像先去街上打听消息。重点是“找有哪些结果”。
web_fetch像你已经拿到具体门牌号,再派人进去把那一页内容抄回来。重点是“抓这一个网址”。
browser像你真的亲自开门进屋、点按钮、填表单。适合 JS 重、要登录、要交互的页面。
搜是找线索,抓是抄单页,逛才是开浏览器真进场。
第二站
官方 quick start 写得很短,因为这套工具的上岗主线真的不复杂。
像给外勤同学发工牌。没有工牌,他到门口也进不了对方的数据服务台。
openclaw configure --section web像让系统问你:“你准备让哪位外勤去跑腿?工牌号码是多少?”配完以后,它就知道以后该叫谁出门。
await web_search({ query: "OpenClaw plugin SDK" })像明确下达一张打听任务单:“去帮我找这个问题的网页线索。”
x_search像把打听范围专门切到 X(以前叫 Twitter)那条街上,不是整个互联网到处问。
第三站
这页中间那张大表,不是在炫 providers 多,而是在帮你选跑腿的人。
像一个比较稳的整理型同学,结构化结果清晰,还有地区和语言过滤。
像一个不用工牌也能帮你跑腿的应急同学。方便,但路数也更朴素。
像更擅长“找完还帮你拆内容”的外勤,适合你不只想知道哪里有,还想顺手拿回更多可读内容。
这些更像会先消化一遍,再带着引用回来告诉你“我觉得答案大概是这样”。
第四站
官方特别强调 provider 列表和自动检测顺序不是一回事。这个点很容易被忽略。
只是为了好找,不代表系统真的按这个顺序选人。
像系统低头看一眼桌上:Brave 的工牌在不在?Gemini 的在不在?按自己的优先顺序找出第一个能上岗的人。
它会退回 Brave,然后很老实地告诉你:现在没工牌,没法上路。
像你把工牌锁进抽屉里,系统只有真的决定叫这个 provider 出门时,才会去打开对应那格抽屉。
第五站
官方参数表看着像说明书,其实都可以翻成很生活化的口令。
query像你真正托付出去的问题本身。
count像你说“先带回 5 条线索给我看看”,不是把整条街全搬回来。
country / language像你交代外勤:“先在德国那边打听,尽量带德语资料回来。”
freshness / date_after / date_before像再补一句:“我只想听最近一周的,或者某个时间段里的消息。”
第六站
x_search 是“专门去 X 那条街打听”的特别外勤它不是普通 web search 的完全替代,而是把搜索范围专门缩到 X 上。
像满城找资料,博客、官网、新闻、各种站点都可能带回来。
x_search像直接走进 X 那条街,只打听帖子、账号、线程这些东西。
因为你先找到具体那条帖子,再让它围着这条帖子继续查,拿回来的细节往往更准。
x_search 更像专项外勤,不是普通网页搜索的换皮。
最后总结
web_search 就是给 OpenClaw 配一个会出去打听网页线索的外勤;想搜得更轻用它,想抓具体网页内容看 /tools/web-fetch,想真进站点操作看 /tools/browser。
如果你下一页只想继续看一页,我建议先看 /tools/web-fetch。因为很多人第一次真正卡住的,不是“怎么搜”,而是“我已经拿到网址了,到底该抓内容还是该开浏览器”。