EchoTrace: a local WeChat chat export and annual report tool that is no longer maintained
EchoTrace 是一个本地、安全的微信聊天记录导出、分析与年度报告生成工具 | EchoTrace is a local, secure tool for exporting, analyzing, and generating annual reports of WeChat chat records
At a glance
- What is it?
- EchoTrace decrypts WeChat chat history on your own machine, exports it to HTML, and builds annual reports from it. The README now says maintenance has stopped and points users to WeFlow and Miyu instead.
- Who is it for?
- EchoTrace suits people who want a local, offline copy of their own WeChat history and are willing to build a Flutter desktop app themselves, since the README states the project is no longer maintained and points to WeFlow for realtime features and Miyu for backup. It is the wrong choice if you need ongoing fixes, Windows-only packaging, or anything resembling a supported product.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Activity is slowing. The repository last received commits 6 months ago.
- What is it written in?
- GitHub does not report a main language for this repository.
Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What EchoTrace does with your WeChat history
EchoTrace is a desktop tool for one narrow job: taking the chat history stored by WeChat on your own computer, decrypting it, and turning it into something you can read, keep, or share. The README describes three outputs. The first is a local, offline view of the decrypted history. The second is an export, with HTML named as one format, meant to be shared with friends. The third is an analysis report generated from the history, including a two-person annual report.
The intended audience is not a data team. The README frames the project around a personal question: who did time bring into your life, and what did it leave behind. The features listed for the two-person report are concrete rather than abstract. Basic statistics cover the first date two people chatted and the year's totals. A word cloud covers the words each person used most. Message-type breakdowns by radar chart, chat-hour distributions, and a heatmap of the year are listed as planned, not done. The README marks voice, image and sticker parsing as complete, and the annual word cloud as complete.
That mix matters when you evaluate it. A tool that promises a finished annual report and delivers a word cloud plus a first-chat date is still useful, but the report is thinner than the name suggests.
How the decryption and export pipeline is put together
The README does not document the internal architecture. What it does say is that the application is built with Flutter, that it has a realtime mode with its own module documentation, and that it credits three sources for the parsing work: chatlog for the approach to decrypting WeChat chat records, WxDatDecrypt for the method used to decrypt WeChat images, and one contributor for the approach to inline images and voice.
So the data flow, as far as the repository describes it, is: read WeChat's local data, decrypt it, keep the result on disk for offline viewing, then run analysis over that local copy to produce HTML exports and reports. The repository layout supports this reading. There is a docs directory with a beginner guide, a development guide, and a realtime module document, plus a report.md at the top level.
The design decision worth noting is that everything happens locally. There is no server component in the README, no account, and no upload step. For chat history, that is the right default, and it is the main reason to consider this tool over a hosted alternative. The cost is that all the parsing complexity lives on your machine, which is why the build instructions are Flutter build steps rather than a download link.
Building EchoTrace from source
The README gives source build instructions and not a packaged download. You need a working Flutter environment first. The four steps below are copied from the README: clone, fetch dependencies, run in debug mode, then build a release binary. The Windows target is the example the README uses.
git clone https://github.com/ycccccccy/echotrace.git
cd echotrace
flutter pub get
flutter run
flutter build windowsAfter `flutter pub get` finishes, `flutter run` should launch the app in debug mode. The README points new users at docs/beginner_guide.md for a step-by-step tutorial, and developers at docs/development.md for architecture, file responsibilities, debugging and CLI notes. If you want a distributable binary rather than a debug session, `flutter build windows` is the command the README shows.
There is no published installer, no package manager entry, and no version pinning in the README. Treat the build as the install. Note also that the README's own tip block states the project has stopped being maintained and suggests WeFlow for the realtime functionality and Miyu for the backup functionality. Read that before you spend an afternoon on the toolchain.
The maintenance status is the headline limitation
The README contains an explicit notice that EchoTrace is no longer maintained, and redirects users to two other projects for the realtime and backup capabilities. That is unusually direct, and it should shape the decision more than any feature list. The last push to the repository was on 2026-03-20, so the code is not frozen in the distant past, but the stated intent is that development has ended.
What that means in practice: the decryption logic depends on how WeChat stores its local data. Any format change on WeChat's side is a change nobody has committed to handling. The credits section shows how much of the parsing approach came from other projects, so a break in chatlog's assumptions can propagate here too.
There are smaller gaps as well. The README lists several report features as unchecked, including message-type radar charts, chat-hour distributions, and a heatmap, plus a summary image for the annual report. The README does not document rollback, and it does not document what happens if decryption fails partway through. If you need a tool with a support commitment behind it, this is not that tool, and the README says so itself.
WeFlow and Miyu split what EchoTrace used to do
The README's own tip block names the alternatives, and the split is by capability rather than by preference. WeFlow is suggested for the realtime functionality that EchoTrace offered, and Miyu is suggested for the backup functionality. That is a meaningful difference in approach: instead of one application that both watches chat data live and produces a backup, the recommended path divides the two jobs between separate projects.
There is also chatlog, credited as the source of the decryption approach. It is a reference implementation rather than a drop-in replacement, but if what you want is the underlying access to WeChat data rather than a Flutter desktop report generator, the credit line is a reasonable place to look next. ChatLab is mentioned separately as a place to go if you want to analyse chat content more deeply after exporting.
The practical difference is packaging and scope. EchoTrace bundles decryption, offline viewing, HTML export and report generation into one Flutter app with no installer. The alternatives each cover a slice. Choosing between them is mostly a question of whether you want a single binary to build or separate tools for separate stages.
Licence and what upgrading costs you
EchoTrace is released under the MIT licence. The README states that you can use, modify and distribute it freely, at your own risk. For a tool that touches personal chat data, the practical implication is that you can fork it and keep it running yourself if the upstream stops, which is exactly the situation the README describes. It also means there is no warranty, and the README says as much.
The upgrade cost is not a version-number problem. Releases exist, with 5.2.0 dated 2026-01-18, v3.1.0 dated 2026-01-09 and v3.0.8 dated 2026-01-07, but the README does not document a migration path between them or a compatibility guarantee for previously exported files. If you export your history to HTML now, nothing in the README promises that a later version reads it back.
For a fork, the cost is the Flutter toolchain plus the parsing code that depends on WeChat's on-disk format. That second part is the part that ages. Budget for it before you decide the MIT licence makes this a safe long-term dependency.
Editorial conclusion
EchoTrace suits people who want a local, offline copy of their own WeChat history and are willing to build a Flutter desktop app themselves, since the README states the project is no longer maintained and points to WeFlow for realtime features and Miyu for backup. It is the wrong choice if you need ongoing fixes, Windows-only packaging, or anything resembling a supported product. Before committing, verify the Flutter toolchain builds on your machine, read docs/beginner_guide.md and docs/development.md, and check whether WeFlow or Miyu already covers the feature you actually need.
Frequently asked questions
Is EchoTrace still maintained?
No. The README states that EchoTrace has stopped being maintained and points users to WeFlow for the realtime functionality and Miyu for the backup functionality. The last push to the repository was on 2026-03-20.
How do I install EchoTrace on Windows?
There is no published installer. The README gives source build steps: clone the repository, run flutter pub get, then flutter run for debug mode or flutter build windows to produce an executable.
Does EchoTrace upload my WeChat chat records anywhere?
The README describes EchoTrace as completely local, with decrypted history saved on your machine for offline viewing and reports generated from that local copy. No server, account or upload step is mentioned.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/ycccccccy-echotrace)