{
"name": "search_products",
"description": "在淘宝/天猫中搜索商品或店铺。 [搜索类型] type 参数指定搜索类型:all=商品搜索(默认)、shop=店铺搜索、tmall=天猫商品、22pc_b=企业购、pc_taobao=淘宝。 [优先规则] 如果用户提到「店铺」「找店」「进店」「某某店」等关键词,优先使用 type=shop 进行店铺搜索。 [使用场景] 当用户提供了图片且能识别出文字(如商品名称、品牌等)时,先识别文字再调用此工具搜索。 [返回数据] 工具返回商品列表( products 字段),包含商品标题、价格、店铺、销量等信息。",
"inputSchema": {
"type": "object",
"properties": {
"keyword": {
"type": "string",
"description": "搜索关键词"
},
"type": {
"type": "string",
"description": "搜索类型:all=商品搜索(默认)、shop=店铺搜索、tmall=天猫商品、22pc_b=企业购、pc_taobao=淘宝。用户提到店铺相关词汇时优先使用 shop 。"
},
"sourceApp": {
"type": "string",
"description": "调用来源应用名称,如 Qcoderwork 、openClaw 、copaw 等"
}
},
"required": [
"keyword",
"sourceApp"
]
}
},
淘宝桌面版有个 cli 工具 taobao-native,可以让 agent 调用搜索商品之类的。我试了一下 search_products,搜索结果倒是能正常拿到,但搜完客户端就掉线了,每次都这样。
但我在桌面端 ui 里手动搜同样的关键词就完全没事。
抓包发现执行 search_products 的时候,桌面端会打开一个全新的搜索结果页, 然后页面上的各种推荐广告位模块一起初始化,0.6 秒内并行发了 26 条 mtop.relationrecommend 请求出去, 然后淘宝自己的 TMD 风控系统就把这当成异常行为拦截了,返回:
RGV587_ERROR::SM::哎哟喂,被挤爆啦,请稍后重试!
然后就弹了个登录验证弹窗。 手动搜索的时候由于搜索页已经在 webview 里加载过了,不需要重新加载推荐模块,只发了 2 条请求,没有触发风控。
掉线之后后续操作就全断了,没办法继续看详情之类的,只能再次手动扫码登录。
我不明白,既然开放了 search_products 这样的工具给外部调用,为什么会存在这样的问题,我是希望 agent 能够在我不干预的情况下自行搜索和继续浏览的。
想请教下各位 V 友大佬们,有没有遇到过这个问题?