微信聊天记录导出工具 WeChatExporter 零基础完整上手指南:从 iPhone 备份到本地永久归档
【免费下载链接】WeChatExporter一个可以快速导出、查看你的微信聊天记录的工具项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter
你有没有过这样的瞬间:换了新手机,打开微信发现几十个群聊记录变成了空白;或者某天手机突然黑屏,才意识到和家人的几千条对话从来没有备份过。微信十年不提供官方导出,聊天记录仿佛只能"听天由命"。WeChatExporter 正是为解决这个痛点而生的微信聊天记录导出工具——它不越狱、不折腾,读取 iPhone 备份中的微信数据,把文字、语音、图片、视频全部搬回你的电脑,导出的记录能在本地 HTML 页面里随时翻阅,离线也能看。
一、全局速览:它到底能帮你做什么
动手之前,先把预期立稳。这是一款"能用、免费、开源"的本地备份工具,价值在于把官方一直没做的事交还到用户手里。
| 维度 | 说明 |
|---|---|
| ✅ 核心能力 | 无需越狱,读取 iPhone 备份中的微信 Documents 数据,完整解析并导出文字、语音、图片、视频、动画表情等消息;语音自动转码为 mp3;导出结果以本地网页形式呈现 |
| ✅ 适合人群 | 想永久保存家庭群聊、恋爱记录的个人用户;需要归档客户沟通、项目记录的商务人士;需要留存聊天证据的研究型用户 |
| ✅ 不适合谁 | 想直接导出安卓手机数据的人(需先把记录迁到 iPad);希望在 Windows 上获得开箱即用体验的人(能用但未适配,需自行折腾);追求"一键全自动"的零代码用户 |
一句话概括:这是一款"半小时上手、永久保存、完全本地"的微信数据归档工具。

二、破除误解:写给新手的 3 句话
很多人在 README 面前打了退堂鼓,其实大部分顾虑都是误会。
误解一:"工具是直接读取我手机里的微信?"不是。工具本身不碰手机,它只读取你电脑上已有的微信数据文件。你的手机从头到尾不需要越狱、不需要解锁,安全性有保证。
误解二:"必须会写代码才能跑起来?"不需要。你只需要会执行几条命令、会点按钮。真正的难点——SQLite 模块编译——项目已经替你解决了(下文会讲到"懒人通道")。
误解三:"导出一次就完事,以后看不了?"导出完成后,工具会生成一个完整的 output 目录,之后想查看聊天记录,直接进入"显示聊天记录"页面填入目录即可,无需重新解析,秒开。
三、一条主线实操:从 0 到 1 完成第一次完整导出
整个流程可以压缩成一句话:不加密的 iTunes 备份 → 用 iMazing 取出微信 Documents → 装好 Node.js 与 NW.js → 跑起工具解析导出 → 在本地网页里慢慢回味。我们按这条主线分五步走,每一步都标注"预期结果",让你随时确认自己走对了没有。
第一步:做一次不加密的 iTunes 整机备份
把 iPhone 连上电脑,打开 iTunes,选择"立即备份"。这一步有一个必须牢记的红线:
⚠️千万不要勾选"加密本地备份"。一旦加密,后面的工具将无法读取数据文件。这是新手最常踩的第一个坑,没有之一。
预期结果:iTunes 界面显示备份完成,备份文件里包含了微信 App 的全部数据。
第二步:用 iMazing 提取微信的 Documents 文件夹
iTunes 备份是整机级别的,而 WeChatExporter 只需要微信那一部分。用 iMazing 这类第三方工具打开备份,定位微信应用,把它的Documents 文件夹完整导出到电脑上,存到哪都行,记住路径即可。

