📣读完这篇文章里你能收获到

  1. 📁 看懂 WeChatDaily 如何把微信群聊变成可视化日报
  2. 🐍 按 README 主路径跑通:装依赖 → 配 .env → 对话让 Agent 出日报
  3. 🌐 理解本地数据处理、Agent 分析和 HTML/PNG 渲染的分工
  4. 🖥️ 避开 raw_key、子模块、PNG 渲染这些常见坑


前言

在这里插入图片描述

微信群一热闹,信息就很容易变成“刷过去就没了”。课程群、技术交流群、社群运营群尤其明显:白天大家讨论了一堆工具、方案、问题和结论,晚上想复盘时,只能在聊天记录里一点点翻。

我自己开源了 WeChatDaily(GitHub:Bryan-Cyf/WeChatDaily)。做这个项目,是因为我自己也有好几个技术群、课程群要复盘——消息一多,手翻聊天记录真的顶不住。

它的目标很直接:在 Windows 本机处理微信 4.1 的群聊数据,再通过内置 Agent Skill 完成话题分析,最后生成 Markdown、HTML,甚至 PNG 长图日报。

我设计的推荐路径不是“让用户自己一条条敲 CLI 导出聊天记录”,而是:装好依赖 → 配好 .env → 在 AI Coding 工具里跟 Agent 说一句话setupdecryptexport 这些命令 Agent 会按需自动执行;只有你想手动验流程时,才需要看 README 的「日常使用」命令参考。

我更想把它做成一个“AI Coding 工作流样板”:传统脚本负责脏活累活,Agent 负责理解、归纳和生成结构化内容。这样分工之后,项目本身不用内置大模型接口,也不需要在仓库里塞 API Key——这是我刻意选的设计。

完整日报需走完 Skill 工作流(导出 → Agent 分析 → 渲染 HTML / PNG)。下面是匿名化示例,和 README「效果预览」一致,方便先看排版与信息结构:

在这里插入图片描述

示例素材来自匿名化后的本地日报,仅用于展示排版与信息结构。


一、WeChatDaily 到底解决什么问题

WeChatDaily 不是一个“聊天记录查看器”,它更像一条面向微信群复盘的自动化流水线。它关心的不是把所有消息原样搬出来,而是把一天的群聊变成一份可以阅读、保存和传播的日报。

1.1 它的核心链路

README 里已经把链路讲得很清楚:

wx_key -> wechat.py setup -> decrypt -> export Markdown
       -> AI Coding Agent 分析 -> analysis JSON
       -> render_manual_report.py -> HTML / PNG 日报

这里面有三个关键角色。

第一个是本地工具链。wx_key 负责提取微信本地 raw_keyWeChatDecrypt 负责数据库解密,wechat.py 把配置、解密、群列表和导出串起来。

第二个是 Agent Skill。项目内置了 wechat-group-daily-report Skill,Agent 读到导出的 Markdown 聊天记录后,会按固定 Prompt 生成结构化 JSON,包括今日概览、主要话题、参与者和证据引用。

第三个是可视化渲染。scripts/render_manual_report.py 读取聊天记录和分析 JSON,再调用 src/visual_report.py 渲染成 HTML。安装 Playwright Chromium 后,还能继续导出 PNG。

这个分工最大的好处是:确定性的本地处理交给脚本,不确定的语义总结交给 Agent。脚本不需要假装自己懂聊天内容,Agent 也不需要直接碰复杂的微信数据库。

1.2 它适合哪些场景

我自己用下来,觉得最适合的不是普通个人聊天,而是有“复盘价值”的群:

  • 技术交流群:沉淀问题、方案、工具和踩坑经验
  • 课程群:整理当天讨论重点和学员高频问题
  • 社群运营群:复盘话题热度、活跃成员和互动节奏
  • 项目协作群:把碎片讨论整理成当天纪要

如果只是三五好友闲聊,日报价值不大。但如果群里每天都有知识点、问题排查、工具讨论,这种日报就很容易变成一个“自动知识沉淀器”。


二、从零跑通需要准备什么

WeChatDaily 当前的环境边界比较明确:

