taobao-mcp-benchmark

ClawSkills 作者 zironglv v1.4.1

淘宝桌面版MCP工具评测框架。用于系统化测试MCP工具的各项功能,生成专业的技术评测报告。Use when 需要对淘宝MCP工具进行评测、测试、验收、迭代验证。

源码 ↗

安装 / 下载方式

TotalClaw CLI推荐
totalclaw install clawskills:zironglv~taobao-mcp-benchmark
cURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/clawskills%3Azironglv~taobao-mcp-benchmark/file -o taobao-mcp-benchmark.md
Git 仓库获取源码
git clone https://github.com/openclaw/skills/commit/da775e0fee979347b4b0d1d1e758c978fb84d080
# 淘宝桌面版MCP评测框架

## 概述

本skill提供一套系统化的评测框架,用于测试淘宝桌面版MCP工具的各项功能,并生成专业的技术评测报告。

## ⚠️ 执行原则(必须遵守)

### 原子性执行

**评测任务一旦开始,必须完整执行完成,不可中断。**

| 原则 | 说明 |
|------|------|
| **不可中断** | 开始评测后,必须完成所有5个任务 + 生成报告 |
| **完整流程** | 初始化 → 任务1-5 → 截图收集 → 报告生成 → 清理 |
| **状态跟踪** | 每个任务完成后记录 checkpoint,便于恢复 |
| **用户提醒** | 如用户试图中断,提醒"评测任务未完成,是否继续?" |

### 任务状态管理

评测开始时创建状态文件 `~/.copaw/tasks/benchmark_YYYYMMDD_HHMMSS/status.json`:

```json
{
  "benchmark_id": "20260317_145034",
  "version": "1.2.0",
  "start_time": "2026-03-17 14:50:00",
  "status": "running",
  "current_task": 1,
  "tasks": [
    {"id": 1, "name": "淘金币签到", "status": "pending", "score": null},
    {"id": 2, "name": "商品搜索+对比+加购", "status": "pending", "score": null},
    {"id": 3, "name": "订单管理", "status": "pending", "score": null},
    {"id": 4, "name": "获取购物车以及降价信息", "status": "pending", "score": null},
    {"id": 5, "name": "客服咨询对话", "status": "pending", "score": null}
  ],
  "screenshots": [],
  "report_generated": false
}
```

每个任务完成后立即更新状态:

```bash
# 任务完成后更新
echo '{"id": 1, "status": "completed", "score": 9, "end_time": "..."}' >> status.json
```

### 中断恢复机制

如果会话中断,下次用户询问评测时:

1. **检查 status.json 是否存在**
2. **如果存在未完成任务**:
   - 提示用户:"发现未完成的评测任务(任务X/Y),是否继续?"
   - 用户确认后,从 `current_task` 继续执行
3. **如果已完成但未生成报告**:
   - 直接生成报告

### 执行流程图

```
开始评测
    │
    ▼
创建任务目录 + status.json
    │
    ▼
┌─────────────────────────────┐
│  任务1:淘金币签到           │◄─── 记录截图、耗时、结果
│  任务2:商品搜索+对比+加购   │◄─── 记录截图、耗时、结果
│  任务3:订单管理            │◄─── 记录截图、耗时、结果
│  任务4:获取购物车以及降价信息 │◄─── 记录截图、耗时、结果
│  任务5:客服咨询对话        │◄─── 记录截图、耗时、结果
└─────────────────────────────┘
    │
    ▼
收集所有截图
    │
    ▼
生成 Word 报告(含截图)
    │
    ▼
更新 status.json → completed
    │
    ▼
输出评测结果摘要
```

### 禁止操作

| 禁止行为 | 原因 |
|----------|------|
| ❌ 任务中途停止 | 导致评测数据不完整 |
| ❌ 跳过任务 | 影响总分计算 |
| ❌ 跳过截图 | 报告缺失关键证据 |
| ❌ 不生成报告 | 用户无法查看结果 |

### 用户中断处理

如果用户在评测过程中说"停"、"不做了"等:

