taobao-search

star 226

淘宝商品搜索。当用户想要搜索商品、找某品牌产品、比价、查看新款等电商购物场景时激活。

OPPO-Mente-Lab By OPPO-Mente-Lab schedule Updated 5/18/2026

name: taobao-search description: | 淘宝商品搜索。当用户想要搜索商品、找某品牌产品、比价、查看新款等电商购物场景时激活。 metadata: { "xomniclaw": { "always": false, "emoji": "🛒", "version": "1.0.0", "category": "shopping" }

}

Taobao Search Tool

通过淘宝 Deep Link 直达搜索页面,浏览商品并为用户提供购物建议。

🎯 When to Use

Use this skill when user asks about:

商品搜索 - "帮我找阿迪达斯今年新款男鞋" ✅ 品牌查找 - "搜一下耐克跑步鞋" ✅ 比价购物 - "淘宝上看看有什么好的蓝牙耳机" ✅ 新品浏览 - "今年有什么新款连衣裙" ✅ 特定条件搜索 - "200元以内的双肩包"

📋 Workflow

标准搜索流程

1. 解析用户意图,提取搜索关键词
2. 通过 device(action="open", uri="taobao://...") 跳转淘宝搜索页
3. 等待淘宝 App 加载搜索结果:device(action="act", kind="wait", timeMs=1500)
4. 拉取页面 UI 树:device(action="snapshot", format="compact")
   —— 这是商品名/价格/店铺/销量等文字信息的**唯一来源**
5. 从 snapshot 返回的 text 节点里逐条提取商品信息(详见 Step 3)
6. 基于提取到的具体商品信息回答用户(200字以内,必须包含真实数字和细节)

⚠️ 绝对禁止: 不要用 read_file 读截图 PNG(如 read_file("/sdcard/.xomniclaw/workspace/screenshots/*.png"))。PNG 是二进制,read_file 会以 UTF-8 解码出大量乱码并撑爆上下文窗口,整个 session 会被 context window exceeds limit 终止。只用 device(action="snapshot") 读页面文字

🔗 Deep Link 构造规则

淘宝搜索 Deep Link 格式:

taobao://s.taobao.com/search?q={关键词}

关键词用 + 连接多个搜索词,示例:

用户意图 搜索关键词 Deep Link
阿迪达斯今年新款男鞋 阿迪达斯+2026+新款+男鞋 taobao://s.taobao.com/search?q=阿迪达斯+2026+新款+男鞋
耐克跑步鞋 耐克+跑步鞋 taobao://s.taobao.com/search?q=耐克+跑步鞋
200元蓝牙耳机 蓝牙耳机 taobao://s.taobao.com/search?q=蓝牙耳机

🚀 X-OmniClaw Implementation

Tool: device (DeviceTool — 统一设备控制工具)

⚠️ 重要: 不要使用 shell am start 命令跳转 Deep Link(会因 SecurityException 权限拒绝),必须使用 device(action="open", uri="...") 通过 X-OmniClaw 应用上下文发起 ACTION_VIEW Intent。

Step 1: Deep Link 跳转淘宝搜索页

// 构造搜索关键词
val keyword = "阿迪达斯+2026+新款+男鞋"
val deepLink = "taobao://s.taobao.com/search?q=$keyword"

// 通过 device tool 的 open action + uri 参数跳转
device(action = "open", uri = deepLink)

Step 2: 等待页面加载并拉取 UI 树

// 等待淘宝 App 启动并加载搜索结果
device(action = "act", kind = "wait", timeMs = 1500)

// 拉取页面 UI 树(含所有可见文本节点) —— 商品信息的唯一来源
device(action = "snapshot", format = "compact")

不要在这一步用 screenshotscreenshot 只用于内部 grounding(定位点击坐标),不会把图像内容送给你。snapshot 才会把页面上每个可见文本节点(含商品名、价格、店铺名)以纯文本方式返回给你。

Step 3: 从 snapshot 的 text 节点中提取商品信息(关键步骤)

snapshot 返回的是 UI 树文本,例如:

text "ULTRABOOST 5X 2026春季款男子跑步鞋"
text "¥899"
text "阿迪达斯官方旗舰店"
text "2000+人付款"

你必须从 text 节点逐条提取以下字段

  • 商品完整名称(含品牌、系列、型号,如 "Nike Air Max 270 React")
  • 价格(精确到元,如 ¥599、¥1299)
  • 颜色/配色(如 黑白、灰蓝、荧光绿)—— 若 snapshot 中没有出现颜色文字,可省略此字段
  • 店铺名称(如 "耐克官方旗舰店"、"XX运动专营店")
  • 销量/付款人数(如 "2000+人付款"、"月销500+")
  • 标签/卖点(如 "官方正品"、"新品首发"、"包邮")

如果 snapshot 文本节点稀疏(页面还在加载或被弹窗遮挡),再次 device(action="act", kind="wait", timeMs=1500) 然后重新 snapshot;不要 read_file 截图 PNG。

Step 4: 基于具体商品信息回答用户

严禁笼统回复。以下是禁止出现的回复方式:

❌ "搜索结果展示了多个商家的耐克新款男鞋,包含不同款式和价位"
❌ "你可以在当前页面继续上下滑动查看更多商品"
❌ "点击感兴趣的商品查看详情和价格"
❌ "包含不同款式和价位,可以根据你的喜好选择"

