3.2 KiB
3.2 KiB
2026-05-11 工作日志
AI 问题归纳接入脚本流程 [刘新玉]
背景
脚本 generate_problem_description() 是纯规则关键词匹配引擎,当问题类型不在预定义关键词列表中时(如今天 L1 单元名称显示问题),会退化为原文拼贴兜底,描述质量差。
虽然 4 月 30 日已有架构决策「脚本输出元数据,AI 负责归纳描述」,但一直未落地到代码。
实现方案
新增 --ai-placeholders 标志:
generate_problem_description()返回[待AI归纳:#N]编号占位符generate_summary()保存cluster_context_{date}.json到output/daily_feedback/- 占位符编号确保多问题簇时精确匹配
新增 --apply-ai <descriptions.json> 模式:
- 读取 AI 描述 JSON → 重新生成 markdown → 替换占位符 → 覆盖写入知识库文档
- AI 描述 JSON 格式:
{"date": "...", "descriptions": [{"index": 1, "description": "..."}]}
自动化链路:
- 定时任务
--ai-placeholders→ 生成占位符文档 + 上下文 JSON - 心跳检测到上下文 JSON → AI 读取并生成描述 →
--apply-ai回写
修复的 Bug
- markdown 内联传递转义问题:
subprocess.run([..., "--markdown", content])内联传递会导致飞书 rich text 元素(如<lark-table>)被错误转义。改用@file相对路径方式传递。 update_summary_doc_as_children()同样修复为@file方式
清理
- 移除 crontab 中两个无用的每分钟任务:
sync_feishu_feedback_summary.sh和sync_feishu_feedback_dispatch_p0.sh
文件变更
skills/feishu-feedback-sync/scripts/sync_feishu_feedback.py— 核心修改skills/feishu-feedback-sync/SKILL.md— 新增步骤 8 文档HEARTBEAT.md— 新增 AI 归纳心跳任务output/daily_feedback/ai_descriptions_2026-05-11.json— 示例 AI 描述
merge_forward(多条转发)消息处理 [李若松]
需求
飞书群消息同步中,merge_forward(多条转发)类型消息原本无法处理(content 显示"无法提取资源key"),需要完整记录转发内容。
实现方案(方案B+)
- 新增字段
forward_detail(LONGTEXT):存储转发详情,媒体已替换为COS链接 - 新增函数
process_merge_forward_message():解析<forwarded_messages>XML → 下载子消息中的图片/视频/封面 → 上传COS → 生成含URL的完整内容 content字段存储可读摘要:[转发N条] 发送者: 首行文本 | ...
媒体下载验证
- ✅ 转发消息中引用的图片 key(
img_v3_xxx)可通过 merge_forward 的 message_id 正常下载 - ✅ 视频 key(
file_v3_xxx)也可正常下载 - ✅ 视频封面图支持
产出
- DDL:
ALTER TABLE lark_group_message ADD COLUMN forward_detail LONGTEXT - 脚本改动:
skills/feishu-group-msg-sync/scripts/sync_group_to_mysql.py - 文档更新:
skills/feishu-group-msg-sync/SKILL.md - 历史数据修复: id=216 记录已重新处理,6个媒体全部上传COS
forward_detail 格式
[2026-04-20 17:14] 黄敏:
[图片1](https://cos.xxx/img1.png)
L1 9-5,关卡图标显示异常...
[2026-04-23 19:08] 胡陈辰:
[视频1 时长77s](https://cos.xxx/video.mov)
[封面](https://cos.xxx/cover.png)