# EventAnalyzer 验证指南
## 🎯 快速验证清单
### ✅ 1. 服务器部署验证
```bash
# SSH 登录服务器
ssh root@junfeng530.xyz
# 检查容器状态
cd /opt/mcp-services/ai-mcp-study/mcp-list
docker-compose ps
# 应该看到:
# NAME STATUS
# mcp-eventanalyzer Up XX seconds
# 查看日志
docker-compose logs --tail=50 eventanalyzer
```
**成功标志**:
- ✅ 容器状态为 `Up`
- ✅ 日志中无报错
- ✅ 日志显示 MCP 服务启动
---
### ✅ 2. Chrome 扩展安装
1. **打开 Chrome 扩展页面**
```
chrome://extensions/
```
2. **启用开发者模式**
- 点击右上角的"开发者模式"开关
3. **加载扩展**
- 点击"加载已解压的扩展程序"
- 选择目录:
```
/Users/mac/Desktop/studyProject/ai-mcp-study/mcp-list/packages/EventAnalyzer/chrome-extension
```
4. **验证安装**
- 扩展列表中出现 "Event Tracker"
- 工具栏显示绿色图标(条形图)
---
### ✅ 3. 捕获埋点数据测试
1. **访问测试网站**
- 打开包含埋点的网页(如:`https://3d.dev.3d66.com`)
2. **打开扩展**
- 点击工具栏的 Event Tracker 图标
3. **查看捕获列表**
- 应该看到捕获到的埋点事件列表
- 每个事件显示:事件名、时间戳
4. **测试复制功能**
- 点击"查看"按钮查看详情
- 测试"复制事件名"、"复制 JSON"、"复制 Base64"
- 测试"复制 MCP 命令"
**成功标志**:
- ✅ 能捕获到网络请求
- ✅ 能解码 Base64 数据
- ✅ 能正确显示 JSON 内容
---
### ✅ 4. 本地 MCP 配置验证
#### 步骤 1:安装 Python 依赖
```bash
cd /Users/mac/Desktop/studyProject/ai-mcp-study/mcp-list/packages/EventAnalyzer
pip install -r requirements.txt
```
**验证**:
```bash
python -c "import mcp; print('MCP SDK 已安装')"
```
#### 步骤 2:测试 MCP 服务器
```bash
# 直接运行服务器(会等待 stdio 输入)
python server.py
```
按 `Ctrl+C` 退出。如果没有报错,说明服务器可以正常启动。
#### 步骤 3:配置 Cursor/Claude Code
**Cursor 配置**:
```bash
# 编辑配置文件
code ~/.config/Cursor/User/mcp.json
```
**Claude Code 配置**:
```bash
# 编辑配置文件
code ~/.claude/mcp.json
```
**添加配置**:
```json
{
"mcpServers": {
"EventAnalyzer": {
"command": "python",
"args": [
"/Users/mac/Desktop/studyProject/ai-mcp-study/mcp-list/packages/EventAnalyzer/server.py"
]
}
}
}
```
#### 步骤 4:重启 IDE 并测试
1. 重启 Cursor/Claude Code
2. 打开聊天窗口
3. 输入测试命令:
```
查询 LlwResExposure 事件的字段定义
```
**期望结果**:
- Claude 调用 `query_event_fields` 工具
- 返回约 78 个字段的详细信息
- 包含字段类型、说明、枚举值
---
## 🧪 功能测试用例
### 测试 1:查询事件字段
**输入**:
```
查询 LlwResExposure 事件的所有字段定义
```
**期望输出**:
```json
{
"event": "LlwResExposure",
"total_fields": 78,
"fields": {
"platform_type": {
"type": "NUMBER",
"tips": "平台类型",
"desc": "1-PC, 2-H5, 3-小程序",
"trans": "{\"1\":\"PC\",\"2\":\"H5\",\"3\":\"小程序\"}"
},
...
}
}
```
---
### 测试 2:分析埋点数据
**输入**:
```
分析这个埋点数据:
eyJwcm9wZXJ0aWVzIjp7InBsYXRmb3JtX3R5cGUiOjIsInByb2R1Y3RfbmFtZSI6MCwiaXNfbG9naW4iOnRydWV9fQ==
```
**期望输出**:
- 解析后的 JSON 数据
- 字段类型检查结果
- 未知字段警告(如果有)
- 字段覆盖率统计
---
### 测试 3:解释字段含义
**输入**:
```
platform_type 字段是什么意思?
```
**期望输出**:
```
字段名:platform_type
类型:NUMBER
说明:平台类型
枚举值:
1 = PC
2 = H5
3 = 小程序
```
---
### 测试 4:搜索字段实现
**输入**:
```
在项目中搜索 ll_id 字段的实现位置
```
**期望输出**:
- 文件路径列表
- 代码片段(包含上下文)
- 匹配位置
---
### 测试 5:比较事件差异
**输入**:
```
比较 LlwResExposure 和 LlwResDownBtnClick 事件的差异
```
**期望输出**:
```json
{
"event1": "LlwResExposure",
"event2": "LlwResDownBtnClick",
"common_fields": ["platform_type", "product_name", ...],
"event1_only": ["field_a", "field_b"],
"event2_only": ["field_x", "field_y"],
"statistics": {
"common_count": 50,
"event1_only_count": 10,
"event2_only_count": 8
}
}
```
---
## 🔧 故障排查
### 问题 1:Chrome 扩展没有捕获到数据
**可能原因**:
- 网页没有发送埋点请求
- URL 参数中没有 `data` 字段
- 请求不包含 `tpdi` 关键字
**解决方法**:
1. 打开 Chrome DevTools(F12)
2. 切换到 Network 标签
3. 刷新页面,查找包含 `tpdi` 的请求
4. 检查 URL 参数中是否有 `data` 字段
---
### 问题 2:MCP 工具调用失败
**可能原因**:
- Python 依赖未安装
- 路径配置错误
- API 接口不可访问
**解决方法**:
```bash
# 1. 验证依赖
pip list | grep mcp
# 2. 测试 API 接口
curl "https://tptest-3d66.top/trans/api/event?event=LlwResExposure"
# 3. 检查服务器日志
python server.py # 手动运行,查看错误
```
---
### 问题 3:Base64 解码失败
**可能原因**:
- 数据被二次编码
- 数据格式不正确
**解决方法**:
1. 使用 Chrome 扩展自动解码
2. 手动测试解码:
```python
import base64
import urllib.parse
import json
# URL 解码
url_decoded = urllib.parse.unquote("your_base64_string")
# Base64 解码
base64_decoded = base64.b64decode(url_decoded).decode('utf-8')
# JSON 解析
data = json.loads(base64_decoded)
print(json.dumps(data, indent=2, ensure_ascii=False))
```
---
## 📊 性能指标
### 正常运行指标
- **API 响应时间**:< 1 秒
- **Base64 解码**:< 100ms
- **字段查询**:< 500ms(带缓存)
- **代码搜索**:< 2 秒(取决于项目大小)
### 资源占用
- **内存占用**:< 100MB
- **CPU 使用**:空闲时 < 1%
- **Chrome 扩展**:< 10MB
---
## ✅ 验证完成标志
全部功能验证通过后,您应该能够:
- ✅ Chrome 扩展能捕获埋点数据
- ✅ 能正确解码 Base64 数据
- ✅ MCP 工具能成功调用
- ✅ 能查询事件字段定义
- ✅ 能分析埋点数据质量
- ✅ 能解释字段含义
- ✅ 能搜索字段实现
- ✅ 能比较事件差异
---
## 🚀 后续使用
验证成功后,您可以:
1. **日常使用**:用 Chrome 扩展捕获埋点,用 MCP 工具分析
2. **集成到工作流**:在 Cursor/Claude Code 中直接分析埋点问题
3. **团队共享**:分享 Chrome 扩展给团队成员
---
## 📞 需要帮助?
如果遇到问题,请提供:
1. Chrome 扩展的控制台日志(F12 → Console)
2. MCP 服务器的错误信息
3. 具体的测试数据和期望结果