# 2026-05-06 工作日志

## 刘新玉：飞书反馈优先级判定（步骤5）落地

### 需求背景
- 刘新玉发来「用户反馈问题优先级判断文档」PDF，要求将优先级判定集成到飞书反馈同步流程的第5步
- 前四步骤已完成：数据同步→写入表格→对话链排序→问题归纳
- 刘新玉确认"需要"两个方案（脚本自动判定 + 知识库文档标注），全自动判定无需人工确认

### 完成内容

#### 1. 新增 priority_classifier.py
- 路径：`skills/feishu-feedback-sync/scripts/priority_classifier.py`
- P0-P3 基础优先级判定：基于关键词匹配（崩溃/闪退/数据丢失/无音频等）
- 动态调整：出现概率（必现/高概率/中概率/低概率/偶现）× 影响范围（全部用户/大部分/部分/极少数）
- 最终排序：P0→P1→P2→P3，同级按最早消息时间

#### 2. 集成到 sync_feishu_feedback.py
- `summarize_cluster()` 增加 priority 参数，输出带优先级标签
- `generate_summary()` 调用 `compute_final_priority()` + `sort_by_priority()` 排序
- 新增 `--skip-priority` CLI 参数
- 修复了推断引用算法的孤立簇问题：在 sort_threads Union-Find 后增加合并单条孤立消息到有发送者重叠的大簇的逻辑

#### 3. 更新 SKILL.md 文档
- 增加了步骤5的完整文档说明
- 增加了优先级判定规则速查表

#### 4. 真实数据验证结果
- 2026-04-28 数据：2个问题
  - P0：iOS端Loading超时致数据丢失/无音频（15条）
  - P1：移动端NPC HUD偶尔变成一小条（8条）

### 待确认
- 步骤5的优先级标注目前仅在脚本输出中展示，尚未写入「用户反馈问题汇总」文档（RaL6whoYMijyYHkSlWrc7OLLnBy）
- 刘新玉需确认是否需要增加文档自动写入能力

## 刘新玉：PDF文件处理
- 刘新玉于11:02发送PDF（用户反馈问题优先级判断文档），8页A4
- 已用pdftotext解析并完整阅读
- 内容：P0-P3四级优先级定义、动态调整规则、三大判断问题
- 已基于此文档实现优先级判定规则
# 2026-05-06 工作日志

## 刘新玉：飞书反馈优先级判定（步骤5）落地

### 需求背景
- 刘新玉发来「用户反馈问题优先级判断文档」PDF，要求将优先级判定集成到飞书反馈同步流程的第5步
- 前四步骤已完成：数据同步→写入表格→对话链排序→问题归纳
- 刘新玉确认"需要"两个方案（脚本自动判定 + 知识库文档标注），全自动判定无需人工确认

### 完成内容

#### 1. 新增 priority_classifier.py
- 路径：`skills/feishu-feedback-sync/scripts/priority_classifier.py`
- P0-P3 基础优先级判定：基于关键词匹配（崩溃/闪退/数据丢失/无音频等）
- 动态调整：出现概率（必现/高概率/中概率/低概率/偶现）× 影响范围（全部用户/大部分/部分/极少数）
- 最终排序：P0→P1→P2→P3，同级按最早消息时间

#### 2. 集成到 sync_feishu_feedback.py
- `summarize_cluster()` 增加 priority 参数，输出带优先级标签
- `generate_summary()` 调用 `compute_final_priority()` + `sort_by_priority()` 排序
- 新增 `--skip-priority` CLI 参数
- 修复了推断引用算法的孤立簇问题：在 sort_threads Union-Find 后增加合并单条孤立消息到有发送者重叠的大簇的逻辑

#### 3. 更新 SKILL.md 文档
- 增加了步骤5的完整文档说明
- 增加了优先级判定规则速查表

#### 4. 真实数据验证结果
- 2026-04-28 数据：2个问题
  - P0：iOS端Loading超时致数据丢失/无音频（15条）
  - P1：移动端NPC HUD偶尔变成一小条（8条）

#### 5. 刘新玉要求简化文档格式（~11:46）
- 反馈文档太繁琐，只要在原有格式把"问题 1"改成"P0-问题 1"
- 去掉了优先级分布汇总、额外信息行，只保留标题前缀 + 一行判定依据
- 最终格式：`### P0-问题 1` + `**优先级判定：** 规则...`
- 知识库文档已更新为简洁版

#### 6. 修复推断引用算法 Bug
- 策略2的 else 分支（同发送者无引用时往前找不同发送者）缺少时间限制
- 导致胡陈辰 20:45 的媒体消息被推断引用到徐思清 12:29（跨8小时）
- 修复：加了 `GAP_THRESHOLD_MIN` 检查

#### 7. 文档写入方式改进
- 从 `insert_before` + `replace_range` 改为 `append` 模式
- 每次同步在文档末尾追加当日归纳（含优先级），不去动旧内容
- 函数：`update_summary_doc(markdown_content, day_label)`
- 目标文档：`RaL6whoYMijyYHkSlWrc7OLLnBy`（用户反馈问题汇总）

### 关键文件路径
- 主脚本：`skills/feishu-feedback-sync/scripts/sync_feishu_feedback.py`
- 分类器：`skills/feishu-feedback-sync/scripts/priority_classifier.py`
- 技能文档：`skills/feishu-feedback-sync/SKILL.md`
- 目标知识库文档 token：`RaL6whoYMijyYHkSlWrc7OLLnBy`

### 已知限制
- 文档更新用 `append` 模式，多次同步会产生重复内容（可后续加去重逻辑）
- 优先级分类器仅处理中文文本

## 下午更新（13:13）— 文档格式持续迭代

### 刘新玉今日格式调整汇总（feishu-feedback-sync 步骤4+5输出）

1. **问题描述改为自动规则提取**（不再用 `[AI归纳中]` 占位）
   - 函数：`generate_problem_description()`
   - 格式：`在{端}端{环节}（{课程}），{具体表现}`
   - Loading + 数据丢失关联描述：`Loading 耗时约10秒（正常3秒），导致组件数据丢失、无音频`
   - 频率标签前缀：`【偶现】`/`【频繁】`，通过关键词匹配
   
2. **排查结论简化为状态**（按4.3规则）
   - 规则4：解释性分析 + 日志上传 + 排查中 → `疑似{原因}导致，已上传日志，排查中`
   - 规则5：日志已上传 → `已上传日志，排查中`
   - 默认：`暂无结论排查中`

3. **文档结构新增"今日问题归纳"顶层索引**
   - 按 `**【P0问题】**` / `**【P1问题】**` 分组，每个问题一行索引
   - 后接 `## 今日问题拆解` 含详细内容

4. **今日问题拆解标题格式**
   - `### 【P0】` / `### 【P1】`（不含编号和问题名）
   - 内容行：`**1，问题描述：** {描述}`

5. **Bug修复：多天overwrite互覆盖**
   - 多天循环时第一天用 `overwrite`，后续天用 `append`
   - `update_summary_doc()` 新增 `mode` 参数

### 关键文件
- 主脚本：`skills/feishu-feedback-sync/scripts/sync_feishu_feedback.py`
- 新函数：`generate_problem_description()`
- 修改函数：`summarize_cluster()`、`extract_conclusion()`、`generate_summary()`、`update_summary_doc()`
