MyEcho
分析微信客户端聊天记录
一套从本地聊天记录中提取、分析和重构长期对话关系的桌面工具。
作品档案
- 平台
- 桌面端
- 形态
- 本地分析工具
- 数据
- 微信聊天记录
- Tauri
- Rust
- SQLite
- React
- 当前阶段先打通本地解析、会话统计、时间线和报告展示,重点验证数据链路是否稳定。
- 处理边界放在本机内完成,原始聊天数据不作为云端分析材料。
- 阅读看点是把零散聊天记录重新组织成关系线索,而不是只看消息数量。
本地数据入口
先从用户本机的微信数据文件出发,识别账号、联系人、群聊和消息表结构,尽量把读取动作限制在本地环境里。
会话整理台
把原始消息按联系人、群聊、时间和消息类型重新归档,先解决“能不能稳定读出来”和“能不能按人看懂”的问题。
分析报告页
报告不只展示数量,也会呈现时间线、关键词和阶段性变化,让长期聊天记录有重新翻阅的入口。
本地解析
读取微信客户端本地数据,整理联系人、群聊和消息记录,为后续分析提供稳定的数据底稿。
时间线回看
按天、月或阶段整理聊天频率和关键变化,帮助回看一段关系或一次项目讨论是怎样展开的。
主题线索
从高频词、重复话题和上下文里找出线索,让聊天记录不只是流水账。
隐私优先
原始数据尽量留在本机处理,报告生成和缓存策略都围绕个人数据安全来设计。
- 验证本地数据读取
先确认微信客户端本地数据结构,梳理可读取字段和不同账号目录之间的差异。
- 搭建解析与缓存链路
用 Rust 处理解析逻辑,用 SQLite 承接中间数据,避免每次打开都重新读取原始文件。
- 整理报告展示方向
把会话统计、时间线和主题线索放到同一份报告里,开始调整阅读体验。
- 补齐安全边界说明
明确工具读取哪些本地数据、生成哪些缓存、哪些内容不会离开本机。
为什么做
微信里有很多长期留下来的聊天记录。它们平时只是堆在会话列表里,真要回头找某一段关系、某一次讨论、某个时间点发生过什么,反而很难。
MyEcho 想解决的不是“备份聊天记录”这么简单的事。我更想把这些本来散在本地数据库里的消息,整理成能重新翻阅的个人档案:什么时候聊得最多,哪些话题反复出现,一段关系是怎么慢慢变化的。
解决的问题
第一个问题是数据本身比较散。聊天、联系人、群聊、时间、消息类型都不是天然适合阅读的结构,直接看数据库没有意义。
第二个问题是隐私。聊天记录太敏感,所以这个工具从一开始就倾向本地处理,不把原始数据上传到远端。它应该像一个只在自己电脑里工作的案头工具,而不是一个云端分析服务。
第三个问题是解释方式。统计数字本身不难,难的是把数字变成能看懂的线索。比如某个月突然频繁聊天,背后可能是一段项目合作,也可能是一段关系变化,这些都需要用时间线和主题来辅助回看。
功能要点
- 解析微信客户端本地聊天数据。
- 按联系人、群聊和时间维度整理消息。
- 生成会话统计、关键词线索和时间线。
- 尽量保持本地运行,减少隐私暴露。
- 把分析结果做成可阅读的报告,而不是只给出冷冰冰的表格。
技术札记
这个项目的核心不是界面,而是数据整理链路。Tauri 负责桌面端壳和系统能力,Rust 处理本地文件、数据库读取和性能敏感的逻辑,React 负责报告和交互界面。
比较麻烦的地方在于数据结构并不总是稳定。不同版本、不同设备迁移之后,本地文件和字段可能会出现差异,所以解析层不能写得太死。后续我会把解析兼容性单独拆出来做成更清晰的模块,避免业务界面和底层数据细节绑在一起。
下一步
MyEcho 目前还在持续整理中。接下来会优先补三件事:一是提高不同版本数据的解析兼容性,二是把报告做得更容易阅读,三是把本地数据安全策略写清楚,让这个工具在使用前就能说明白它会读什么、不会做什么。