淘宝桌面版MCP评测框架 v1.7.7
概述
本skill提供一套系统化的评测框架,用于测试淘宝桌面版MCP工具的各项功能,并生成专业的技术评测报告。
v1.7.7 更新内容:
- 清理历史遗留的小红书相关提示(任务6已改为图片OCR流程,不再涉及小红书)
v1.7.6 更新内容:
- 新增任务9:收藏夹商家上新检查
- 调整任务权重分配
v1.7.5 更新内容:
- 任务6重构:图片OCR识别+价格对比+最便宜商品加购
v1.7.3 更新内容:
- 更新钉钉文档链接格式
v1.7.2 更新内容:
- 新增任务8:退货退款申请(包含定时任务跟踪)
- 支持自动检查退货状态并通知用户
v1.7.1 更新内容:
- 钉钉文档更新必须使用钉钉文档MCP(
mcporter call 钉钉文档) - 强调每次评测必须填写完整的评测报告并追加到钉钉文档
⚠️ 执行原则(必须遵守)
原子性执行
评测任务一旦开始,必须完整执行完成,不可中断。
| 原则 | 说明 | |------|------| | 不可中断 | 开始评测后,必须完成所有8个任务 + 生成报告 | | 完整流程 | 初始化 → 任务1-8 → 截图收集 → 报告生成 → 清理 | | 状态跟踪 | 每个任务完成后记录 checkpoint,便于恢复 | | 详细记录 | 每个工具调用必须记录完整参数和返回结果 |
📝 详细记录规范(v1.6.0 新增)
工具调用日志格式
每次工具调用后,必须将完整信息保存到日志文件:
文件位置:~/.copaw/tasks/benchmark_{id}/calls/
命名规则:{task_id}_{step}_{tool_name}.json
日志格式:
{
"call_id": "T1_S1_navigate",
"task_id": 1,
"step": 1,
"tool": "navigate",
"params": {
"page": "home"
},
"result": {
"success": true,
"page": "home",
"url": "https://pages-fast.m.taobao.com/..."
},
"start_time": "2026-03-20 12:30:00.123",
"end_time": "2026-03-20 12:30:02.456",
"duration_ms": 2333,
"success": true,
"screenshot": "T1_S1_homepage.png",
"error": null
}
截图关联规则
| 截图命名 | 关联调用 | 说明 |
|----------|----------|------|
| T{task_id}_S{step}_{desc}.png | 对应的调用日志 | 操作后截图 |
| T{task_id}_issue_{n}.png | 问题截图 | 发现问题时截图 |
任务完成记录格式
每个任务完成后,生成任务详情文件:
文件位置:~/.copaw/tasks/benchmark_{id}/tasks/task_{id}.json
{
"task_id": 1,
"task_name": "淘金币签到",
"weight": 0.15,
"start_time": "2026-03-20 12:30:00",
"end_time": "2026-03-20 12:32:30",
"duration_seconds": 150,
"call_count": 5,
"score": 9.0,
"status": "completed",
"calls": [
{
"step": 1,
"tool": "navigate",
"params": {"page": "home"},
"result_summary": "成功导航到首页",
"duration_ms": 2333
}
],
"screenshots": ["T1_S1_homepage.png", "T1_S2_coin_popup.png"],
"data": {
"coins": 10003,
"can_deduct": 100
},
"issues": [],
"notes": "成功完成淘金币签到流程"
}
评测任务清单
任务1:淘金币签到(权重 13%)
测试目标:验证导航、元素识别、点击操作的稳定性
测试步骤:
navigate→ 首页scan_page_elements→ 识别淘金币入口click_element→ 进入淘金币页面read_page_content→ 读取金币数量- 完成签到任务
- 验证金币增加
评分标准: | 指标 | 分值 | |------|------| | 导航成功 | 2分 | | 元素识别准确 | 2分 | | 点击操作成功 | 2分 | | 金币增加验证 | 2分 | | 流程顺畅度 | 2分 |
任务2:商品搜索+对比+加购(权重 17%)
测试目标:验证搜索、详情查看、SKU选择、加购流程
测试步骤:
search_products→ 搜索关键词read_page_content→ 读取搜索结果- 筛选商品进行对比
add_to_cart→ 加入购物车
评分标准: | 指标 | 分值 | |------|------| | 搜索返回结果 | 2分 | | 商品详情页导航 | 2分 | | 信息提取完整 | 2分 | | SKU选择准确 | 2分 | | 加购成功 | 2分 |
任务3:订单管理(权重 17%)
测试目标:验证订单页面导航、状态筛选功能
测试步骤:
navigate→ 订单页面scan_page_elements→ 识别筛选标签- 测试筛选功能
read_page_content→ 读取订单列表
评分标准: | 指标 | 分值 | |------|------| | 订单页面导航 | 2分 | | 筛选标签识别 | 2分 | | 筛选功能正常 | 2分 | | 订单信息读取 | 2分 | | 页面切换流畅 | 2分 |
任务4:获取购物车以及降价信息(权重 17%)
测试目标:验证购物车导航、商品列表读取、降价信息提取
测试步骤:
navigate→ 购物车页面read_page_content→ 读取商品列表- 统计购物车商品
- 识别降价商品
评分标准: | 指标 | 分值 | |------|------| | 购物车导航成功 | 2分 | | 商品列表读取完整 | 2分 | | 降价标签点击成功 | 2分 | | 降价信息提取准确 | 2分 | | 数据记录完整 | 2分 |
任务5:客服咨询对话(权重 13%)
测试目标:验证客服咨询功能
测试步骤:
search_products→ 搜索商品open_chat→ 进入客服对话- 发送咨询消息
- 等待回复
评分标准: | 指标 | 分值 | |------|------| | 商品搜索成功 | 2分 | | 进入客服对话 | 2分 | | 消息发送成功 | 2分 | | 客服回复接收 | 2分 | | 对话记录完整 | 2分 |
任务6:图片OCR识别与淘宝加购(权重 5%)
测试目标:验证图片OCR识别、商品搜索、价格对比、加购流程
测试图片:https://img.alicdn.com/imgextra/i2/385132127/O1CN01vV3hBP1RaDYS7eteZ_!!4611686018427381343-2-item_pic.png_.webp
测试步骤:
阶段1:OCR识别商品图片
- 下载图片:将测试图片下载到本地临时目录
- OCR识别:使用OCR工具识别图片中的商品信息
- 提取商品名称/关键词
- 提取SKU规格(如有)
- 记录识别结果
阶段2:淘宝搜索商品
search_products→ 使用OCR提取的关键词搜索read_page_content→ 读取搜索结果列表- 记录商品列表(标题、价格、店铺、链接)
阶段3:价格对比与选品
- 解析搜索结果中的价格信息
- 按价格排序,找到最便宜的商品
- 记录最低价商品信息:
- 商品ID
- 商品标题
- 价格
- 店铺名称
阶段4:加购最便宜商品
add_to_cart→ 将最便宜的商品加入购物车- 如果有SKU选择,根据OCR识别的规格选择
- 验证加购成功
数据记录格式:
{
"ocr_result": {
"keywords": "识别的商品关键词",
"sku_info": "识别的SKU规格",
"confidence": 0.95
},
"search_results": [
{
"title": "商品标题",
"price": 99.00,
"shop": "店铺名",
"item_id": "xxx"
}
],
"cheapest": {
"title": "最便宜商品标题",
"price": 88.00,
"shop": "店铺名",
"item_id": "xxx"
},
"add_to_cart_result": {
"success": true,
"message": "加购成功"
}
}
评分标准: | 指标 | 分值 | |------|------| | 图片OCR识别成功 | 2分 | | 关键词提取准确 | 1分 | | 搜索返回结果 | 1分 | | 价格对比正确 | 2分 | | 加购最便宜商品成功 | 2分 | | 数据记录完整 | 1分 | | 流程顺畅度 | 1分 |
任务7:购物车价格监控设置(权重 5%)
测试目标:验证价格监控功能
测试步骤:
navigate→ 购物车read_page_content→ 读取降价信息- 记录价格监控数据
评分标准: | 指标 | 分值 | |------|------| | 购物车导航成功 | 2分 | | 降价信息显示 | 2分 | | 价格保护服务 | 2分 | | 监控入口识别 | 2分 | | 数据完整性 | 2分 |
任务8:退货退款申请(权重 10%)
测试目标:验证售后流程完整性,包括订单查找、申请提交、状态跟踪
⚠️ 重要说明:
- 此任务会真实提交退货退款申请,请在测试环境或确认后执行
- 需要配合定时任务跟踪退货状态
测试步骤:
阶段1:查找已成交订单
navigate→{"page": "order"}scan_page_elements→ 识别订单状态筛选标签click_element→ 点击"已完成"或"已成交"筛选read_page_content→ 读取订单列表- 找到最新已成交订单,记录订单号
阶段2:提交退货退款申请
click_element→ 点击订单的"申请售后"按钮scan_page_elements→ 识别售后类型选项click_element→ 选择"退货退款"click_element→ 选择退货原因(如"不想要了"、"商品描述不符"等)type→ 填写退货说明(可选)click_element→ 提交申请read_page_content→ 读取申请结果
阶段3:处理申请结果
情况A:需要等待商家确认
1. 记录退货申请单号
2. 告知用户:
"✅ 退货退款申请已提交,等待商家确认。
我已设置定时任务,每小时自动检查退货进度。"
3. 创建定时任务检查退货状态
情况B:直接通过申请(极速退款)
1. `read_page_content` → 读取取件码
2. 发送取件码给用户:
"✅ 退货申请已通过!
📦 取件码:XXXXXX
请联系快递员上门取件或前往快递点寄件。"
阶段4:定时任务跟踪(可选)
创建定时检查任务:
# 使用 copaw cron 创建定时任务
copaw cron add --name "检查退货申请状态" --schedule "0 * * * *" --command "检查退货申请 {申请单号}"
定时任务逻辑:
# 每小时执行一次
1. navigate → 订单页面
2. 找到退货申请订单
3. 读取当前状态
4. 如果状态变化:
- 商家同意 → 发送取件码给用户
- 商家拒绝 → 通知用户并说明原因
- 退货完成 → 通知用户退款已到账
退货状态枚举:
| 状态 | 说明 | 通知内容 |
|------|------|----------|
| pending | 等待商家确认 | 已提交,定时检查中 |
| approved | 商家同意 | 取件码:XXX |
| rejected | 商家拒绝 | 拒绝原因:XXX |
| pickup_scheduled | 待取件 | 快递员将上门取件 |
| in_transit | 运输中 | 退货运输中 |
| refunded | 退款完成 | 退款已到账 |
评分标准: | 指标 | 分值 | |------|------| | 订单查找成功 | 2分 | | 售后入口识别 | 2分 | | 申请流程完成 | 2分 | | 结果通知正确 | 2分 | | 定时任务设置(如需要) | 2分 |
任务9:收藏夹商家上新检查(权重 8%)
测试目标:验证收藏夹导航、商家上新状态检测、新品信息提取和通知功能
测试步骤:
阶段1:进入收藏夹
navigate→{"page": "collect"}进入收藏夹页面scan_page_elements→ 识别页面结构(关注商家/收藏商品标签)click_element→ 切换到"关注商家"或类似标签read_page_content→ 读取关注的商家列表
阶段2:检查商家上新状态
scan_page_elements→ 扫描商家列表,查找"上新"、"新品"等标签- 记录有上新的商家:
- 商家名称
- 上新数量/标签
- 商家链接
阶段3:获取新品详情
对于每个有上新的商家:
click_element→ 进入商家店铺或新品页面read_page_content→ 读取新品列表- 提取新品信息:
- 商品名称
- 价格
- 销量/热度
- 商品链接
- 按重要性筛选新品(可参考销量、价格、是否新品标等)
navigate→ 返回收藏夹,继续检查下一个商家
阶段4:整理并发送通知
- 汇总所有有上新的商家及新品信息
- 按重要性排序(商家上新数量、新品热度等)
- 发送通知给用户,格式如下:
📦 收藏夹商家上新通知
共 X 家商家有上新:
🏪 【商家A】(3件新品)
1. [商品名] - ¥XX.XX
2. [商品名] - ¥XX.XX
3. [商品名] - ¥XX.XX
🏪 【商家B】(1件新品)
1. [商品名] - ¥XX.XX
---
共发现 X 件新品,以上为精选推荐。
阶段5:无上新处理
如果没有商家上新:
📦 收藏夹商家上新检查
当前关注的商家暂无新品上架。
上次检查时间:XXXX-XX-XX XX:XX
数据记录格式:
{
"check_time": "2026-03-22 10:30:00",
"total_shops": 10,
"shops_with_new": 3,
"total_new_items": 8,
"shops": [
{
"name": "店铺名称",
"new_count": 3,
"items": [
{
"title": "商品标题",
"price": 99.00,
"sales": 100,
"link": "商品链接"
}
]
}
]
}
评分标准: | 指标 | 分值 | |------|------| | 收藏夹导航成功 | 1分 | | 商家列表识别准确 | 1分 | | 上新状态检测正确 | 2分 | | 新品信息提取完整 | 2分 | | 筛选排序合理 | 2分 | | 通知格式清晰 | 1分 | | 流程顺畅度 | 1分 |
评测流程
1. 初始化评测任务
# 创建评测任务目录结构
BENCHMARK_ID="benchmark_$(date +%Y%m%d_%H%M%S)"
mkdir -p ~/.copaw/tasks/$BENCHMARK_ID/{screenshots,calls,tasks}
# 创建初始状态文件
cat > ~/.copaw/tasks/$BENCHMARK_ID/status.json << 'EOF'
{
"benchmark_id": "...",
"version": "1.6.0",
"start_time": "...",
"status": "running",
"current_task": 0,
"tasks": [...]
}
EOF
2. 执行评测任务(详细记录)
每个工具调用必须执行以下步骤:
# 1. 记录开始时间
START_TIME=$(date +%s%3N)
# 2. 执行工具调用(结果保存到变量)
# 3. 记录结束时间
END_TIME=$(date +%s%3N)
# 4. 保存完整日志
cat > ~/.copaw/tasks/$BENCHMARK_ID/calls/T{task_id}_S{step}_{tool}.json << 'EOF'
{
"call_id": "T1_S1_navigate",
"start_time": "...",
"end_time": "...",
"duration_ms": ...,
"tool": "navigate",
"params": {...},
"result": {...},
"success": true,
"screenshot": "..."
}
EOF
# 5. 截图
screencapture -x ~/.copaw/tasks/$BENCHMARK_ID/screenshots/T{task_id}_S{step}_{desc}.png
3. 生成评测报告
⚠️ 重要:每次评测必须填写完整的评测报告
报告必须包含:
-
整体小结
- 评测概览
- 总体评分
- 任务完成度
- 工具调用统计
- 问题汇总
-
分任务详情(每个任务必须包含)
- 任务概要表
- 执行流程表(详细记录每个工具调用)
- 工具调用日志(完整的JSON返回结果代码块)
- 过程截图(嵌入文档)
- 数据结果
- 问题分析
-
技术分析
- 工具调用统计
- 性能指标
- 问题清单
-
附录
- 截图清单
- 完整调用日志
4. 追加报告到钉钉文档(必须执行)
评测完成后,必须将完整报告追加到钉钉文档:
# 读取本地报告内容
REPORT=$(cat ~/.copaw/tasks/$BENCHMARK_ID/评测报告.md)
# 追加到钉钉文档
mcporter call 钉钉文档 update_document --args "{
\"nodeId\": \"mweZ92PV6MbD5bE4Fg9wvN6xWxEKBD6p\",
\"markdown\": \"$REPORT\",
\"mode\": \"append\"
}"
检查追加结果:
# 获取文档内容确认追加成功
mcporter call 钉钉文档 get_document_content --args '{
"nodeId": "mweZ92PV6MbD5bE4Fg9wvN6xWxEKBD6p"
}'
5. 完整评测流程总结
1. 初始化评测任务(创建目录、状态文件)
2. 执行任务1-7(每个任务详细记录日志和截图)
3. 生成本地评测报告(完整的Markdown格式)
4. 追加报告到钉钉文档(使用钉钉文档MCP)
5. 确认追加成功
6. 清理临时文件(可选)
📝 钉钉文档迭代记录(v1.7.0 新增)
核心原则
评测完成后,必须将完整评测报告追加到指定的钉钉文档,遵循以下规则:
| 规则 | 说明 | |------|------| | 指定文档 | 固定使用一个文档,永不更换 | | 只追加不覆盖 | 每次只在文档末尾追加新内容 | | 完整报告 | 每次评测必须追加完整的评测报告,不是简化版本 | | 格式固定 | 使用统一模板记录 | | 版本管控 | 按时间顺序排列,便于对比变化 |
钉钉文档配置
本地配置文件:~/.copaw/config/dingtalk_doc.json
{
"mcp_name": "钉钉文档",
"report_doc": {
"name": "产品体验迭代跟踪报告",
"nodeId": "mweZ92PV6MbD5bE4Fg9wvN6xWxEKBD6p",
"url": "https://alidocs.dingtalk.com/i/nodes/mweZ92PV6MbD5bE4Fg9wvN6xWxEKBD6p?utm_scene=person_space",
"mode": "append",
"rules": {
"never_create_new": true,
"never_overwrite": true,
"always_append_to_end": true
}
}
}
使用钉钉文档MCP更新
必须使用 mcporter call 钉钉文档 来更新文档:
# 追加完整评测报告到钉钉文档
mcporter call 钉钉文档 update_document --args '{
"nodeId": "mweZ92PV6MbD5bE4Fg9wvN6xWxEKBD6p",
"markdown": "# 淘宝桌面版MCP工具评测报告\n\n**评测ID**: benchmark_xxx\n\n...(完整报告内容)...",
"mode": "append"
}'
注意:
- 参数名是
markdown,不是content mode必须为"append"- 内容必须是完整的Markdown格式评测报告
报告模板(v1.6.0)
Word报告结构
淘宝桌面版MCP评测报告
│
├── 一、整体小结
│ ├── 1.1 评测概览表
│ ├── 1.2 总体评分
│ ├── 1.3 任务完成度表
│ ├── 1.4 工具调用总览表
│ ├── 1.5 耗时分布表
│ ├── 1.6 问题汇总表
│ └── 1.7 关键结论
│
├── 二、分任务详情
│ └── 2.X 任务X:{任务名称}
│ ├── 2.X.1 任务概要表
│ │ └── 目标、时间、耗时、调用次数、评分、状态
│ ├── 2.X.2 执行流程表
│ │ └── 步骤、操作、工具、参数、结果摘要、耗时、状态
│ ├── 2.X.3 工具调用详情 ⭐ 新增
│ │ ├── 调用1:navigate
│ │ │ ├── 参数:{...}
│ │ │ ├── 返回结果(代码块):
│ │ │ │ ```json
│ │ │ │ {
│ │ │ │ "success": true,
│ │ │ │ "page": "home",
│ │ │ │ "url": "..."
│ │ │ │ }
│ │ │ │ ```
│ │ │ └── 截图:[嵌入图片]
│ │ └── 调用2:...
│ ├── 2.X.4 过程截图
│ │ └── 每个关键步骤的截图
│ ├── 2.X.5 数据结果
│ ├── 2.X.6 问题分析
│ └── 2.X.7 评价与建议
│
├── 三、技术分析
│ ├── 3.1 工具调用统计表
│ ├── 3.2 性能指标表
│ └── 3.3 问题清单
│
└── 四、附录
├── 4.1 截图清单
└── 4.2 完整调用日志路径
评分计算
总分 = Σ(任务评分 × 权重)
任务权重(v1.7.6): | 任务 | 权重 | |------|------| | 1. 淘金币签到 | 12% | | 2. 商品搜索+对比+加购 | 15% | | 3. 订单管理 | 15% | | 4. 获取购物车以及降价信息 | 15% | | 5. 客服咨询对话 | 12% | | 6. 图片OCR识别与淘宝加购 | 5% | | 7. 购物车价格监控设置 | 5% | | 8. 退货退款申请 | 10% | | 9. 收藏夹商家上新检查 | 8% | | 总计 | 97% |
迭代记录
| 版本 | 日期 | 变更内容 | |------|------|----------| | v1.7.6 | 2026-03-22 | 新增任务9:收藏夹商家上新检查,调整任务权重分配 | | v1.7.5 | 2026-03-21 | 任务6重构:小红书链接提取改为图片OCR识别,新增价格对比找最便宜商品 | | v1.7.4 | 2026-03-20 | 确认钉钉文档链接更新 | | v1.7.3 | 2026-03-20 | 更新钉钉文档链接格式 | | v1.7.2 | 2026-03-20 | 新增任务8:退货退款申请,支持定时任务跟踪退货状态 | | v1.7.1 | 2026-03-20 | 小红书使用可见浏览器;钉钉文档更新使用MCP;强调完整报告 | | v1.7.0 | 2026-03-20 | 重大更新:集成钉钉文档迭代记录,评测结果自动追加到指定文档 | | v1.6.0 | 2026-03-20 | 重大更新:详细记录每个工具调用的完整返回结果,报告包含代码块 | | v1.5.0 | 2026-03-20 | 新增任务6、7,调整任务权重 | | v1.4.1 | 2026-03-17 | 报告标题和文件名增加日期 | | v1.4.0 | 2026-03-17 | 任务4改名,任务5要求两轮对话 | | v1.3.0 | 2026-03-17 | 新增原子性执行原则 | | v1.2.0 | 2026-03-17 | 优化报告结构 | | v1.1.0 | 2026-03-17 | 新增任务5 | | v1.0.0 | 2026-03-17 | 初始版本 |
文件结构
~/.copaw/tasks/benchmark_{id}/
├── status.json # 评测状态
├── timing.log # 耗时日志
├── screenshots/ # 截图目录
│ ├── T1_S1_homepage.png
│ ├── T1_S2_coin_popup.png
│ └── ...
├── calls/ # 工具调用日志(v1.6.0新增)
│ ├── T1_S1_navigate.json
│ ├── T1_S2_read_content.json
│ └── ...
├── tasks/ # 任务详情(v1.6.0新增)
│ ├── task_1.json
│ ├── task_2.json
│ └── ...
└── 评测报告.md # Markdown报告
~/.copaw/config/
└── dingtalk_doc.json # 钉钉文档配置(v1.7.0新增)
最后更新:2026-03-22 v1.7.6
微信扫一扫