WA Chat Exporter Pro
WhatsApp Web 聊天批量导出 Chrome 扩展 — 深度滚动 + 双语浮窗 + 暗色模式 + 可靠下载
功能
- 深度滚动侧边栏加载对话列表(默认目标 800 条,可自定义)
- 单对话向上滚动加载历史消息(默认目标 90 条,可自定义)
- 中英文双语切换(面板右上角 EN/中 按钮)
- 暗色模式
- 可拖拽浮动面板 + 最小化
- 滚动停止 / 导出暂停/停止
- 实时双进度条(总进度 + 当前对话进度)
- 统计卡片(已加载对话数 / 已提取消息数)
- 设置持久化(localStorage 记忆所有参数)
- MutationObserver 自动发现新对话
- 四种导出格式:Markdown / TXT / CSV / JSON
- 合并导出或分文件导出
- 多媒体标注(图片/语音/视频/文档/贴纸)
- 回复引用标注
- 页面内
<a download>下载(无 background.js,无 MV3 限制)
安装
- Chrome 地址栏输入
chrome://extensions/ - 开启右上角「开发者模式」
- 点「加载已解压的扩展程序」,选择本文件夹
- 访问 web.whatsapp.com,面板自动出现在右上角
使用
- 点「Load More」滚动加载对话列表(可随时「Stop Scroll」)
- 勾选目标对话(可搜索筛选)
- 设置滚动参数(列表目标/步长、对话目标/步长、延迟、防卡死轮次)
- 选择格式(Markdown/TXT/CSV/JSON)
- 点「Export」开始导出(可暂停/停止)
- 文件保存到 Chrome 下载目录,通过
chrome://downloads/查看
参数说明
| 参数 | 默认 | 说明 |
|---|---|---|
| List target | 800 | 侧边栏滚动到发现 N 条对话 |
| List step | 800px | 侧边栏每次滚动像素 |
| Chat target | 90 | 单对话加载到 N 条消息 |
| Chat step | 1200px | 对话内每次滚动像素 |
| Delay | 1.5s | 每次滚动后等待 |
| Stall limit | 5 | 连续 N 轮无新增则停止 |
文件结构
wa-chat-exporter-chrome/
├── manifest.json # Manifest V3 配置
├── content.js # 主脚本(注入 WhatsApp Web)
├── background.js # 备用 Service Worker(v5 不依赖)
├── icons/ # 扩展图标
├── generate-icons.py
└── SKILL.md # 本文件
技术要点
- 无 background.js 依赖:v5 直接在页面上下文用
<a download>+Blob下载,绕过 MV3 Service Worker 无 DOM API 的限制 - 纯英文路径:Chrome 加载扩展时路径不可含中文(会报 manifest 解析错误)
- WhatsApp DOM 选择器:兼容多种 WhatsApp Web 版本的选择器组合
- 防卡死机制:stall 轮次 + 安全上限 300 轮