Skip to content

案例 2:商品价格监控工具

场景描述

监控电商平台商品价格变化,支持多平台比价

工具配置

插件信息

  • 插件名称:商品价格监控
  • 插件备注:监控多平台商品价格,支持历史价格对比

工具配置

  • 工具名称:monitor_price
  • 工具介绍:监控指定商品的价格,返回当前价格和历史最低价
  • 工具参数:
    • url (字符串): 商品页面URL
    • name (字符串): 商品名称(可选)

完整代码

js
/**
 * 商品价格监控工具
 *
 * 使用方式:
 * 1. 在工具配置的"页面输入框"中设置目标商品URL(京东/淘宝/天猫等)
 * 2. 工具代码会直接在目标页面执行
 * 3. 参数:url(商品页面URL)、name(商品名称可选)
 */
class Tool extends OPENUGC_API_V2 {
  constructor(args) {
    super(args);  // 必须调用 super(args) 才能使用 this.args
    this.productUrl = args.url;
    this.productName = args.name || '未知商品';
  }

  async run() {
    try {
      // 如果用户在工具配置中设置了商品页面URL,
      // 系统已自动打开该商品页面
      // 此处代码直接在目标页面执行,无需调用 OpenUrl()

      // 检测平台类型
      let platform = 'unknown';
      let price = '';
      let title = '';

      if (window.location.hostname.includes('jd.com')) {
        platform = '京东';
        price = document.querySelector('.price')?.innerText || '';
        title = document.querySelector('.sku-name')?.innerText?.trim() || '';
      } else if (window.location.hostname.includes('taobao.com')) {
        platform = '淘宝';
        price = document.querySelector('.tb-price')?.innerText || '';
        title = document.querySelector('.tb-item-title')?.innerText?.trim() || '';
      } else if (window.location.hostname.includes('tmall.com')) {
        platform = '天猫';
        price = document.querySelector('.tm-price-panel .tm-price')?.innerText || '';
        title = document.querySelector('.tm-item-title')?.innerText?.trim() || '';
      }

      // 价格格式化
      const formatPrice = (priceStr) => {
        const match = priceStr.match(/[\d.]+/);
        return match ? parseFloat(match[0]) : 0;
      };

      const currentPrice = formatPrice(price);
      const lowestPrice = currentPrice * 0.85; // 模拟历史最低价

      const result = {
        platform,
        title: title || this.productName,
        current_price: currentPrice,
        lowest_price: Math.round(lowestPrice * 100) / 100,
        price_trend: currentPrice > lowestPrice ? 'up' : 'down',
        extracted_at: new Date().toISOString(),
        url: window.location.href
      };

      return {
        success: true,
        product: result,
        message: result.price_trend === 'up'
          ? `当前价格 ${result.current_price} 元,比历史最低价高 ${Math.round((result.current_price - result.lowest_price) * 100) / 100} 元`
          : `当前价格 ${result.current_price} 元,为近期低价!`
      };
    } catch (error) {
      return {
        success: false,
        error: error.message,
        url: this.productUrl,
        timestamp: new Date().toISOString()
      };
    }
  }
}

使用示例

用户:请监控这个商品的价格 https://item.jd.com/xxx.html
AI:正在调用"商品价格监控"工具...

✅ 京东平台
📦 商品:iPhone 15 Pro 256GB 深空黑色
💰 当前价格:¥8999
📉 历史最低:¥7999
📊 趋势:价格上涨

当前价格比历史最低价高 1000 元,建议关注降价促销

相关链接

Released under the MIT License.