---
name: user-feedback-processor
description: |
  用户反馈数据处理层。基于 user-feedback-data-source 技能提供的原始数据，进行分类、优先级评估、统计分析、报告生成和跟进管理。
  
  **当以下情况时使用此 Skill**：
  (1) 需要对反馈进行分类、评估优先级
  (2) 需要生成反馈统计报告（日报/周报/月报）
  (3) 需要汇总多渠道反馈到统一表格
  (4) 需要查询反馈处理进度、跟进状态
  (5) 用户提到"反馈统计"、"反馈报告"、"反馈分类"、"问题优先级"
---

# 用户反馈数据处理

本技能负责对用户反馈进行**分类、分析和跟进管理**。原始数据由 `user-feedback-data-source` 技能提供。

> **使用者：** 产品经理及业务负责人
> **数据来源：** 依赖 `user-feedback-data-source` 技能（技术负责人维护）

## 数据来源

**不要直接操作数据采集逻辑。** 原始数据的来源、存储和采集由 `user-feedback-data-source` 技能定义和维护。

### 可用数据源速查

| 渠道 | 数据库表 | 关键字段 | 更新频率 |
|------|---------|---------|----------|
| 飞书内部测试反馈 | `vala_test.lark_group_message` | sender_name, content, media_url, msg_time, quote_message_id | 每天 8 次 |
| 微信用户反馈 | `vala_test.wechat_group_message` | sender_name, content, media_url, msg_time, refer_msg_svrid | 实时 |
| 主动上报 | 飞书知识库文档（Wiki Token: `ApVZw0fxGiv48ekuRS8cIfUjnRf`） | — | 实时 |

> 完整表结构和查询示例请参考 `user-feedback-data-source` 技能。

## 反馈处理流程

### 1. 分类

将原始反馈按以下维度分类：

| 维度 | 分类选项 |
|------|---------|
| 问题所属模块 | 启动/运行、版本/更新、声音/音频、语音识别/判分、关卡/内容、UI显示、其他 |
| 问题所属类型 | Bug、体验问题、功能建议、内容问题、兼容性问题、其他 |
| 反馈渠道 | 飞书群、微信群、主动上报 |

### 2. 优先级评估

> **详细判定规则：** 参照《用户反馈问题优先级判断文档》（刘新玉提供，`priority_classifier.py` 已实现）

**判定三维度：**
1. **基础优先级** — 按问题严重度（崩溃/功能异常/体验瑕疵/细节优化）
2. **出现概率** — 必现升级，偶现降级
3. **影响范围** — 全部用户升级，极少数用户降级

| 优先级 | 定义 | 修复时限 | 典型场景 |
|--------|------|----------|---------|
| 🔴 P0 | 孩子上不了课 / 核心功能崩溃 | 2小时处理，当天解决 | App闪退、进不去、数据丢失、服务器宕机 |
| 🟠 P1 | 功能不对劲 / 学习效果打折扣 | 3天内修复 | 音频异常、判分错误、进度保存失败、奖励未发放 |
| 🟡 P2 | 偶尔小毛病 / 界面瑕疵 | 当周修复 | UI显示异常、偶尔不显示、刷新恢复 |
| 🟢 P3 | 几乎不影响使用 / 细节优化 | 不单独排期 | 分辨率略低、错别字、音量不统一 |

**动态调整：** 必现问题 +1级，偶现问题 -1级（最多降一级）；影响全部用户 +1级。

**实现：** 优先级由 `feishu-feedback-sync` 技能步骤5自动判定，参见 `scripts/priority_classifier.py`。

### 3. 汇总到标准表格

将多渠道反馈统一汇总到标准格式：

| 序号 | 评估后优先级 | 问题所属模块 | 问题所属类型 | 反馈时间 | 反馈渠道 | 提交人 | 用户电话 | 用户角色ID | 文字描述 | 提交图片 | 提交视频 | 备注 | 当前解决进度 | 问题跟进人 |
|------|-------------|-------------|-------------|---------|---------|--------|---------|-----------|---------|---------|---------|------|------------|-----------|
| | P0-P3 | | | | 飞书群/微信群/主动上报 | | | | | | | | 待确认/处理中/已解决 | |

#### 飞书渠道字段映射

| 飞书原始字段 | 标准表格字段 | 映射规则 |
|-------------|-------------|---------|
| msg_time | 反馈时间 | 直接填写，Asia/Shanghai 时区 |
| sender_name | 提交人 | 直接填写 |
| msg_type | — | 判断写入哪一列：text→文字描述，image→提交图片，media→提交视频 |
| content / media_url | 文字描述/提交图片/提交视频 | 根据 msg_type 写入对应列 |
| — | 反馈渠道 | 固定填写「飞书群」 |
| — | 当前解决进度 | 默认「待确认」 |

#### 微信渠道字段映射

| 微信原始字段 | 标准表格字段 | 映射规则 |
|-------------|-------------|---------|
| msg_time | 反馈时间 | 直接填写 |
| sender_name | 提交人 | 直接填写 |
| msg_type | — | 同飞书逻辑 |
| content / media_url | 文字描述/提交图片/提交视频 | 根据 msg_type 写入对应列 |
| — | 反馈渠道 | 固定填写「微信群」 |
| — | 当前解决进度 | 默认「待确认」 |

## 统计分析

### 支持的统计维度

| 统计类型 | 说明 |
|---------|------|
| 按时间 | 日/周/月反馈数量趋势 |
| 按渠道 | 飞书 vs 微信 vs 主动上报 的反馈量对比 |
| 按优先级 | P0-P3 各级别的数量分布 |
| 按模块 | 各模块的反馈量排名 |
| TOP 问题 | 被回复最多的消息（热门问题） |
| 处理进度 | 待确认/处理中/已解决 的比例 |

### 跨渠道统计查询示例

```sql
-- 最近 7 天各渠道反馈量
SELECT '飞书' AS channel, COUNT(*) AS count FROM lark_group_message 
WHERE msg_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
UNION ALL
SELECT '微信', COUNT(*) FROM wechat_group_message 
WHERE msg_time >= DATE_SUB(NOW(), INTERVAL 7 DAY);

-- 飞书热门问题（被回复最多）
SELECT m.message_id, m.sender_name, m.content, COUNT(r.id) AS reply_count
FROM lark_group_message m
JOIN lark_group_message r ON r.quote_message_id = m.message_id
WHERE m.msg_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
GROUP BY m.message_id ORDER BY reply_count DESC LIMIT 10;
```

## 报告生成

### 每日反馈推送

- **时间：** 每日上午 9:30
- **推送对象：** 业务负责人刘新玉
- **内容：** 前一天所有渠道新增反馈汇总

### 周报/月报

按需生成，包含：
- 反馈总量及趋势
- 按优先级/模块/渠道分布
- TOP 问题列表
- 处理进度统计
- 同步到飞书知识库文档

## 目标存储位置

### 全量反馈汇总知识库文档
- **文档标题：** 用户反馈问题汇总
- **Wiki Token：** `ApVZw0fxGiv48ekuRS8cIfUjnRf`
- **知识空间 ID：** `7612229802338045122`

### 全量反馈汇总多维表格（待上线）
将三个数据源的反馈统一汇总到飞书多维表格，支持分类、筛选、统计和跟进。

## 注意事项

- **只消费数据，不修改采集逻辑** — 数据采集的任何问题请联系技术负责人
- 数据库查询默认只读
- 所有飞书操作使用 Bot 身份，不触发用户授权
- 分类和优先级判定可能需要人工确认，自动判定结果仅供参考
