132 lines
6.5 KiB
Markdown
132 lines
6.5 KiB
Markdown
# 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()`
|