国内全平台比价工具。Requires OpenClaw v2026.3.22+ with browser access. Compares prices on Taobao/JD/Pinduoduo using existing browser session for member pricing (88VIP/Plus). Accesses browser profile cookies. 电商比价、购物助手。
国内全平台(淘宝/京东/拼多多)原生比价工具。利用OpenClaw浏览器自动化能力,支持88VIP/Plus真实到手价提取。
| 特性 | 旧版本 | v2026.3.22 |
|---|---|---|
| 浏览器驱动 | extension(已废弃) | existing-session(原生) |
| 登录状态 |
此技能会访问您的浏览器配置文件以继承登录会话。
建议: 为敏感账户使用单独的浏览器配置文件。
OpenClaw v2026.3.22新增的existing-session模式,可自动继承用户浏览器会话:
yaml
bash
echo 🛒 中国购物神谕 - 环境检查
echo ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
分析用户请求,提取:
用户: 帮我比价iPhone 16 Pro 256GB
解析结果:
使用OpenClaw浏览器工具进行并行搜索。自动继承用户浏览器会话,无需手动登录。
javascript
// 打开淘宝搜索(自动继承登录状态)
await browser.open({
url: https://s.taobao.com/search?q= + encodeURIComponent(keyword)
})
// 等待页面加载
await browser.wait({ timeout: 5000 })
// 提取商品数据
const taobaoResults = await browser.evaluate(() => {
const items = document.querySelectorAll(.item J_MouserOnverReq)
return Array.from(items).slice(0, 5).map(item => ({
title: item.querySelector(.title)?.innerText?.trim(),
price: item.querySelector(.price strong)?.innerText?.trim(),
shop: item.querySelector(.shopname)?.innerText?.trim(),
sales: item.querySelector(.deal-cnt)?.innerText?.trim(),
url: item.querySelector(.pic-link)?.href
}))
})
javascript
// 打开京东搜索(自动继承登录状态)
await browser.open({
url: https://search.jd.com/Search?keyword= + encodeURIComponent(keyword)
})
// 等待页面加载
await browser.wait({ timeout: 5000 })
// 提取商品数据
const jdResults = await browser.evaluate(() => {
const items = document.querySelectorAll(.gl-item)
return Array.from(items).slice(0, 5).map(item => ({
title: item.querySelector(.p-name em)?.innerText?.trim(),
price: item.querySelector(.p-price i)?.innerText?.trim(),
shop: item.querySelector(.p-shop a)?.innerText?.trim(),
comments: item.querySelector(.p-commit a)?.innerText?.trim(),
url: item.querySelector(.p-name a)?.href
}))
})
javascript
// 打开拼多多搜索(自动继承登录状态)
await browser.open({
url: https://mobile.yangkeduo.com/searchresult.html?searchkey= + encodeURIComponent(keyword)
})
// 等待页面加载
await browser.wait({ timeout: 5000 })
// 提取商品数据
const pddResults = await browser.evaluate(() => {
const items = document.querySelectorAll(.goods-list-item)
return Array.from(items).slice(0, 5).map(item => ({
title: item.querySelector(.goods-name)?.innerText?.trim(),
price: item.querySelector(.goods-price)?.innerText?.trim(),
shop: item.querySelector(.goods-shop)?.innerText?.trim(),
sales: item.querySelector(.goods-sales)?.innerText?.trim(),
url: item.querySelector(a)?.href
}))
})
python
import re
def extractprice(pricestr):
从价格字符串中提取数字
if not price_str:
return None
# 移除货币符号和空格
cleaned = re.sub(r[¥¥$\s], , price_str)
# 提取数字
match = re.search(r(\d+\.?\d*), cleaned)
if match:
return float(match.group(1))
return None
def normalize_results(results):
标准化所有平台的结果
normalized = []
for item in results:
price = extract_price(item.get(price))
if price:
normalized.append({
platform: item[platform],
title: item.get(title, 未知商品),
price: price,
price_str: f¥{price:.2f},
shop: item.get(shop, 未知店铺),
url: item.get(url, ),
extra: {
sales: item.get(sales, item.get(comments, )),
}
})
return normalized
python
MEMBER_DISCOUNTS = {
taobao: {
88vip: 0.95, # 95折
normal: 1.0
},
jd: {
plus: 0.98, # Plus会员价(通常是98折或更低)
normal: 1.0
},
pdd: {
member: 0.98, # 拼多多会员
normal: 1.0
}
}
def calculatememberprice(price, platform, has_member=True):
计算会员真实到手价
discounts = MEMBER_DISCOUNTS.get(platform, {})
if has_member:
for key, discount in discounts.items():
if key != normal:
return price * discount
return price
该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 china-shopping-oracle-1776064808 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 china-shopping-oracle-1776064808 技能
skillhub install china-shopping-oracle-1776064808
文件大小: 6.11 KB | 发布时间: 2026-4-14 13:10