点点鼠标,轻松导出微信聊天记录
功能特性 • 快速开始 • 安装指南 • 使用教程 • 技术架构 • 常见问题
WeChatExporterGUI 是一个专为 macOS 用户设计的微信聊天记录导出工具图形界面。它让完全不懂编程的"小白"用户也能通过简单的点击操作,将微信聊天记录导出为结构化的 JSONL 格式。
本项目是 wechat-insight 的图形界面封装,解决了原工具需要命令行操作的门槛问题。
| 特性 | 命令行工具 | WeChatExporterGUI |
|---|---|---|
| 操作难度 | 需要记忆命令 | ✅ 点点鼠标即可 |
| 环境配置 | 手动处理依赖 | ✅ 一键自动修复 |
| 错误排查 | 看终端输出 | ✅ 图形化诊断报告 |
| 多选导出 | 手动输入名称 | ✅ 列表勾选 |
| 实时预览 | 无 | ✅ 导出前预览 |
- 🖱️ 图形界面操作 - 无需命令行,点点鼠标就能用
- 🔍 智能搜索筛选 - 支持群聊/联系人搜索,快速定位
- 📅 时间范围选择 - 支持 7天/30天/90天/全部 时间筛选
- 🎯 精准导出 - 可选择特定群聊或联系人导出
- 🔧 一键修复 - 自动检测并安装缺失依赖
- 📊 详细诊断 - 启动时显示完整环境检查报告
- 💾 自定义目录 - 自由选择导出文件保存位置
- 🚀 异步加载 - 数据加载不卡顿,体验流畅
- 操作系统: macOS 10.15 (Catalina) 或更高版本
- 芯片架构: Apple Silicon (M1/M2/M3) 或 Intel
- Python: 3.9 或更高版本
- 前置依赖: wechat-insight 已安装并配置
# 克隆仓库
git clone https://github.com/choosemoon/WeChatExporterGUI.git
cd WeChatExporterGUI
# 启动图形界面
bash start_gui.sh1. 确保 wechat-insight 已安装并运行过 setup
2. 运行 bash start_gui.sh 启动 GUI
3. 查看诊断报告,如有缺失依赖点击「一键修复」
4. 等待群聊/联系人列表加载
5. 选择要导出的内容,点击「开始导出」
在使用 WeChatExporterGUI 之前,您需要先安装并配置 wechat-insight:
# 安装 wechat-insight
git clone https://github.com/caigee-cmd/wechat-insight.git ~/Desktop/wechat-insight
cd ~/Desktop/wechat-insight
# 创建虚拟环境并安装依赖
python3 -m venv .venv
source .venv/bin/activate
pip install pycryptodome zstandard
# 提取微信数据库密钥(只需执行一次)
./wechat-insight setup- 下载最新版本的 WeChatExporterGUI.zip
- 解压到任意目录
- 运行
bash start_gui.sh
# 克隆仓库
git clone https://github.com/choosemoon/WeChatExporterGUI.git
cd WeChatExporterGUI
# 启动
bash start_gui.sh┌─────────────────────────────────────────────────────────────────┐
│ 💬 微信聊天记录导出工具 v3.0 │
├──────────────────────────┬──────────────────────────────────────┤
│ │ │
│ 📱 群聊列表 │ 📅 时间范围: │
│ ┌────────────────────┐ │ ○ 最近7天 ○ 最近30天 │
│ │ 🔍 搜索群聊... │ │ ○ 最近90天 ● 全部 │
│ └────────────────────┘ │ │
│ ☑️ 爱创社1群 (1,234条) │ 📄 导出格式: JSONL │
│ ☑️ 技术交流群 (567条) │ │
│ ☐ 家庭群 (89条) │ 📁 导出到: │
│ │ ┌────────────────────────────┐ │
│ 👤 联系人列表 │ │ ~/Desktop/微信导出 [选择] │ │
│ ┌────────────────────┐ │ └────────────────────────────┘ │
│ │ 🔍 搜索联系人... │ │ │
│ └────────────────────┘ │ ┌──────────┐ ┌──────────┐ │
│ 👤 张三 (45条) │ │ 一键修复 │ │ 开始导出 │ │
│ 👤 李四 (12条) │ └──────────┘ └──────────┘ │
│ │ │
│ 共 15 个群聊 │ 📋 诊断信息 / 导出预览 │
│ 共 128 个联系人 │ ┌────────────────────────────┐ │
│ │ │ ✅ 环境检查通过 │ │
│ │ │ ✅ pycryptodome 已安装 │ │
│ │ │ ✅ zstandard 已安装 │ │
│ │ │ ✅ 密钥文件存在 (92个密钥) │ │
│ │ │ │ │
│ │ │ 已选择 2 个群聊 │ │
│ │ │ 点击「开始导出」进行导出 │ │
│ │ └────────────────────────────┘ │
└──────────────────────────┴──────────────────────────────────────┘
cd ~/WeChatExporterGUI
bash start_gui.sh启动脚本会自动:
- 查找系统中可用的 Python + Tkinter
- 检查 wechat-insight 环境
- 验证依赖完整性
- 启动图形界面
程序启动后会自动进行环境检查,显示诊断报告:
| 检查项 | 状态 | 说明 |
|---|---|---|
| wechat-insight 路径 | ✅ | 已找到 |
| .venv Python | ✅ | Python 3.11.4 |
| CLI 脚本 | ✅ | wechat_insight_cli.py 存在 |
| 密钥文件 | ✅ | 已提取 92 个密钥 |
| pycryptodome | ❌ | 未安装 |
| zstandard | ✅ | 已安装 |
如果有依赖缺失,点击 「一键修复」 按钮自动安装。
- 选择群聊:在左侧群聊列表中勾选(按住 Cmd 可多选)
- 选择联系人:在联系人列表中勾选
- 搜索筛选:使用搜索框快速定位
- 时间范围:选择 7天/30天/90天/全部
- 导出目录:点击「选择」按钮更改保存位置
点击 「开始导出」 按钮,等待导出完成。导出文件将保存在指定目录,格式为 JSONL。
┌─────────────────────────────────────────────────────────┐
│ WeChatExporterGUI │
│ (Tkinter GUI Layer) │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐ │
│ │ 群聊列表 │ │ 联系人列表 │ │ 诊断/预览面板 │ │
│ │ (Listbox) │ │ (Listbox) │ │ (ScrolledText) │ │
│ └─────────────┘ └─────────────┘ └─────────────────┘ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐ │
│ │ 搜索框 │ │ 设置面板 │ │ 一键修复按钮 │ │
│ │ (Entry) │ │ (Frame) │ │ (Button) │ │
│ └─────────────┘ └─────────────┘ └─────────────────┘ │
└─────────────────────────┬───────────────────────────────┘
│ subprocess
▼
┌─────────────────────────────────────────────────────────┐
│ WeChatInsightBackend │
│ (Python subprocess wrapper) │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐ │
│ │ 依赖检查 │ │ 自动安装 │ │ CLI 调用 │ │
│ │ check_deps │ │ pip install │ │ run_command │ │
│ └─────────────┘ └─────────────┘ └─────────────────┘ │
└─────────────────────────┬───────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ wechat-insight (.venv Python) │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐ │
│ │ pycryptodome│ │ zstandard │ │ wechat_insight │ │
│ │ (AES解密) │ │ (zstd解压) │ │ _cli.py │ │
│ └─────────────┘ └─────────────┘ └─────────────────┘ │
└─────────────────────────────────────────────────────────┘
后端管理器,负责与 wechat-insight 通信:
class WeChatInsightBackend:
"""
核心职责:
1. 自动发现 wechat-insight 安装路径
2. 管理 .venv Python 环境
3. 检查和安装依赖(pycryptodome + zstandard)
4. 通过 subprocess 调用 CLI 命令
"""| 层级 | Python 环境 | 用途 | 依赖 |
|---|---|---|---|
| GUI 层 | Homebrew Python 3.13+ | 运行 Tkinter 界面 | Tk 8.6+ |
| 后端层 | wechat-insight .venv | 执行导出命令 | pycryptodome, zstandard |
这种设计解决了 macOS 上 Python 环境的复杂性,确保 GUI 和导出功能都能正常工作。
WeChatExporterGUI
├── Python 3.9+ (系统自带或 Homebrew)
├── Tkinter (Python 标准库)
└── wechat-insight (外部依赖)
├── Python 3.9+ (虚拟环境)
├── pycryptodome >= 3.20
└── zstandard >= 0.23
原因: WeChatExporterGUI 找不到 wechat-insight 的安装目录。
解决: 确保 wechat-insight 安装在以下位置之一:
~/Desktop/wechat-insight~/wechat-insight
原因: 可能是网络问题或 pip 源问题。
解决: 手动安装依赖:
cd ~/Desktop/wechat-insight
source .venv/bin/activate
pip install pycryptodome zstandard -i https://pypi.tuna.tsinghua.edu.cn/simple原因: wechat-insight 的虚拟环境中缺少 pycryptodome。
解决: 在 GUI 中点击「一键修复」按钮,或手动安装:
~/Desktop/wechat-insight/.venv/bin/pip install pycryptodome排查步骤:
- 检查是否至少选中了一个群聊或联系人
- 查看诊断面板是否有错误信息
- 检查导出目录是否有写入权限
回答: WeChatExporterGUI 目前只支持 JSONL 格式,这是 wechat-insight 的原生输出格式。您可以使用其他工具将 JSONL 转换为 HTML/CSV。
回答: 目前仅支持 macOS,因为 wechat-insight 依赖 macOS 特有的微信数据库结构和 Frida 注入机制。
我们欢迎所有形式的贡献!请查看 CONTRIBUTING.md 了解如何:
- 报告 Bug
- 建议新功能
- 提交代码
- 完善文档
本项目采用 MIT 许可证 开源。
MIT License
Copyright (c) 2026 WeChatExporterGUI Contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction...
- wechat-insight - 底层微信数据提取工具
- pycryptodome - Python 加密库
- zstandard - Zstd 压缩库
Made with ❤️ for macOS users