|
| 1 | +# 微信没有的年度总结和数据导出,这个开源工具帮你补上了 |
| 2 | + |
| 3 | +网易云有年度听歌报告,支付宝有年度账单,微信没有。多年的聊天记录里到底发过多少消息、和谁聊得最多、哪个月最活跃,完全看不到。 |
| 4 | + |
| 5 | +聊天记录导出也一样。想把对话存成文件留着?没这个功能。换手机的时候,微信数据迁移要两台手机靠在一起传,旧手机还得先备份,整个流程至少折腾一个小时。 |
| 6 | + |
| 7 | +这两件事加在一起,让我决定自己做一个工具。WeChatDataAnalysis 是我做的一个开源项目,专门补上这些微信本身没有的功能。 |
| 8 | + |
| 9 | +--- |
| 10 | + |
| 11 | +## 年度总结 |
| 12 | + |
| 13 | +这是我最想实现的功能。工具会分析本地数据库里的历史记录,生成一组统计卡片,共 8 张,每张聚焦一个主题。 |
| 14 | + |
| 15 | +挑几张有意思的说一下: |
| 16 | + |
| 17 | +「你是早八人还是夜猫子」——把全年发消息的时间点画成热力图,能看出自己的作息规律。经常深夜发消息的人,这张卡可能有点心虚。 |
| 18 | + |
| 19 | +「今年打了多少字,够写一本书吗」——统计全年发出的文本字符数,换算成书的篇幅做对比。 |
| 20 | + |
| 21 | +「哪些词说了一遍又一遍」——对聊天内容做分词,生成词云,高频词一眼看出来。 |
| 22 | + |
| 23 | +「谁是你秒回的人」——按平均回复时长给联系人排序,谁排第一大概自己心里有数。 |
| 24 | + |
| 25 | +「每个月谁最懂你」——统计每个月互动最多的联系人,月度好友墙,看看不同时段谁陪在身边。 |
| 26 | + |
| 27 | +支持按年份切换,历年数据都能查。生成好的卡片可以单独截图,如果不想暴露昵称和头像,隐私模式会把敏感信息打码,分享出去不用担心。 |
| 28 | + |
| 29 | +用自己的数据测试的时候,发现某段时间消息量比现在多很多,当时没意识到,数据出来才看到。 |
| 30 | + |
| 31 | +(截图:年度总结界面) |
| 32 | + |
| 33 | +--- |
| 34 | + |
| 35 | +## 聊天界面 |
| 36 | + |
| 37 | +界面这块花了不少心思,目标是尽量贴近微信本体。气泡样式、头像布局、消息时间戳的位置,能对上的都对上了。 |
| 38 | + |
| 39 | +消息类型支持得比较全。文字、图片、视频、文件都没什么悬念。几个稍微特殊的类型单独说一下: |
| 40 | + |
| 41 | +**语音消息**:微信本地存的是 SILK 格式,浏览器不认识。工具会自动把它转成 WAV,直接在页面里就能播放,不用下载、不用转换、不用装额外软件。 |
| 42 | + |
| 43 | +**引用回复**:显示被引用的原消息内容,结构完整,能看清楚对话的上下文。 |
| 44 | + |
| 45 | +**红包、转账**:金额、备注都有,流水记录完整。 |
| 46 | + |
| 47 | +**拍一拍**:系统消息正常渲染,不会显示成乱码。 |
| 48 | + |
| 49 | +**链接卡片**:标题、摘要、来源,能显示的都显示出来。 |
| 50 | + |
| 51 | +搜索这块做了全文检索,支持跨会话搜索。搜索结果点击之后,会直接跳到那条消息的上下文位置,前后的对话都在,不用自己去翻。 |
| 52 | + |
| 53 | +还有一个细节:工具在运行的同时,微信也可以继续用。对方发消息过来、自己发出去,这边的页面会自动同步更新,不需要手动刷新。 |
| 54 | + |
| 55 | +(截图:聊天界面) |
| 56 | + |
| 57 | +--- |
| 58 | + |
| 59 | +## 朋友圈 |
| 60 | + |
| 61 | +只要当时刷过,本地有缓存,就能在这里看到。对方后来删掉的内容照样显示,时间线完整,发布时间和背景图也保留着。 |
| 62 | + |
| 63 | +**背景图历史**:这个功能我自己比较意外会有人用到。某个联系人历次更换过的朋友圈背景图,以及每次更换的时间,都记录在案。背景图换过几次、哪个阶段用了哪张,翻出来看还挺有意思。 |
| 64 | + |
| 65 | +**导出**:朋友圈可以导出成 HTML 离线包,图片、视频等媒体文件都打包在里面。本地用浏览器打开,效果和工具里看到的基本一致。支持按联系人单独导出,也可以全量导出。 |
| 66 | + |
| 67 | +我把自己发过又删掉的东西翻出来看了一遍,当时写的那些,现在看来确实幼稚。 |
| 68 | + |
| 69 | +(截图:朋友圈界面) |
| 70 | + |
| 71 | +--- |
| 72 | + |
| 73 | +## 联系人 |
| 74 | + |
| 75 | +这个功能可以导出本地所有联系人的信息,包括昵称、微信 ID、地区、备注、添加来源。支持 CSV 和 JSON 两种格式,CSV 用表格软件直接打开,JSON 适合脚本处理。 |
| 76 | + |
| 77 | +导出结果按好友、群聊、公众号分类,不会混在一起。群聊部分会带上群成员列表,方便查具体是哪些人。 |
| 78 | + |
| 79 | +(截图:联系人界面) |
| 80 | + |
| 81 | +--- |
| 82 | + |
| 83 | +## 数据导出 |
| 84 | + |
| 85 | +聊天记录支持导出成三种格式,根据用途选: |
| 86 | + |
| 87 | +**TXT**:纯文本,一行一条消息,简洁,用任何编辑器都能打开。 |
| 88 | + |
| 89 | +**JSON**:结构化数据,每条消息保留完整字段,适合用脚本做进一步处理,或者导入到其他系统。 |
| 90 | + |
| 91 | +**HTML**:离线网页,打开效果接近工具本身的聊天界面,图文混排,适合存档或者给不懂技术的人看。 |
| 92 | + |
| 93 | +导出范围可以选择:全部会话、仅单聊、仅群聊,或者指定某几个会话。时间范围也可以设,只导出某段时间的记录。消息类型可以过滤,比如只要文字,不含图片和视频,文件体积小很多。 |
| 94 | + |
| 95 | +还有隐私模式:导出时会隐藏用户名、头像、媒体内容,生成的文件可以放心分享给别人看内容结构,不用担心暴露个人信息。 |
| 96 | + |
| 97 | +(截图:导出界面) |
| 98 | + |
| 99 | +--- |
| 100 | + |
| 101 | +## 上手方式 |
| 102 | + |
| 103 | +Windows 用户去 GitHub Release 页面下载安装包,装完即用。解密前需要先用另一个工具 [wx_key](https://github.com/ycccccccy/wx_key) 获取数据库密钥,微信的本地数据库是加密的,密钥只存在自己机器上。工具本身不联网、不上传数据。 |
| 104 | + |
| 105 | +整个流程:获取密钥 > 打开工具 > 导入解密 > 开始使用。熟悉之后大概十分钟搞定。 |
| 106 | + |
| 107 | +项目地址:[LifeArchiveProject/WeChatDataAnalysis](https://github.com/LifeArchiveProject/WeChatDataAnalysis) |
0 commit comments