微信群消息整理大师 (WeChat Group Message Makeup King)
微信服务群/客户群聊天截图自动整理技能。对外展示名 WeChat Group Message Makeup King / 微信群消息整理大师;技能 ID 为 wechat-group-weixin-qun-message-makeup-king(市场命名规范,全小写连字符,含 wechat 关键词便于搜索)。
💡 为什么用「截图法」整理微信群(核心创新)
微信对其聊天数据有严格的保护机制,目前市面上几乎没有成熟插件能直接自动探测、抓取并整理微信群信息——既无官方开放接口,破解或 Hook 又面临封号与合规风险。
而对大量中小企业来说,日常的客户沟通、售后跟进、项目协作都发生在个人微信里:它们并没有用企业微信建客户群来做信息沉淀,导致大量高价值的服务记录、问题反馈、成交线索随聊天窗口的滑动而永久流失。
本技能采用的「截图 → 粘贴 → 自动入库」方案,是在微信现有保护机制下性价比最高、可操作性最强的整理方式:不破解、不 Hook、不联网抓取,仅靠你已有的截图习惯,就能把散落在群聊里的知识固化成可检索、可追溯、可累积的结构化知识库。
对中小企业沉淀客户服务资产、复盘典型问题、构建自己的知识库,这种方法具有不可替代的价值——这也是本技能最核心的创新所在。
触发条件
当用户执行以下任一操作时触发:
- 粘贴 1 张或多张微信聊天截图到对话框并说"整理""录入""截图"等。
- 要求查看/更新 tracking.xlsx、group_coverage.xlsx、notes/ 等产物。
- 要求修改 memory_rules.md、合并人员、修正识别错误。
🚀 快速上手(3 步)
- 写 pending:粘贴 1+ 张微信聊天截图到对话框,由我识别后写出
_pending_N.json(含群/人/消息)。 - 一键入库 + 重算:运行
python run_all.py—— 自动把全部_pending*.json入库并重算产物。 - 看结果:打开
tracking.xlsx(群/人/消息三表)与group_coverage.xlsx(汇报覆盖表)。
常见坑、样例输入输出对照见 references/FAQ.md;字段契约见 references/schema.md。
核心原则
- 被动模式:只在用户粘贴截图或要求整理时动手,绝不主动定期跑任务。
- JSONL 三表为主存储:
groups.jsonl、people.jsonl、messages.jsonl是真相源;xlsx/md只是重算视图。 - 群/人/消息三维建模:每句话属于一个群、一个发言人、一个内容时间点。
- 截图人客观化:优先用
operator.txt里的名字(如「X工」),绝不用"你";operator.txt可选,缺失时记为「未知」。 - 严格识别:图片/视频只描述肉眼可见事实,不确定部位写"不确认具体部位",不强行套术语。
- 去重:按
群+发言人+内容指纹去重,吃掉同一文件误跑两遍和相邻截图首尾相接的重复。
工作目录结构
wechat_screenshots/
├── schema.md # 字段与数据契约
├── memory_rules.md # 沉淀的人工纠正规则(必须每次整理前读)
├── core_reference.md # 内部人员花名册+产品速查(本地权威源)
├── operator.txt # 截图人客观身份
├── groups.jsonl # 群表(主存储)
├── people.jsonl # 人表(主存储)
├── messages.jsonl # 消息表(主存储)
├── merge_log.jsonl # 合并/别名绑定审计日志
├── ingest.py # 识别→归并→入库引擎
├── run_all.py # 一键:依次入库全部 _pending + 重算产物
├── build_outputs.py # 渲染 tracking.xlsx + notes/*.md
├── build_coverage.py # 生成 group_coverage.xlsx/jsonl(群整理覆盖表)
├── tracking.xlsx # 人读主视图(Messages/People/Groups 三表)
├── group_coverage.xlsx # 汇报用:每群的时间跨度+整理人+截图张数
└── notes/
├── timeline.md
├── groups/
│ └── <group_key>.md
└── people/
└── <person_id>.md
批量处理工作流(4-5 张为甜点)
- 预检:读
operator.txt、当前库计数、确认无残留_pending*.json。 - 识别:为每张截图生成一个
_pending_N.json(N=1..n),结构见下。 - 入库:依次执行
python ingest.py _pending_N.json。 - 重算:执行
python build_outputs.py(会自动调用 build_coverage)。 - 清理:删除已处理的
_pending_N.json与tracking.xlsx.new等临时文件。 - 汇报:展示
tracking.xlsx、group_coverage.xlsx、关键变更。
_pending_N.json 格式
推荐用 group 包裹式(功能最全,可传头像、全员截图、截图人 ID):
{
"group": {
"display_name": "示例客户-示例设备群 (22)",
"company": "示例客户公司",
"purpose": "设备/项目",
"our_company": "示例设备厂商",
"member_count": 22,
"roster_snapshot": {
"date": "2026-07-08",
"source_image": "全员截图.png",
"members": ["昵称1", "昵称2"]
}
},
"avatars": {
"示例符号昵称": "红底卡通猫头像"
},
"captured_by": "录入人示例(如「X工」)",
"captured_by_id": "",
"messages": [
{
"speaker_raw": "示例符号昵称",
"content": "设备已开机,仍无反应",
"timestamp": "2026-07-08 14:18",
"msg_type": "text"
}
],
"source_image": "Clipboard_Screenshot.png"
}
> ingest.py 同时兼容扁平写法(display_name/company 等平铺在顶层),但扁平写法无法传 avatars / roster_snapshot / captured_by_id,会丢失头像、全员截图与截图人 ID,建议始终用上面的 group 包裹式。
msg_type 可选:text/image/voice/video/file/system/redpacket。
日期推断规则
按置信度顺序:
1. 截图中自带清晰日期 → 直接用(写完整 YYYY-MM-DD HH:MM)。
2. 连续截图首尾重叠 → 按时间线顺延。
3. 微信当天聊天的消息只显示 HH:MM(不显示日期)→ 必须补全为录入当天:直接写完整 2026-07-20 14:18,绝不裸写 14:18。ingest.py 内置 normalize_timestamp() 也会在入库时自动用录入日补全,但写 pending 时就写全最稳。
4. 仍不明确 → 问用户,不要猜。
timestamp 为内容发生日期(主索引),entered_at 为录入日期(审计)。裸写时分会导致排序/查重主索引错乱,且 Excel「内容日期」列缺日期显短。
发言人识别
- 优先查
core_reference.md判定内部人员(staff + 职务)。 - 新发言人首次出现时建
person_id,role先标unknown或据上下文推断,备注"待确认"。 - 同一人在不同截图里名字不同 → 自动/人工并入同一人,新名追加到
former_names(分号分隔)。 - 规范名存在歧义时,宁可拆成两人,等人工确认再合并。
媒体描述规则
- 图片:只写可见事实;承印物/材质表面严格区分浅色面 vs 深色面。
- 视频:时长+画面内容;机器/屏幕时间戳只进视频备注,不动消息时刻。
- 语音:已转写则进 content;未转写则写
[语音 N秒] 内容未转写。 - 文件:保留文件名和大小。
- 客户标注:红线、圆圈、箭头 = 客户示意,不是内容本身。
群整理覆盖表
运行 python build_coverage.py 或 build_outputs.py 后生成:
- group_coverage.jsonl(机读)
- group_coverage.xlsx(汇报主用)
每行 = 一个群:最早/最晚消息时间、消息条数、截图张数、整理人(去重)、最近录入时间、待补事项。
各员工各自生成自己的覆盖表,人工对照合并,不自动跨实例合并。
冲突与人工确认
以下情况必须停下来问用户,不要静默决定:
- 同名不同人(同一群里出现两个"王总")。
- 角色冲突(内部人被误标为 client)。
- 日期推断存在多个合理可能。
- 图片/视频部位不确定,需要用户标注。
使用脚本
入库:
python ingest.py _pending_N.json
重算所有产物:
python build_outputs.py
单独生成覆盖表:
python build_coverage.py
注意事项
- 不要直接操作
tracking.xlsx作为合并输入;它始终是末端视图。 build_outputs.py在tracking.xlsx被 Excel 锁定时会自动写入tracking.xlsx.new,请用户关闭 Excel 后重新运行即可覆盖。- 本技能不连接微信、不自动截图;截图必须由用户完成。