```
AI:⚠️ 评测任务尚未完成(已完成 X/5 个任务)。
    中断将导致评测数据不完整,无法生成完整报告。
    是否继续完成评测?(建议选择"继续")
    
    - 继续:继续执行剩余任务
    - 中断:停止评测,生成不完整报告(不推荐)
```

## 适用场景

- MCP工具版本更新后的回归测试
- 新功能发布前的验收测试
- 定期质量检查和稳定性监控
- 问题复现和性能基准测试

## 评测任务清单

### 任务1:淘金币签到(权重 25%)

**测试目标**:验证导航、元素识别、点击操作的稳定性

**测试步骤**:
1. `navigate` → 首页
2. `scan_page_elements` → 识别淘金币入口
3. `click_element` → 进入淘金币页面
4. `read_page_content` → 读取金币数量
5. 完成签到任务(逛商品等)
6. 验证金币增加

**评分标准**:
| 指标 | 分值 |
|------|------|
| 导航成功 | 2分 |
| 元素识别准确 | 2分 |
| 点击操作成功 | 2分 |
| 金币增加验证 | 2分 |
| 流程顺畅度 | 2分 |

---

### 任务2:商品搜索+对比+加购(权重 30%)

**测试目标**:验证搜索、详情查看、SKU选择、加购流程

**测试步骤**:
1. `search_products` → 搜索关键词(如"保温杯")
2. `read_page_content` → 读取搜索结果
3. 筛选前3个商品进行对比
4. `click_element` → 进入商品详情页
5. `read_page_content` → 读取商品信息
6. `add_to_cart` → 加入购物车(带SKU参数)

**评分标准**:
| 指标 | 分值 |
|------|------|
| 搜索返回结果 | 2分 |
| 商品详情页导航 | 2分 |
| 信息提取完整 | 2分 |
| SKU选择准确 | 2分 |
| 加购成功 | 2分 |

---

### 任务3:订单管理(权重 20%)

**测试目标**:验证订单页面导航、状态筛选功能

**测试步骤**:
1. `navigate` → 订单页面
2. `scan_page_elements` → 识别筛选标签
3. 依次测试:待付款、待发货、待收货、待评价
4. `read_page_content` → 读取订单列表
5. 验证筛选功能正常

**评分标准**:
| 指标 | 分值 |
|------|------|
| 订单页面导航 | 2分 |
| 筛选标签识别 | 2分 |
| 筛选功能正常 | 2分 |
| 订单信息读取 | 2分 |
| 页面切换流畅 | 2分 |

---

### 任务4:获取购物车以及降价信息(权重 20%)

**测试目标**:验证购物车导航、商品列表读取、降价信息提取

**测试步骤**:
1. `navigate` → 购物车页面
2. `read_page_content` → 读取商品列表
3. 统计购物车商品总数
4. 点击"降价"标签筛选降价商品
5. `read_page_content` → 读取降价商品详情
6. 记录降价商品数量和降价金额

**评分标准**:
| 指标 | 分值 |
|------|------|
| 购物车导航成功 | 2分 |
| 商品列表读取完整 | 2分 |
| 降价标签点击成功 | 2分 |
| 降价信息提取准确 | 2分 |
| 数据记录完整 | 2分 |

**输出数据**:
- 购物车商品总数
- 降价商品数量
- 每个降价商品的:商品名、原价、券后价、降价金额

---

### 任务5:客服咨询对话(权重 15%)

**测试目标**:验证搜索商品、发起客服咨询、多轮对话功能

**测试步骤**:
1. 随机选择一个商品主题(如:鼠标、键盘、台灯等)
2. `search_products` → 搜索商品
3. `open_chat_from_search` → 进入商家客服对话
4. 发起第一轮咨询:"你好,请问这个商品今天下单,3天后能到杭州吗?"
5. 等待客服回复(最多60秒)
6. **`send_chat_message` → 发起第二轮追问:"好的,那发什么快递呢?可以发顺丰吗?"**
7. **等待客服回复(最多60秒)**
8. 记录两轮对话内容