这类回复等于没有回答,用户自己也能看到屏幕。你的价值在于帮用户总结屏幕上的具体商品信息

必须包含具体数字和细节,回复格式:

为您在淘宝搜索了"{搜索词}",挑选了几款值得关注的:

1. {完整商品名含型号} - ¥{具体价格},{颜色},{店铺名},{销量}
2. {完整商品名含型号} - ¥{具体价格},{颜色},{店铺名},{销量}
3. {完整商品名含型号} - ¥{具体价格},{颜色},{店铺名},{销量}

价格区间¥{最低}-¥{最高}。{1-2句具体购物建议,如哪款性价比高、哪家是官方旗舰店等}。需要我点开某款看详情吗?

💡 Complete Example

用户: "帮我找阿迪达斯今年新款男鞋"

执行流程:

// 1. 解析意图 → 关键词: 阿迪达斯+2026+新款+男鞋
val keyword = "阿迪达斯+2026+新款+男鞋"

// 2. Deep Link 跳转淘宝(使用 device tool 的 uri 参数)
device(action = "open", uri = "taobao://s.taobao.com/search?q=$keyword")

// 3. 等待加载并拉取 UI 树
device(action = "act", kind = "wait", timeMs = 1500)
device(action = "snapshot", format = "compact")  // ← 唯一信息来源

// 4. 从 snapshot 的 text 节点中提取: 商品名(含型号)、价格、颜色、店铺名、销量
// 5. 基于提取到的具体信息回答用户(200字以内)

回复示例(注意每一条都是从 snapshot 的 text 节点中实际读取的具体信息):

为您在淘宝搜索了"阿迪达斯2026新款男鞋",挑选了几款值得关注的:

1. Adidas ULTRABOOST 5X 2026春季款男子跑步鞋 - ¥899,黑白配色,阿迪达斯官方旗舰店,2000+人付款
2. Adidas Originals GAZELLE Indoor 板鞋 - ¥799,深蓝/白色,adidas三叶草官方旗舰店,1500+人付款
3. Adidas SAMBA OG 德训鞋经典复刻 - ¥699,白色/黑尾,得物adidas授权店,3000+人付款

价格区间¥699-¥899。3款都是今年新配色,其中SAMBA销量最高性价比也不错;如果追求跑步性能推荐ULTRABOOST。前两家是官方旗舰店更有保障。需要我点开某款看详情吗?

🔍 关键词提取策略

从用户查询中提取搜索关键词时:

// 品牌 + 时间 + 品类 组合
val brand = "阿迪达斯"     // 品牌名
val year = "2026"          // 年份("今年"→当前年份)
val category = "新款+男鞋"  // 商品类别

val keyword = "$brand+$year+$category"

时间词映射

用户表述 转换为
今年 2026
新款 2026+新款
最新 2026+新款
去年 2025

⚠️ 注意事项

  • 必须使用 device tool: 通过 device(action="open", uri="...") 跳转,不要用 shell am start(会报 SecurityException)
  • 淘宝 App 必须已安装: Deep Link 需要淘宝 App,若未安装会返回 ActivityNotFoundException
  • 登录状态: 部分搜索结果需要登录淘宝账号才能完整展示
  • 网络依赖: 需要联网才能加载搜索结果
  • 加载时间: 网络较慢时适当增加 wait 的 timeMs;snapshot 文本稀疏时再 wait 1-2 秒后重 snapshot
  • 回复字数: 字数控制在 200 字以内,但必须包含从 snapshot 中读取的具体商品信息
  • 严禁套话: 绝对不能回复"包含不同款式和价位""你可以继续浏览"这类笼统废话。如果 snapshot 里没有足够商品文字,应再 wait 后重新 snapshot,仍不行则如实说明
  • 严禁 read_file 截图 PNG: read_file("/sdcard/.../screenshots/*.png") 会返回二进制乱码并撑爆上下文,整个 session 会被 context window exceeds limit 终止;任何"读截图内容"的需求一律改用 device(action="snapshot")

🔄 Error Handling

淘宝未安装

// device(action="open", uri="...") 会返回 ActivityNotFoundException 错误
// 备选方案:使用浏览器打开
device(action = "open", uri = "https://s.taobao.com/search?q=$keyword")

搜索无结果

// 如果搜索结果为空,尝试简化关键词
val simplifiedKeyword = "阿迪达斯+男鞋"  // 去掉年份等限定词
device(action = "open", uri = "taobao://s.taobao.com/search?q=$simplifiedKeyword")

页面加载超时

// 增加等待时间并重新拉取 UI 树
device(action = "act", kind = "wait", timeMs = 2000)
device(action = "snapshot", format = "compact")
// 如果 snapshot 仍无商品 text 节点,提示用户检查网络/登录状态

📱 Supported Queries

查询类型 示例 搜索关键词
品牌+品类 "找耐克跑步鞋" 耐克+跑步鞋
品牌+年份+品类 "阿迪达斯今年新款" 阿迪达斯+2026+新款
品类+价格 "300以内的双肩包" 双肩包
泛品类 "好看的连衣裙" 连衣裙+新款
特定商品 "iPhone 16 手机壳" iPhone+16+手机壳
Install via CLI
npx skills add https://github.com/OPPO-Mente-Lab/X-OmniClaw --skill taobao-search
Repository Details
star Stars 226
call_split Forks 36
navigation Branch main
article Path SKILL.md
More from Creator
OPPO-Mente-Lab
OPPO-Mente-Lab Explore all skills →