要求
操作系统 Windows
Python 3.14+
微信 4.1+ 桌面版
AI 分析 支持 Agent Skill 的 AI Coding 工具(CLI / IDE 均可)
可选 Playwright Chromium(PNG 长图渲染)

这类工具最怕环境没说清楚,照着教程跑半天才发现版本不对,所以先把边界摆在前面。

在这里插入图片描述

2.1 克隆项目和安装依赖

基础步骤如下:

git clone https://github.com/Bryan-Cyf/WeChatDaily.git
cd WeChatDaily
git submodule update --init --recursive
pip install -r requirements.txt

注意 git submodule update --init --recursive 不能省。项目依赖 tools/wechat-decrypt/ 子模块,如果漏掉这一步,后面很容易遇到类似 No module named 'key_scan_common' 的报错。

接着复制环境模板:

copy .env.example .env

.env 里最关键的是 WX_RAW_KEY。如果你有多个微信数据目录,还可以配置 WECHAT_DB_DIR;如果有常用群,也可以配置 WECHAT_DEFAULT_GROUPS

2.2 下载 wx_key 并配置密钥

wx_key 是独立第三方工具,WeChatDaily 不会把它打进仓库,需要使用者自行下载。README 里写得很明确,请从上游原地址获取

推荐(手动下载): wx_key v2.1.8 Release → 下载 wx_key-windows-v2.1.8.zip → 解压到 tools/wx_key/

可选(自动下载): 项目也封装了同一上游地址的拉取命令:

python wechat.py download-wx-key

密钥提取步骤:

  1. 微信保持登录
  2. 运行 tools\wx_key\wx_key.exe
  3. 复制 64 位 hex raw_key.envWX_RAW_KEY

在这里插入图片描述

到这里为止,你不需要手动跑 setup / decrypt / export。文档里写得很清楚:配置好 .env 后即可让 Agent 生成日报;首次使用或微信重启后,按 Agent 提示选择「刷新解密」即可,它会完成初始化、解密、导出与渲染流程。

如果只想手动验证解密流程,再参考本文「2.4 手动命令(排错/验证用)」或 README 的「日常使用」章节。

2.3 交给 Agent 生成完整日报

这是我设计时定的主路径

Skill 在哪

.claude/skills/wechat-group-daily-report/
├── SKILL.md
└── references/
    ├── analysis-prompt.md
    └── env-setup.md

不同 AI Coding 工具对 Skill 目录的约定可能不同,按你所用工具的文档把上述目录放好即可。

怎么说一句话跑通

在支持 Agent Skill 的工具里加载本项目 Skill,然后直接说:

帮我生成「示例群①」今天的微信群日报

Agent 会按 Skill 工作流自动完成:

确认群名 → 确认日期 → 是否刷新解密
    →(按需)setup / decrypt
    → export 导出 Markdown
    → Agent 分析 → 写入 analysis_*.json
    → render_manual_report.py 渲染 HTML / PNG

你作为用户,主要做三件事:选对群、选对日期、在需要时确认刷新解密。中间那些命令,是 Agent 替你敲的,不是 README 要求你手敲的。

产出在哪

跑通后,本地大致会有这些文件:

类型 路径
完整聊天记录 export/reports/report_{date}.md
结构化分析 export/reports/analysis_{date}_{群}.json
可视化日报 export/reports/report_{date}_{群}.html
图片版(可选) export/reports/report_{date}_{群}.png

2.4 手动命令(排错 / 验证用)

下面这组命令不是日常必做步骤,而是我放在 README「日常使用」里、给开发者手动验流程或排错用的。如果你已经走 Agent 主路径,可以先跳过本节。

列出已解密的群:

python wechat.py groups

手动导出指定日期(Skill 内部也会调类似命令):

python wechat.py export --date 2026-06-12 --groups 示例群① --limit 99999

重新解密(微信重启后 key 变化时常见):

python wechat.py decrypt

若你要完全手动走一遍初始化,才需要自行执行:

python wechat.py setup --raw-key $env:WX_RAW_KEY
python wechat.py decrypt