**评分标准**:
| 指标 | 分值 |
|------|------|
| 商品搜索成功 | 1分 |
| 进入客服对话 | 1分 |
| 第一轮对话发送成功 | 1.5分 |
| 客服第一次回复接收 | 1.5分 |
| 第二轮追问发送成功 | 2分 |
| 客服第二次回复接收 | 2分 |
| 对话记录完整 | 1分 |

**工具调用**:
```bash
# 搜索商品
search_products keyword="鼠标"

# 通过搜索进入客服对话
open_chat_from_search query="鼠标" message="你好,请问这个商品今天下单,3天后能到杭州吗?"

# 发送第二轮追问(等待客服回复后)
send_chat_message message="好的,那发什么快递呢?可以发顺丰吗?"
```

**注意事项**:
- 优先选择官方旗舰店或高销量店铺
- 如果客服回复较慢,等待时间不超过60秒
- **必须完成两轮对话才算任务完成**
- 记录两轮客服回复内容用于验证
- 如果客服长时间未回复,可主动发送追问(不算失败)

---

## 评测流程

### 1. 初始化评测任务

```bash
# 创建评测任务目录
mkdir -p ~/.copaw/tasks/benchmark_$(date +%Y%m%d_%H%M%S)/screenshots

# 记录评测开始时间
echo "评测开始时间: $(date '+%Y-%m-%d %H:%M:%S')" > ~/.copaw/tasks/benchmark_*/timing.log
```

### 2. 执行评测任务

**必须严格遵守以下规范:**

#### 截图规范(每个任务必须)

| 截图时机 | 文件命名 | 说明 |
|----------|----------|------|
| 任务开始 | `XX_task_start.png` | 任务开始时的页面状态 |
| 关键操作前 | `XX_step_N_操作名_before.png` | 操作前的页面状态 |
| 关键操作后 | `XX_step_N_操作名_after.png` | 操作后的页面状态 |
| 任务完成 | `XX_task_end.png` | 任务完成时的页面状态 |
| 异常/问题 | `XX_issue_N.png` | 发现问题时的截图 |

**截图命令:**
```bash
screencapture -x ~/.copaw/tasks/benchmark_*/screenshots/01_task_start.png
```

#### 耗时统计(每个操作必须)

```bash
# 操作开始
START_TIME=$(date +%s)

# 执行操作(如 navigate、click 等)

# 操作结束,计算耗时
END_TIME=$(date +%s)
echo "navigate_home: $((END_TIME - START_TIME))秒" >> timing.log
```

#### 工具调用记录

每次工具调用必须记录:
- 工具名称
- 调用参数
- 返回结果摘要
- 是否成功
- 耗时

```bash
echo "$(date '+%H:%M:%S') | navigate | page=home | success | 2.3s" >> calls.log
```

### 3. 生成评测报告

**报告命名规范(必须遵守)**:

| 项目 | 格式 | 示例 |
|------|------|------|
| 报告标题 | 淘宝桌面版MCP评测报告 {YYYY-MM-DD} | 淘宝桌面版MCP评测报告 2026-03-17 |
| Word文件名 | 淘宝桌面版MCP评测报告 {YYYY-MM-DD}.docx | 淘宝桌面版MCP评测报告 2026-03-17.docx |
| Markdown文件名 | report_{YYYY-MM-DD}.md | report_2026-03-17.md |

**Word 报告必须包含以下内容:**

#### 第一部分:整体小结(必须)

- 评测概览表格(版本、时间、环境)
- 总体评分和等级
- 任务完成度统计表
- 工具调用总览表
- 耗时分布图/表
- 发现问题汇总表
- 关键结论

#### 第二部分:分任务详情(每个任务必须包含)

每个任务需包含:

1. **任务概要**
   - 任务名称和目标
   - 开始/结束时间
   - 耗时统计
   - 评分和完成状态

2. **执行流程表**
   - 步骤编号
   - 操作描述
   - 工具名称
   - 调用参数
   - 返回结果
   - 是否成功
   - 耗时

