用 Skill 总结群聊记录

工具本身不稀缺,把工具长成一种有节奏的内容,才稀缺。

有一个 Claude Code Skill 叫 group-daily,它干一件事:把一个微信群一天、或者一段时期的聊天记录,蒸馏成一份杂志风的 PNG 长图。它连同底层的 vchat CLI 一起开源在 GitHub。这篇讲一下这个 Skill 为什么这样设计、怎么用。

群日报全貌

群聊是一份没人读的产品

一个认真聊的群,它本身就是产品:有起点,有节奏,有主角,有反转。但群聊原生界面只能让你「看」,不能让你「读」。翻一页是一页,明天就忘了。

智能纪要类的工具试图解决这个问题,但走偏了。它把群聊压成了 dashboard:今天讨论了 5 个话题、活跃用户 12 个、关键词云。打开看一眼就关了,因为它没有故事,没有人,没有节奏。

要的不是 dashboard,是杂志。

为什么是杂志,不是纪要

动手前用质量屋 QFD 方法把所有候选形态横着比了一遍:网易云年报、Spotify Wrapped、Stripe Annual Letter、Notion 月报、市面上各种群聊总结工具。维度涵盖可读性、可传播性、信息密度、情感唤起。

打分最高的不是信息密度最大的那种,是时间故事线最清晰的那种。

写作风格也有铁律:不要 AI 套话,不要破折号,不要把群聊里的玩梗「上价值化」。该是段子就是段子。

杂志里都装了什么

从上到下九个模块,每一项都是从「反 dashboard」思路里抠出来的。

Lead 标题。 整张图最顶上一行小字「群日报 / Vol. 年月日」作为报头,下面是衬线大字 lead title,把当天最核心的剧情用一句话凝住。

lead 大标题

时间故事线。 8 个大编号用 Georgia 衬线 96px 朱砂红立在每段的开头,01 → 02 → 03 一路往下走。不是话题排行榜,是当天的节奏。

连续大编号的纵向衔接

时间 + 角色徽章。 每段开头都有一个三件套:发生时间、当事人扮演的角色、当段主题。角色比如提问者、架构师、救火队员、概念原创者、玩梗大师,按「今天在群里扮演了什么」贴,不按发言量。

故事节点开头:大编号 + 时间 + 角色徽章

CAST 真实头像。 每个节点列出当时的主角头像,Skill 自动从微信本地头像库取出来,base64 内嵌进 HTML,配朱砂红偏移阴影。看到图的人能在杂志里立刻认出自己。

CAST 头像行

高光人物卡。 中段 6-8 张人物卡铺成两列网格,选取不按发言量 TOP,按「今天没他故事就少一块」。每张卡:头像 + 名字 + 一句话角色 + 一句话画像。

高光人物卡

工作流 SOP 沉淀。 聊天里散落的多步操作,Skill 会让 Claude 提炼成可抄作业的编号步骤,默认展开。

SOP 卡

Q&A 问答沉淀。 被多人回答、有共识价值的问题,提炼成 Q&A 块。一个问题挂多个答案,谁说的、原汁原味、不改造。

Q&A 卡

收尾金句。 整张图最末挂一句当天最有共鸣的群友原话作收尾,下面一行小字归属到人和时间。

收尾金句

数据条。 最底下一条数据带:消息数、发言人数、字数、故事节点数、新进人数。冷数据放在最末压轴,让前面所有的「热」内容先吸住眼睛。

底部数据带

排版细节。 米黄纸底 #ede5d0、墨黑 #1a1815、朱砂红 #b8443c,衬线中文字体 Songti SC 或 STSong,大量留白、横线分隔、首字下沉。整张图看上去像一本独立杂志,不像 SaaS 工具的导出页。

SOP 和 Q&A 这种干货段默认 details open 而非折叠,是因为这些图最终是要被截成 PNG 发出去的,折叠了 PNG 就漏掉一大块内容。所有「想得到的好东西」全部默认露出。

顺便还成了一座选题矿

做内容创作的人会发现:有一半以上的选题灵感是从群聊里捡来的。群友抛出的真问题、争论里的反直觉观点、谁踩了一个坑然后另一个人贡献解法、有人甩出一个新工具、有人顺手讲了一个被低估的玩法——这些是最稀缺的内容素材,因为它们都带着真实业务痛感,不是凭空构思出来的。

但群聊是流式记忆,今天热聊明天忘。打开 PC 微信往上翻三天,往往已经记不清当时聊的脉络,好选题就这样从手指缝里漏走。

group-daily 这个 Skill 顺便解决了这件事。它每天产出的不只是那张 PNG,背后还有一份 story.json,把当天的时间故事线、SOP、Q&A、金句结构化沉淀下来,默认归档到 ~/Documents/GroupDaily/,一天一个 JSON。

跑一段时间,归档目录里就是一座时间索引的选题矿。打开任何一天的 JSON,那一天的话题、争论、踩坑、新工具一目了然。要写公众号、配朋友圈、扒视频脚本素材,直接翻挖就行。这一层价值可能比 PNG 本身更有用。

底层是一个自写的 vchat

要让 Skill 跑起来,得先解决「怎么读到自己的本地聊天记录」。

vchat 是一个 CLI:底下是本地数据读取层 + 一个 vchat_core 查询库,对接的就是微信桌面版落在自己机器上的那份记录。63 个子命令,覆盖联系人、群成员、聊天记录、朋友圈、收藏、语音转写等等本地能读到的所有内容。

group-daily Skill 调用 vchat 拉数据,然后让 Claude 按 Skill 里的故事约束写 story.json,最后渲染成 HTML 用 Chrome headless 截成长图。整条链路端到端本地完成,不上传任何东西。

vchat doctor 自检 + vchat ls 列群

一句话让 Agent 装好

仓库地址:https://github.com/Larkin0302/vantasma-toolkit

vantasma-toolkit 仓库主页

最简单的安装姿态,把下面这句话贴给自己的 AI Agent,Claude Code、Cursor、aider 都行:

帮我安装 https://github.com/Larkin0302/vantasma-toolkit 里的 vchat CLI,路径 cli/vchat。按它 README 的步骤跑:clone → bash install.sh → 装 cryptography + zstandard → sudo vchat setup。完成后跑 vchat doctor 确认本地聊天记录全部可读。

Agent 会自己跑完。只需要输一次 sudo 密码,让微信桌面版保持开着加已登录。30 秒内本地数据库全部就绪,63 个 vchat 子命令立刻可用。

group-daily Skill 也在同一个仓库里 skills/group-daily/,复制到 ~/.claude/skills/ 就能触发。跟 Claude 说「做今天的群日报:XX 群」就行。

⚠️ 仅供个人学习使用。这个工具只看自己机器上自己微信号的本地数据,所有处理都在本地完成,不上传任何东西。商业批量采集、监控他人、任何违反相关法律和平台用户协议的行为都严禁。

写在最后

把日常的工具变成可读的产品——工具本身不稀缺,把工具讲清楚、用起来、长成一种有节奏的内容,才稀缺。