yunxin-chat-issue-ledger
SKILL.md
云信聊天记录落 Excel
概览
把聊天内容先分析成结构化问题记录,再追加写入本地 Excel 台账。
优先处理用户直接提供的聊天内容或截图;若一段聊天里有多个独立问题,必须拆成多条记录。
工作流
1. 读取输入
支持以下输入:
- 纯文本聊天记录
- JSON 数组形式对话,例如
[ {"昵称":"内容"}, ... ] - 聊天截图或图片
如果是截图:
- 先直接阅读图片内容并提取对话;能看清就不要额外折腾 OCR。
- 一张图里如果有多个会话块、多个时间段或多个话题,先按会话块拆开再分析。
- 若图片不清晰、关键文字缺失,明确告诉用户哪些部分无法辨认,并在最终结果里标注低置信度。
2. 加载分类规则
读取 references/classification-prompt.txt,按里面的枚举和判断口径执行。
必须遵守:
- 信息不足时,也输出最可能的分类,不留空。
- 跟进策略判断要偏保守;拿不准时填
无。 - 增长机会只允许:
addon feature、addon purchases、无。 - 风险只允许:
attrition risk、customer risk、Commercial risk、无。
3. 识别问题边界
先区分客服和客户,再按"独立问题"拆分。
拆分原则:
- 不同产品线、不同故障、不同咨询目标,拆成不同记录。
- 同一问题的追问、补充信息、定位过程,合并成一条记录。
- 如果一段聊天同时包含"排查 bug + 询价增购",至少拆成两条。
- 更细的拆分口径见
references/splitting-rules.md。
建议优先提取:
- 公司名称:优先级最高,能识别就单独写出
- 群名称:如果是群沟通,尽量单独写出
- 公司名称:优先级最高,能识别就单独写出
- 群名称:如果是群沟通,尽量单独写出
- 客服:负责人、值班号、昵称
- 发送者昵称:非云信人员的昵称,后续要用于建立历史绑定
- 问题摘要:1~2 句话写清问题本身,不写寒暄
- 原始聊天摘要:保留能支撑分类判断的简短上下文
强约束:
- 每条记录必须至少识别出"公司名称"或"群名称"其一。
- 如果当前聊天里没有识别到,就先查历史昵称绑定;若仍无法确认,必须要求用户补充后才能继续录入。
- 详细规则见
references/entity-binding-rules.md。
4. 先产出结构化 JSON
先在当前工作目录写一个 JSON 文件,再调用脚本写入 Excel。
推荐文件名:chat_issue_records.json
JSON 顶层使用数组。每条记录至少要包含下面这些字段;其中 公司名称、群名称 至少填一个:
[
{
"记录时间": "2026-04-02 14:30:00",
"来源类型": "聊天截图",
"来源文件": "wechat-chat-2026-04-02.png",
"公司名称": "某公司",
"群名称": "某项目对接群",
"发送者昵称": "张三",
"客服": "石志诚",
"问题序号": 1,
"问题摘要": "Android 端 IM V10 登录后收不到离线消息。",
"咨询分类": "bug 问题",
"业务类型": "IM V10",
"平台类型": "Android",
"跟进策略": "转产研优化",
"跟进策略理由": "从聊天看已排除接入错误,现象稳定复现,更像 SDK 缺陷。",
"增长机会": "无",
"增长机会理由": "对话里没有出现增购或用量增长信号。",
"风险": "customer risk",
"风险理由": "客户表达了明显不满并连续催促处理进度。",
"原始聊天摘要": "客户反馈 10.3.x 版本在弱网切前后台后无法收到离线消息,客服建议抓日志。"
}
]
5. 追加写入 Excel
使用脚本:scripts/append_to_excel.py
命令格式:
python3 <skill_dir>/scripts/append_to_excel.py --input <json文件> --output <xlsx文件>
默认建议:
- JSON 输出:当前工作目录下
chat_issue_records.json - Excel 输出:
/Users/hzfangtiankui/网易/yunxin-chat-issues.xlsx
脚本行为:
- 如果 Excel 不存在,会自动创建并写入表头。
- 如果 Excel 已存在,会直接在末尾追加新记录。
- 写入前会校验:每条记录必须至少带有公司名称或群名称其一。
- 每次写入后,自动刷新一个
统计汇总工作表,按咨询分类、业务类型、平台类型、跟进策略、增长机会、风险统计数量。 - 写入成功后,再用
scripts/update_sender_bindings.py更新"发送者昵称 -> 公司/群名"历史绑定。
6. 同步到在线表格(可选)
如果用户配置了在线表格同步,写入本地 Excel 后自动同步到在线表格。
使用脚本:~/.openclaw/workspace/scripts/sync_issue_ledger.py
命令格式:
python3 ~/.openclaw/workspace/scripts/sync_issue_ledger.py
支持的在线表格平台:
- 飞书多维表格(推荐)
- POPO 文档(待支持)
- 腾讯文档(待支持)
配置方法:
- 编辑
~/.openclaw/workspace/data/sync-config.env - 填写对应平台的 API 凭证
- 下次写入 Excel 时会自动同步
同步行为:
- 生成 Markdown 和 JSON 格式备份
- 尝试同步到配置的在线表格
- 同步失败时不影响本地 Excel 写入
7. 向用户汇报
汇报时至少说清:
- 本次共写入多少条问题记录
- Excel 保存路径
- 如果聊天被拆成多条,简要说明拆分结果
- 如果有看不清的截图内容或低置信度分类,明确标出来
- 如果因为缺少公司名/群名而未录入,要明确告诉用户缺的是什么
输出建议
推荐把 Excel 作为长期台账文件反复追加。当前默认长期保存位置:
/Users/hzfangtiankui/网易/yunxin-chat-issues.xlsx
如需分季度或分项目,也可以改成:
/Users/hzfangtiankui/网易/yunxin-chat-issues-2026Q2.xlsx/Users/hzfangtiankui/网易/某客户/yunxin-chat-issues.xlsx
如果用户一次发来多张截图:
- 可以先统一分析成一个 JSON 数组;
- 再一次性写入 Excel,减少碎片化写入。
质量要求
- 不要把整段聊天原文一股脑塞进"问题摘要"。
- 分类值尽量使用枚举原文,不要自创近义词。
- 判断理由要短,但要能说明为什么这样归类。
- 如果图片里包含多个会话,先按会话拆,再按问题拆。
- 如果用户一次给了多份聊天内容,可以合并写入同一个 Excel。
资源
references/
classification-prompt.txt:分类枚举、判断口径、客服名单。splitting-rules.md:一段聊天拆多条记录的细化规则。entity-binding-rules.md:公司/群名必填、发送者昵称绑定与历史提示规则。
scripts/
append_to_excel.py:把结构化 JSON 追加写入本地 Excel 台账,并自动刷新统计汇总页。update_sender_bindings.py:把非云信人员发送者昵称与公司/群名历史绑定写入本地 JSON,供下次提示候选项。