3. **过程截图**
   - 每个关键步骤的截图(嵌入文档)
   - 截图说明文字

4. **数据结果**
   - 具体的数据(如金币数、商品数等)
   - 对比表格

5. **问题分析**
   - 发现的问题列表
   - 问题截图和标注
   - 影响评估
   - 建议解决方案

6. **评价与建议**
   - 优点总结
   - 可优化点

#### 第三部分:技术分析

- 工具调用统计表(工具名、调用次数、成功率、平均耗时)
- 性能指标表
- 问题清单(编号、描述、影响范围、优先级、状态)

#### 第四部分:附录

- 完整截图清单
- 工具调用日志
- 相关文件路径

### 4. 更新评测记录

将评测结果追加到 `benchmark_history.md`

---

## 工具调用规范

### 导航操作

```bash
# 优先使用专用导航
mcporter call taobao-native.navigate --args '{"target":"home"}' --output json
mcporter call taobao-native.navigate --args '{"target":"cart"}' --output json
mcporter call taobao-native.navigate --args '{"target":"order"}' --output json
```

### 元素扫描

```bash
# 使用filter参数缩小范围
mcporter call taobao-native.scan_page_elements --args '{"filter":"淘金币"}' --output json
mcporter call taobao-native.scan_page_elements --args '{"filter":"保温杯"}' --output json
```

### 内容读取

```bash
# 使用scope参数限定范围
mcporter call taobao-native.read_page_content --args '{"maxLength":3000}' --output json
```

### 截图保存

```bash
# 使用screencapture命令
screencapture -x ~/.copaw/tasks/benchmark_*/screenshots/01_step_name.png
```

---

## 评分计算

```
总分 = 任务1得分 × 0.20 + 任务2得分 × 0.30 + 任务3得分 × 0.15 + 任务4得分 × 0.20 + 任务5得分 × 0.15
```

**任务权重**:
| 任务 | 权重 |
|------|------|
| 1. 淘金币签到 | 20% |
| 2. 商品搜索+对比+加购 | 30% |
| 3. 订单管理 | 15% |
| 4. 获取购物车以及降价信息 | 20% |
| 5. 客服咨询对话 | 15% |

**评分等级**:
- 9-10分:优秀 ⭐⭐⭐⭐⭐
- 7-8分:良好 ⭐⭐⭐⭐
- 5-6分:及格 ⭐⭐⭐
- 3-4分:需改进 ⭐⭐
- 0-2分:不合格 ⭐

---

## 常见问题与解决方案

### 问题1:搜索结果页停留在首页

**现象**:`search_products` 返回结果,但页面仍在首页

**解决方案**:
1. 检查当前页面URL
2. 使用 `scan_page_elements` 确认搜索结果
3. 必要时重新导航

### 问题2:元素点击失败

**现象**:`click_element` 返回失败

**解决方案**:
1. 检查元素是否可见
2. 尝试滚动页面后再点击
3. 使用text参数模糊匹配

### 问题3:SKU选择失败

**现象**:`add_to_cart` 提示SKU参数错误

**解决方案**:
1. 先进入商品详情页
2. 使用 `scan_page_elements` 获取可用SKU选项
3. 按文本匹配选择

---

## 评测报告结构

Word 报告采用**总分结构**,面向技术团队,聚焦评测过程和问题分析。

### 报告大纲

```
淘宝桌面版MCP评测报告 {YYYY-MM-DD}
│
├── 一、整体小结 ⭐ 必须首先呈现
│   ├── 1.1 评测概览
│   │   └── 表格:评测日期、版本、环境、总耗时
│   ├── 1.2 总体评分
│   │   └── 大字号评分 + 等级 + 雷达图(可选)
│   ├── 1.3 任务完成度
│   │   └── 表格:任务名、权重、评分、状态、完成率
│   ├── 1.4 工具调用总览
│   │   └── 表格:工具名、调用次数、成功率、平均耗时
│   ├── 1.5 耗时分布
│