微信重启后 key 可能变化。如果 Agent 导出的消息偏少、日期不对,或解密失败,先别急着怀疑 Agent 本身——通常是 raw_key 过期了,重新跑 wx_key 更新 .env,再在对话里选「刷新解密」即可。


三、我做这个项目最想分享的设计:Agent 分工

很多人做“AI 工具”时,会习惯把大模型 API 直接塞进项目里:配置 Key、调用接口、返回总结。WeChatDaily 没有走这条路,而是把 AI 分析交给使用者当前的 AI Coding Agent。

这是我最想讲清楚、也是我最坚持的一个设计选择。

3.1 项目不内置 API Key

文档里写得很明确:聊天记录解密在本机完成,项目不内置 API Key 配置,AI 分析由你使用的 AI Coding Agent 驱动。

这样设计有几个好处:

  1. 工具边界清楚:本地工具只负责数据准备和渲染
  2. Agent 可替换:CLI、IDE、插件形态都可以接
  3. Prompt 可控:分析结构写在 Skill 里,用户能调整
  4. 安全意识更强:不用把聊天记录上传给项目内置服务

当然,这不等于没有隐私风险。聊天记录依然是敏感数据,你要清楚自己使用的 Agent 会如何处理上下文。如果是公司群、客户群、隐私群,建议只在可信环境里做本地实验,别随便把原始记录塞进不确定的云端工具。

3.2 Skill 把「会敲命令」变成「会说人话」

上一节 2.3 已经写了 Agent 主路径。这里补一句设计层面的理解:WeChatDaily 把一整套 CLI 步骤封装进 wechat-group-daily-report Skill,用户不需要记住 setupdecryptexportrender_manual_report.py 的先后顺序。

你只要用自然语言描述目标(哪个群、哪一天、要不要刷新解密),Agent 就会按 Skill 里的 Step 1~7 往下走。这比“自己看 README 一条条复制命令”友好很多,也是 WeChatDaily 和普通导出脚本最大的差别。

更关键的是,分析 Prompt 和渲染脚本分开:Prompt 决定“日报里讲什么”,HTML 模板决定“日报长什么样”。未来要改风格、改栏目、改统计口径,都有比较清楚的改动点。

在这里插入图片描述

3.3 几个容易踩的坑

第一,环境版本不要想当然。项目标的是 Windows、Python 3.14+、微信 4.1+,如果你本地 Python 版本偏低,先升级再排错。

第二,子模块要初始化。缺 tools/wechat-decrypt/ 时,很多后续问题都会连环出现。

第三,.env 和导出目录不要提交。README 里也提醒了,.envexport/tools/wechat-decrypt/config.jsontools/wx_key/ 都不应该进 Git。

第四,PNG 渲染依赖 Playwright Chromium。如果 HTML 能生成但 PNG 失败,多半是还没执行:

python -m playwright install chromium

第五,别把「手动 export」当成主流程。README 的快速开始只要求你配好 .env 后交给 Agent;python wechat.py export 是 Skill 内部或排错时才用的命令,不是每篇日报都要你亲自敲。

第六,群聊日报不是越“全自动”越好。涉及聊天记录时,最好保留人工确认:确认群名、确认日期、确认是否刷新解密、确认最终日报是否适合分享。


总结

WeChatDaily 的价值不只在“能导出微信群聊”,而在于它把微信群复盘拆成了一条清晰的 AI Coding 工作流:本地脚本处理数据,Agent 做结构化分析,HTML/PNG 负责可视化交付。

如果你是社群运营者,它适合把每天群里的高价值讨论沉淀下来;如果你是开发者,可以把它当成 Agent Skill 工作流的一个参考实现;如果你也在做自己的 AI 工具,这套分层方式可以直接借鉴。

我的建议是:先拿一个测试群跑通完整流程,再决定要不要接入到日常复盘。别一上来就处理敏感群,先把环境、边界和输出效果摸清楚。

项目已开源,欢迎 Star、Issue 和 PR。到这一步,你应该已经知道 WeChatDaily 怎么跑起来,以及哪里最容易卡住了。


Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