预期结果:你得到了一个 Documents 文件夹,里面有几个 32 位 MD5 命名的子文件夹(对应登录过的不同微信账号),每个账号下还有 DB、Audio、Img、Video 等子目录。其中DB/MM.sqlite就是聊天记录的"总账本",工具的核心工作就是解析它。
💡 如果你用的是安卓机也别灰心:先把聊天记录迁移到 iPad,再按同样的流程导出即可。
第三步:装环境、拉代码,15 分钟让工具站起来
WeChatExporter 基于 Node.js 开发,跑在 NW.js(node-webkit)桌面容器里,所以两样都要装。版本号不是随便写的——它们和预编译的 SQLite 模块严格对应:
| 组件 | 作用 | 推荐版本 |
|---|---|---|
| Node.js | 项目运行与依赖管理 | 8.11.3 或 10.16.3 |
| NW.js | 桌面应用运行环境 | 0.32.1 或 0.40.1 |
拉取项目并安装依赖:
git clone https://gitcode.com/gh_mirrors/wec/WeChatExporter cd WeChatExporter/development npm install重点来了,这是全流程最容易劝退的一步。项目里的 sqlite3 需要针对 NW.js 重新编译,过程相当折磨人(要装 Xcode、配 node-gyp、指定 Python 2.7 路径……)。但懒人福音是:项目仓库的development/framework/目录下已经放好了编译好的node_sqlite3.node文件,两个版本二选一:
node-webkit-v0.32.1-darwin-x64对应 nodejs 8.11.3 + nwjs 0.32.1node-webkit-v0.40.1-darwin-x64对应 nodejs 10.16.3 + nwjs 0.40.1
把对应版本的文件夹整个拷贝到node_modules/sqlite3/lib/binding/目录下,一步到位,直接跳过编译地狱。
启动工具:
npm start或者手动指定 NW.js 可执行文件:
/path/to/nw/nwjs.app/Contents/MacOS/nwjs .预期结果:桌面上弹出"微信备份"主界面窗口,说明环境这关已经通关。
第四步:选择账号与聊天对象,生成导出数据
进入界面后点击"开始原始数据分析",选择之前导出的 Documents 文件夹。左上角会列出这台手机上登录过的所有微信账号(以 MD5 命名),点选任意一个,左下角立刻出现与你聊过天的联系人列表。
📌 小细节:列表默认只显示聊天消息总数超过 100 条的联系人或群聊,冷门对话会被自动隐藏,界面更清爽。
点击左下角任意聊天对象,右侧会实时预览最近 10 条记录,帮你确认"没选错人"。确认无误后,右上角会出现"某某与某某的聊天记录"红色提示,点击进入下一步。
在导出设置页里需要填两项:
- 数据导出目录:导出的文件放哪里
- 日期区间:只导出某段时间的聊天;不填则导出全部
点击"开始生成数据",工具会逐条处理消息:图片原图与缩略图分开归档、语音调用 silk 解码器转成 mp3、视频与缩略图也一并搬运。
预期结果:指定目录下生成一个完整的 output 文件夹,此后 Documents 目录就没用了,可以删除。
第五步:回到主页,翻阅你的"数字记忆"
回到工具主页,选择"显示聊天记录",填入刚才的 output 目录,一份完整的聊天记录就在眼前了:文字、语音(带播放条)、图片、视频一应俱全,界面模拟真实的聊天窗口,还支持点击图片放大查看。

