第一卷 第一号 一份记录作品、文章和旅行的个人日报
创刊 2017 杭州
版次 日刊 2026年7月3日 星期五
调查版 2026 进行中

MyEcho

分析微信客户端聊天记录

一套从本地聊天记录中提取、分析和重构长期对话关系的桌面工具。

作品档案

平台
桌面端
形态
本地分析工具
数据
微信聊天记录
技术栈
  • Tauri
  • Rust
  • SQLite
  • React
本案速览
  • 当前阶段先打通本地解析、会话统计、时间线和报告展示,重点验证数据链路是否稳定。
  • 处理边界放在本机内完成,原始聊天数据不作为云端分析材料。
  • 阅读看点是把零散聊天记录重新组织成关系线索,而不是只看消息数量。
项目样张
MyEcho 聊天分析页面截图
聊天分析页 把会话统计、时间线和主题线索放在同一处查看。
使用场景

本地数据入口

先从用户本机的微信数据文件出发,识别账号、联系人、群聊和消息表结构,尽量把读取动作限制在本地环境里。

会话整理台

把原始消息按联系人、群聊、时间和消息类型重新归档,先解决“能不能稳定读出来”和“能不能按人看懂”的问题。

分析报告页

报告不只展示数量,也会呈现时间线、关键词和阶段性变化,让长期聊天记录有重新翻阅的入口。

功能分栏

本地解析

读取微信客户端本地数据,整理联系人、群聊和消息记录,为后续分析提供稳定的数据底稿。

时间线回看

按天、月或阶段整理聊天频率和关键变化,帮助回看一段关系或一次项目讨论是怎样展开的。

主题线索

从高频词、重复话题和上下文里找出线索,让聊天记录不只是流水账。

隐私优先

原始数据尽量留在本机处理,报告生成和缓存策略都围绕个人数据安全来设计。

迭代记录
  1. 验证本地数据读取

    先确认微信客户端本地数据结构,梳理可读取字段和不同账号目录之间的差异。

  2. 搭建解析与缓存链路

    用 Rust 处理解析逻辑,用 SQLite 承接中间数据,避免每次打开都重新读取原始文件。

  3. 整理报告展示方向

    把会话统计、时间线和主题线索放到同一份报告里,开始调整阅读体验。

  4. 补齐安全边界说明

    明确工具读取哪些本地数据、生成哪些缓存、哪些内容不会离开本机。

为什么做

微信里有很多长期留下来的聊天记录。它们平时只是堆在会话列表里,真要回头找某一段关系、某一次讨论、某个时间点发生过什么,反而很难。

MyEcho 想解决的不是“备份聊天记录”这么简单的事。我更想把这些本来散在本地数据库里的消息,整理成能重新翻阅的个人档案:什么时候聊得最多,哪些话题反复出现,一段关系是怎么慢慢变化的。

解决的问题

第一个问题是数据本身比较散。聊天、联系人、群聊、时间、消息类型都不是天然适合阅读的结构,直接看数据库没有意义。

第二个问题是隐私。聊天记录太敏感,所以这个工具从一开始就倾向本地处理,不把原始数据上传到远端。它应该像一个只在自己电脑里工作的案头工具,而不是一个云端分析服务。

第三个问题是解释方式。统计数字本身不难,难的是把数字变成能看懂的线索。比如某个月突然频繁聊天,背后可能是一段项目合作,也可能是一段关系变化,这些都需要用时间线和主题来辅助回看。

功能要点

  • 解析微信客户端本地聊天数据。
  • 按联系人、群聊和时间维度整理消息。
  • 生成会话统计、关键词线索和时间线。
  • 尽量保持本地运行,减少隐私暴露。
  • 把分析结果做成可阅读的报告,而不是只给出冷冰冰的表格。

技术札记

这个项目的核心不是界面,而是数据整理链路。Tauri 负责桌面端壳和系统能力,Rust 处理本地文件、数据库读取和性能敏感的逻辑,React 负责报告和交互界面。

比较麻烦的地方在于数据结构并不总是稳定。不同版本、不同设备迁移之后,本地文件和字段可能会出现差异,所以解析层不能写得太死。后续我会把解析兼容性单独拆出来做成更清晰的模块,避免业务界面和底层数据细节绑在一起。

下一步

MyEcho 目前还在持续整理中。接下来会优先补三件事:一是提高不同版本数据的解析兼容性,二是把报告做得更容易阅读,三是把本地数据安全策略写清楚,让这个工具在使用前就能说明白它会读什么、不会做什么。