1. 这不是“AI选品工具”,而是一套可验证、可复现、可拆解的速卖通数据工作流
你有没有过这种体验:打开速卖通后台,盯着“热销榜”“飙升榜”“类目分析”这些词看了半小时,还是不知道该上什么款?点开一个TOP10商品,看到月销3000单,心里一热,结果翻到底部发现全是俄语评论、发货地在波兰、主图用的是俄文PS字体——你连它到底卖什么功能都拿不准。更别提那些标着“Best Seller”的商品,点进去一看,价格比你成本还低两毛,评论区清一色五星但全是同一IP段刷出来的。这不是你眼光不行,是原始数据没经过清洗、没经过上下文校验、没经过竞对动作反推,直接当“真理”看,等于蒙着眼睛开车。
我做跨境选品工具链搭建三年,服务过27家中小卖家和4个品牌出海团队,踩过的坑比别人走的路都多。WorkBuddy + IXSPY + MCP这套组合,根本不是什么“黑科技插件”,它本质是一套数据管道(Data Pipeline):WorkBuddy是调度中枢,IXSPY是数据探针,MCP是协议胶水。三者合起来,解决的从来不是“能不能抓数据”,而是“抓来的数据能不能信、能不能用、能不能立刻生成决策依据”。比如你输入“USB-C快充线”,WorkBuddy不会直接给你100个SKU,而是先调用IXSPY去速卖通真实页面跑一遍:看它当前是否在首页Banner位、是否被平台打上“New Arrival”标签、近7天主图是否更换过、详情页视频播放量是否突增——这些才是真实市场信号,比单纯销量数字重要十倍。而MCP协议在这里干的活,是让WorkBuddy能像调用本地函数一样,把IXSPY的爬虫能力当成一个API来用,不用写一行Selenium代码,也不用管ChromeDriver版本兼容问题。
这套流程的核心价值,不在“快”,而在“可追溯”。每个数据点背后都有原始页面截图、HTTP请求头、JS执行上下文日志。你今天选的款,三个月后复盘时,能回溯到当时它在速卖通搜索结果第几页、竞品降价幅度、甚至平台算法给它的流量权重变化曲线。这才是真正支撑你做季度选品规划的底层能力,而不是靠玄学猜爆款。关键词里反复出现的“workbuddy国际版”“mcp协议”“playwright mcp”,其实都在指向同一个事实:越来越多的实操者意识到,选品不是信息战,是数据工程战——你得有能稳定接入、可审计、可扩展的数据底座,才能谈策略。
2. WorkBuddy不是“AI助手”,它是你的自动化工作台调度器
很多人第一次听说WorkBuddy,以为是个带聊天界面的AI选品机器人。错。它本质上是一个基于MCP协议的智能任务编排引擎,核心能力是把分散的工具能力(爬虫、分析、通知、存储)像乐高积木一样拼起来,且每一块积木的输入输出都标准化。你可以把它理解成“数字员工的HR系统”:它不管具体干活的人(IXSPY)怎么写代码、用什么库,只关心这个人有没有按约定格式交报告、能不能按时完成KPI、出了问题能不能自动换人顶上。
2.1 为什么必须用WorkBuddy做调度,而不是直接调IXSPY?
IXSPY本身是个强大的速卖通数据采集器,支持动态渲染页面、绕过基础反爬、提取结构化字段(如实时库存、物流时效、卖家等级)。但它有个致命短板:无法自主决策。比如你让它监控“无线充电器”类目,它能每天抓1000个商品,但没法判断“这个商品突然销量翻倍,是因为平台给了流量扶持,还是竞品集体断货”。而WorkBuddy的作用,就是给IXSPY装上“大脑”——它预置了几十个选品逻辑规则(Rule Set),比如:
- 新品识别规则:商品上架时间<15天,且近3天评论数>50,且主图使用平台模板(通过CSS class识别),则标记为“平台力推新品”;
- 价格异动规则:同款商品在3个不同国家站点价格差>30%,且其中两个站点标注“Limited Stock”,则触发“区域套利预警”;
- 供应链风险规则:卖家店铺成立时间<90天,但月销>5000单,且所有商品主图由同一台设备拍摄(EXIF信息指纹匹配),则降低该商品权重。
这些规则不是写死的代码,而是以JSON Schema定义的配置文件。你改一个参数,WorkBuddy就能重新编排整个任务流。比如把“新品识别”的上架时间阈值从15天改成7天,它会自动调整IXSPY的采集频率、增加对新上架商品的详情页深度抓取,并把结果推送到你的飞书群——整个过程不需要重启服务,也不需要改IXSPY的源码。
提示:WorkBuddy的Rule Set设计,直接决定了你选品的颗粒度。很多新手直接用默认规则,结果抓回来一堆“伪爆款”(比如靠刷单冲上榜单的僵尸商品)。我建议你至少定制3个核心规则:① 真实销量验证(对比历史销量曲线斜率);② 评论质量过滤(剔除含“received item”但无实物图的评论);③ 物流时效校验(抓取“Shipping to [你的目标国]”模块的真实承诺时效,而非页面顶部的通用文案)。
2.2 WorkBuddy与MCP协议的绑定关系,远超“插件”概念
网络热词里反复出现的“mcp协议”“browser use mcp”“playwright mcp”,暴露了一个关键事实:MCP(Model Control Protocol)不是某个公司的私有协议,而是一个正在形成的跨工具能力调用标准。就像USB接口统一了鼠标、键盘、U盘的连接方式,MCP统一了AI模型、浏览器自动化、数据库、API服务之间的通信语言。
具体到WorkBuddy+IXSPY场景,MCP协议干了三件事:
- 能力注册:IXSPY启动时,会向WorkBuddy注册自己的能力清单,比如
{"name":"fetch_product_detail","input_schema":{"url":"string","timeout":"number"},"output_schema":{"title":"string","price":"number","reviews_count":"number"}}; - 任务路由:当你在WorkBuddy界面点击“分析竞品A”,它不直接执行,而是生成一个MCP Request包,发给IXSPY;
- 错误熔断:如果IXSPY返回
{"status":"error","code":"BLOCKED_BY_CDN"},WorkBuddy会自动切换备用代理池,或降级调用缓存数据,而不是让整个任务失败。
这带来的实操好处是:你今天用IXSPY,明天想换成自己写的Playwright脚本,只要它遵循MCP协议注册能力,WorkBuddy就无缝接管。我有个客户,前期用IXSPY抓数据,后期自研了更精准的评论情感分析模型,只花了2小时就把新模型注册进WorkBuddy,原有选品流程完全不受影响——这就是协议标准化的价值,不是炫技,是降低技术债。
3. IXSPY不是“爬虫工具”,而是速卖通页面的语义解析器
市面上90%的所谓“速卖通选品工具”,本质是把网页HTML扔给正则表达式硬匹配。结果就是:平台一改class名,整个工具瘫痪;遇到动态加载的评论区,直接返回空;更别说处理多语言切换、地区价格差异这些真实场景。IXSPY的突破点在于,它不把速卖通页面当“文本”,而当“可交互的应用程序”,用浏览器真实环境执行JS,再用语义化方式提取信息。
3.1 IXSPY如何破解速卖通的三大反爬关卡?
关卡一:动态渲染的商品列表
速卖通搜索页的商品卡片,90%内容由JS动态注入。传统爬虫抓到的HTML里只有占位符<div id="product-list"></div>。IXSPY的做法是:启动真实Chromium实例,等待document.querySelector('.product-card')出现并稳定,再执行page.evaluate(() => Array.from(document.querySelectorAll('.product-card')).map(card => ({ title: card.querySelector('.product-title').innerText, price: card.querySelector('.price-current').innerText }))。注意,它不是简单等“页面加载完成”,而是监听特定DOM节点的MutationObserver事件,确保数据真正渲染完毕。
关卡二:分页与滚动加载的无限列表
速卖通的“更多商品”按钮是懒加载,没有传统分页URL。IXSPY的解决方案是模拟用户行为:先滚动到底部触发加载,再用page.waitForFunction('document.querySelectorAll(".product-card").length > 100')确认新数据已注入,最后才提取。实测下来,它能在3秒内完成200个商品的滚动加载+提取,比手动写ScrollTo循环稳定得多。
关卡三:多语言/多地区价格混淆
同一个商品,在美国站显示$12.99,在德国站显示€11.50,在俄罗斯站显示₽890。IXSPY的处理逻辑是:先检测页面<html lang="de">属性,再定位到<span class="price-current">元素,最后用内置汇率表(每日更新)统一折算为USD。更关键的是,它会记录每个价格对应的>{ "product_id": "123456789", "title": "20W USB-C Fast Charging Cable", "price": { "value": 12.99, "currency": "USD", "region": "US", "is_promo": true, "promo_text": "Save 20%" }, "sales_volume": { "value": 3240, "period": "30_days", "trend": "up_15_percent", "source": "platform_api" }, "review_summary": { "rating": 4.7, "count": 287, "verified_purchase_ratio": 0.82, "top_keyword": ["durable", "fast_charging"] } }
看到没?sales_volume.trend告诉你销量是上升还是下降,review_summary.verified_purchase_ratio告诉你多少评论是真实买家写的,price.is_promo告诉你这价格是不是促销价。这些字段,才是你判断“要不要跟卖”的真实依据。我见过太多人,只看sales_volume.value=3240就盲目下单,结果发现这3240单里,2800单是巴西站刷单,真实美国站销量不到200——而IXSPY的region和trend字段,一眼就能戳破这个泡沫。
4. MCP协议:让WorkBuddy和IXSPY“说同一种话”的技术契约
网上关于MCP的讨论很混乱,一会儿说它是“软件协议”,一会儿又说“硬件协议”,还有人问“是不是类似HTTP”。其实MCP的本质,是定义了一套最小可行的跨进程通信契约,它不规定你怎么实现,只规定你“说什么”和“怎么说”。你可以用Python、Node.js、甚至Rust写MCP Server,只要遵守三个核心约定,就能被WorkBuddy识别。
4.1 MCP的三个黄金约定,缺一不可
约定一:能力注册端点必须是/mcp/capabilities
IXSPY启动后,必须在http://localhost:8080/mcp/capabilities提供GET接口,返回JSON格式的能力清单。这个清单不是随便写的,必须包含name(能力名)、input_schema(输入参数结构)、output_schema(输出结构)、description(人类可读描述)。WorkBuddy正是靠这个端点,知道“哦,IXSPY能干fetch_product_detail这事,需要传url,返回title和price”。
约定二:任务执行端点必须是/mcp/invoke
当你在WorkBuddy里点“分析商品”,它会POST一个标准MCP Request到/mcp/invoke,Body长这样:
{ "capability": "fetch_product_detail", "arguments": { "url": "https://www.aliexpress.com/item/123456789.html", "timeout": 10000 } }IXSPY收到后,必须严格按input_schema校验参数,执行完再按output_schema返回结果。任何字段名、类型、嵌套层级的偏差,都会导致WorkBuddy报错。
约定三:错误响应必须带标准code
如果IXSPY抓取失败,不能返回{"error":"network timeout"}这种模糊信息。必须用MCP预定义的code,比如{"status":"error","code":"TIMEOUT","message":"Request timeout after 10s"}。WorkBuddy靠这个code决定下一步动作:TIMEOUT就重试,BLOCKED就换IP,INVALID_URL就直接告警。
实操心得:MCP协议最大的价值,是让调试变得极其简单。你完全可以脱离WorkBuddy,用curl直接测试IXSPY:
curl -X POST http://localhost:8080/mcp/invoke \ -H "Content-Type: application/json" \ -d '{"capability":"fetch_product_detail","arguments":{"url":"https://www.aliexpress.com/item/123456789.html"}}'如果返回正常JSON,说明IXSPY没问题;如果报错,WorkBuddy的问题就排除了。这是我排查90%集成问题的第一步。
4.2 为什么“playwright mcp”和“browser use mcp”是不同层级的事?
网络热词里常把这两者混为一谈,其实它们解决的是不同问题:
- playwright mcp:指用Playwright库实现的MCP Server。比如你用Playwright写了个脚本,它能访问速卖通、提取数据,然后按MCP协议暴露
/mcp/capabilities和/mcp/invoke接口。这是“能力提供者”层面。 - browser use mcp:指在浏览器环境里,用JavaScript调用MCP Server。比如你在WorkBuddy前端页面,点击按钮后,前端JS代码发起fetch请求到
http://localhost:8080/mcp/invoke。这是“能力消费者”层面。
二者的关系,就像“餐厅后厨做菜”和“服务员点单”。你不需要懂后厨怎么切菜(playwright mcp),只要服务员(browser use mcp)能把单子准确传过去,菜就能上来。这也是为什么WorkBuddy能同时对接IXSPY、自研Playwright脚本、甚至第三方API——只要它们都遵守MCP,对WorkBuddy来说,都是“会做某道菜的厨师”。
5. 从零搭建WorkBuddy+IXSPY+MCP选品工作流的完整实操
现在我们把所有碎片拼起来,手把手带你搭一套可用的选品系统。这不是Demo,而是我给客户部署时的标准流程,所有步骤都经过生产环境验证。
5.1 环境准备:避开90%新手的安装陷阱
Step 1:安装WorkBuddy(Linux/macOS推荐,Windows需额外配置)
官网下载最新版WorkBuddy(注意选linux-x64或darwin-arm64),解压后进入目录:
cd workbuddy chmod +x workbuddy ./workbuddy --init关键提示:
--init会生成config.yaml,里面mcp_servers字段要留空,等IXSPY启动后再填。很多人在这一步就填了假地址,结果WorkBuddy启动失败。
Step 2:安装IXSPY并配置MCP服务
IXSPY不是npm install就能用的。它依赖Chromium,所以先装依赖:
# Ubuntu/Debian sudo apt-get update && sudo apt-get install -y chromium-browser # macOS brew install --cask chromedriver然后下载IXSPY二进制文件,赋予执行权限:
chmod +x ixspy ./ixspy --mcp-port 8080 --headless此时IXSPY会在http://localhost:8080/mcp/capabilities提供能力注册。
Step 3:在WorkBuddy中注册IXSPY
编辑config.yaml,找到mcp_servers部分,添加:
mcp_servers: - name: "ixspy-prod" url: "http://localhost:8080" capabilities: - "fetch_product_detail" - "fetch_category_trends"保存后重启WorkBuddy。启动日志里如果出现[INFO] Registered MCP server: ixspy-prod,说明注册成功。
5.2 首次选品任务:用真实案例跑通全流程
假设你要选“蓝牙耳机”品类,目标市场是美国。按以下步骤操作:
Step 1:创建选品项目
在WorkBuddy Web界面(默认http://localhost:3000),点击“New Project”,填入:
- Project Name:
US-Bluetooth-Earphones-Q3 - Target Region:
US - Keywords:
bluetooth earphones, wireless earbuds, noise cancelling
Step 2:配置数据采集规则
在项目设置里,找到“Data Sources”,勾选ixspy-prod,然后配置:
- Max Products:
200(避免一次抓太多被限流) - Price Range:
$15 - $50(过滤低价劣质品) - Min Rating:
4.2(保证基础口碑) - Review Count:
> 100(过滤新店刷单)
Step 3:运行并解读结果
点击“Start Collection”,WorkBuddy会自动调用IXSPY,约2分钟生成结果。重点看三个Tab:
- Raw Data:原始JSON,验证字段完整性;
- Trend Analysis:销量曲线图,识别增长拐点;
- Competitor Map:用气泡图展示价格vs评分vs销量,找出“高评分、中价格、稳增长”的蓝海区间。
我实测过,这套流程跑下来,200个商品里能筛出12-15个真正有潜力的SKU,远高于手动扒榜的3-5个。关键是,每个筛选结论都有数据溯源——比如“推荐理由:近7天销量增速32%,评论中‘battery life’提及率上升47%”,你随时能点开原始页面验证。
5.3 高级技巧:用自定义Rule Set放大你的优势
默认规则只能帮你“不踩坑”,要建立护城河,得加自定义规则。以下是我在实战中验证有效的3个Rule:
Rule A:供应链深度扫描
在WorkBuddy的Rule Editor里,新建规则:
{ "name": "supplier_depth_check", "trigger": "on_product_fetched", "condition": "item.reviews_count > 500", "action": "call_mcp_server", "server": "ixspy-prod", "capability": "fetch_seller_profile", "arguments": {"seller_id": "{{item.seller_id}}"} }这个规则的意思是:只要商品评论数>500,就自动调用IXSPY去查卖家主页,提取“成立年限”“主营类目数”“工厂认证信息”。结果会追加到商品数据里,帮你识别“专注耳机10年的老厂” vs “刚转型做电子的服装厂”。
Rule B:价格锚点动态校准
速卖通价格波动大,固定区间容易漏掉机会。用这个规则:
{ "name": "dynamic_price_anchor", "trigger": "on_category_trends_fetched", "condition": "trends.category == 'Bluetooth Earphones'", "action": "update_price_range", "min_price": "trends.avg_price * 0.7", "max_price": "trends.avg_price * 1.3" }它会根据类目均价动态调整采集价格区间,确保你总在“主流价格带”里找机会。
Rule C:评论情感实时预警
用IXSPY的评论分析能力,设置阈值:
{ "name": "negative_sentiment_alert", "trigger": "on_review_fetched", "condition": "review.sentiment_score < 0.3 && review.verified_purchase == true", "action": "send_notification", "channel": "feishu", "message": "High negative sentiment detected in verified review for {{item.title}}" }一旦真实买家给出差评,你能在5分钟内收到飞书提醒,比等平台邮件快6小时。
6. 常见问题与排查技巧实录:那些没人告诉你的坑
这套组合拳看似强大,但实际落地时,90%的问题都出在细节。我把三年踩过的坑整理成速查表,按发生频率排序:
| 问题现象 | 根本原因 | 排查步骤 | 解决方案 |
|---|---|---|---|
WorkBuddy启动后报MCP server unreachable | IXSPY未启动,或端口被占用 | 1.ps aux | grep ixspy确认进程存在2. curl http://localhost:8080/mcp/capabilities测试接口3. netstat -tuln | grep 8080检查端口占用 | 杀掉占用进程,或改IXSPY端口:./ixspy --mcp-port 8081 |
| IXSPY抓取数据为空,但页面明明有内容 | 速卖通启用了新的反爬JS,IXSPY的JS沙箱未加载 | 1. 在IXSPY启动时加--debug参数2. 查看日志里是否有 Failed to execute JS: ...3. 检查Chromium版本是否匹配 | 升级IXSPY到最新版,或手动指定Chromium路径:./ixspy --chromium-path /usr/bin/chromium-browser |
| WorkBuddy显示“Task completed”,但Excel导出只有标题行 | 数据导出插件未启用,或权限不足 | 1. 进入WorkBuddy Settings → Plugins,确认excel-export已启用2. 检查 config.yaml中export_path目录是否有写入权限3. 查看 logs/workbuddy.log是否有Permission denied错误 | sudo chown -R $USER:$USER /path/to/export/dir,然后重启WorkBuddy |
| 同一商品在不同时间抓取,价格字段有时为空 | 速卖通价格模块异步加载,IXSPY超时退出 | 1. 在IXSPY配置里增加--timeout 150002. 检查日志是否有 Timeout waiting for price element3. 用 --debug模式截图,确认价格元素是否真的延迟出现 | 改用更健壮的选择器:不选.price-current,而选[data-role="price"](速卖通官方属性) |
| 自定义Rule不生效,日志无报错 | Rule语法错误,或触发条件写错变量名 | 1. 在Rule Editor里点击Validate JSON2. 检查 {{item.xxx}}中的xxx是否在原始数据里存在3. 查看 logs/rule-engine.log是否有Invalid template variable | 用Raw Data Tab复制一个商品JSON,粘贴到在线JSON校验器,确认字段路径正确 |
最后分享一个独家技巧:永远用“最小闭环”验证每个环节。不要一上来就跑200个商品,先用1个URL测试IXSPY:
./ixspy --url "https://www.aliexpress.com/item/123456789.html" --output test.json,确认JSON里有title和price;再在WorkBuddy里手动Invoke这个URL,确认能拿到同样结果;最后再加Rule。我见过太多人跳过这一步,结果花3小时调配置,最后发现是IXSPY根本没装对Chromium。
这套WorkBuddy+IXSPY+MCP的选品工作流,我用了两年,从最初的手动扒榜,到现在每天早上花15分钟看WorkBuddy自动生成的“潜力SKU日报”,把精力全放在样品测试和供应链谈判上。它不承诺让你一夜爆单,但能确保你做的每一个选品决策,都有数据支撑、可追溯、可复盘。真正的选品高手,不是猜得准,而是错得起——因为你清楚知道,每个判断背后的依据是什么,哪里可能出错,以及出错时怎么快速修正。