预期结果:你能像翻微信一样回看过去的对话,此后随时进入"显示聊天记录"页面即可,不需要重新解析。
它能导出的消息类型,一张表看明白
| 消息类型 | 导出表现 |
|---|---|
| 文字消息 | 完整保留,可显示 QQ 表情 |
| 图片消息 | 原图 + 缩略图,点击可放大 |
| 语音消息 | 自动转码为 mp3,网页内直接播放 |
| 视频/小视频 | 保留 mp4 原文件,支持内嵌播放 |
| 动画表情 | 占位显示 |
| 分享链接 | 占位显示 |
| 位置/名片 | 占位显示 |
| 语音/视频通话 | 占位显示 |
| 系统消息 | 占位显示(如撤回提示) |
诚实地说,占位类型目前不展开正文,这是项目作者在 README 里也坦承的"不完善之处",但完全不影响核心的文字、图片、语音、视频备份价值。
四、深入一步:把备份变成习惯的自动化脚本
手动备份一次容易,坚持备份很难。把"备份"变成定时任务,才是真正意义上的数据保护。思路很简单:写一个 shell 脚本,固定好数据源(Documents 目录)和输出目录,每次运行自动完成"执行导出 → 验证结果 → 压缩归档"三步,再挂到 cron 定时执行。
#!/bin/bash # wechat_backup.sh - 微信备份自动化脚本 DOC_DIR="$HOME/WeChatDocuments" # 你的 Documents 数据源 OUT_DIR="$HOME/WeChatOutput" # 导出工具的输出目录 ARCHIVE_DIR="$HOME/WeChatArchives" # 归档存放处 DATE=$(date +%Y%m%d) # 1. 确保输出目录存在 mkdir -p "$ARCHIVE_DIR" # 2. 检查数据源是否完整(核心数据库必须在) if [ ! -f "$DOC_DIR/DB/MM.sqlite" ]; then echo "[错误] 未找到 MM.sqlite,请检查数据源路径" >> backup.log exit 1 fi # 3. 用工具生成数据(此处填入你手动导出的 output 目录路径) # 若工具支持命令行调用,可在此处替换为实际命令 # 4. 验证产物并压缩归档 if [ -d "$OUT_DIR" ]; then tar -czf "$ARCHIVE_DIR/wechat_$DATE.tar.gz" -C "$OUT_DIR" . echo "[成功] 备份完成:$ARCHIVE_DIR/wechat_$DATE.tar.gz" >> backup.log else echo "[失败] 输出目录不存在,请检查导出步骤" >> backup.log exit 1 fi然后挂到 cron,比如每周日凌晨 3 点执行:
crontab -e 0 3 * * 0 /path/to/wechat_backup.sh核心就一句话:让机器替你记得备份这件事。脚本的具体逻辑可根据你的目录结构微调,但"执行 → 验证 → 归档"三步闭环的思路是通用的。
五、疑难杂症自查表:遇到报错先别慌
按下面的表格逐项排查,多数问题都能自己解决。
| 报错现象 | 常见原因 | 解决办法 |
|---|---|---|
| 报错出现 xcodebuild / Xcode 字样 | 走了源码编译路线,系统没装 Xcode | 装好 Xcode 后执行sudo xcodebuild -license,按空格翻完协议输入agree;最省事的是直接用仓库里预编译的node_sqlite3.node绕开编译 |
| 提示无法读取备份文件 | 九成是 iTunes 备份被加密了 | 重新做一次不勾选"加密本地备份"的备份,再走一遍流程 |
| 导出过程卡住或界面无响应 | 磁盘空间不足;内存被其他程序占满 | 检查磁盘剩余空间(语音转码和图片搬运很吃空间);关掉其他大内存程序;重启工具换个输出目录再试 |
| 导出的语音播不了 | 语音没有成功转码为 mp3 | 先确认 output 目录的audio文件夹里有没有 mp3;再检查 silk 解码器四件套是否完整(converter.sh、ffmpeg、silk/decoder、silk/libSKP_SILK_SDK.a,缺一不可) |
| 其他疑难杂症 | 最常见病因是"版本不符" | 软件右上角【工具】→【导出运行日志】,会导出系统版本、Node 版本、NW.js 版本、sqlite3 绑定目录等信息,把日志连同问题描述一起反馈给开发者 |
六、技术架构速览:为什么它这么轻快
WeChatExporter 的架构很"古典"但很扎实,技术型读者一眼就能看透:
WeChatExporter/development ├── index.html + templates/ # AngularJS 模板:首页、聊天列表、聊天详情 ├── js/ │ ├── app.js # AngularJS 模块与路由(UI-Router) │ ├── controller/ # chatList / chatDetail 控制器 │ ├── directive.js / filter.js # 自定义指令与过滤器 │ └── funcs.js # 工具函数(时间戳、MD5、昵称解码) ├── framework/ # 预编译 SQLite 模块 + silk 语音解码器 ├── css/ # Bootstrap 3 + QQ 表情样式 └── package.json # 依赖与 npm start 脚本| 层 | 技术选型 | 职责 |
|---|---|---|
| 前端 | AngularJS + Bootstrap + UI-Router | 界面交互与路由 |
| 后端 | Node.js + Express | 文件系统操作与数据解析 |
| 数据库 | SQLite3 | 读取微信 MM.sqlite 并重建为新的 data.sqlite |
| 桌面容器 | NW.js(node-webkit) | 让 Web 技术栈跑成桌面应用 |
| 构建 | Grunt + nw-builder | 打包分发 |
因为完全开源,你可以按需改造:模板在development/templates/、控制器在development/js/、样式在development/css/。想加新消息类型、适配 Windows、支持导出 HTML 静态包,都有现成的扩展点。
写在最后:备份不是选项,是责任
微信聊天记录里藏着的,是家人的叮嘱、朋友的玩笑、工作上的重要决策,以及那些再也无法复制的瞬间。WeChatExporter 的价值不在于功能多么炫酷,而在于它把"导出聊天记录"这件官方一直没做的事,用免费开源的方式交还到了用户手里。花半小时按本文走一遍流程,你就拥有了一份永不丢失的数字记忆副本。
重要提醒:请仅将本工具用于个人合法数据的备份,尊重他人隐私,切勿尝试导出他人聊天记录。所有数据都在本地处理,建议用加密容器存放备份,并遵循"3-2-1"原则:3 份副本、2 种介质、1 份离线。定期备份,让每一段对话都能穿越时间。
【免费下载链接】WeChatExporter一个可以快速导出、查看你的微信聊天记录的工具项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考