WeChatLog Explorer 是一款专为微信用户设计的聊天记录智能探索工具。它能够帮助你:
- 🔍 智能搜索 - 支持语义搜索和关键词搜索,快速找到历史消息
- 📊 数据分析 - 可视化展示聊天统计数据
- 📤 多格式导出 - 支持 JSON、CSV、HTML、TXT 格式导出
- 💻 跨平台 - 支持 Windows、macOS、Linux
- 🔒 完全本地 - 所有数据处理在本地完成,保护隐私
微信作为中国最流行的即时通讯工具,承载了 billions of users 的珍贵回忆。然而,官方并未提供完善的聊天记录导出和搜索功能。本项目旨在填补这一空白,让用户能够真正"拥有"自己的聊天数据。
- 纯本地语义搜索 - 无需调用外部 AI API,使用 TF-IDF + 余弦相似度实现智能搜索
- 零配置运行 - 一键启动,无需复杂的环境配置
- 现代化 Web 界面 - 简洁美观的界面设计,还原微信聊天体验
- 多格式支持 - 自动识别 JSON、CSV、HTML 等多种聊天记录格式
- 中文分词优化 - 集成 jieba 分词,针对中文搜索特别优化
- ✅ 支持 JSON 格式聊天记录导入
- ✅ 支持 CSV 格式聊天记录导入
- ✅ 支持 HTML 格式聊天记录导入
- ✅ 批量导入整个目录
- ✅ 自动识别消息格式并标准化
- ✅ 语义搜索 - 输入描述性语句,如"上周的聚餐安排"
- ✅ 关键词搜索 - 精确匹配关键词
- ✅ 混合搜索 - 智能结合语义和关键词
- ✅ 搜索结果排序 - 按相关度排序
- ✅ 搜索高亮 - 显示匹配度百分比
- ✅ 聊天记录浏览 - 按时间线查看消息
- ✅ 聊天列表 - 查看所有聊天会话
- ✅ 数据统计 - 消息数量、联系人统计
- ✅ 增量导入 - 支持重复导入不重复
- ✅ JSON 导出 - 结构化数据格式
- ✅ CSV 导出 - 表格格式,适合数据分析
- ✅ HTML 导出 - 还原微信聊天界面
- ✅ TXT 导出 - 纯文本格式
- ✅ 响应式设计 - 支持桌面和移动端
- ✅ 实时搜索 - 即时显示搜索结果
- ✅ 美观界面 - 现代化 UI 设计
- ✅ RESTful API - 提供完整 API 接口
- Python 3.8 或更高版本
- 2GB 以上可用内存
- 100MB 以上磁盘空间
pip install wechatlog-explorer# 克隆仓库
git clone https://github.com/yourusername/wechatlog-explorer.git
cd wechatlog-explorer
# 安装依赖
pip install -r requirements.txt
# 安装包
pip install -e .wechatlog initwechatlog web访问 http://127.0.0.1:5000 即可使用 Web 界面。
wechatlog import /path/to/chat_history.jsonwechatlog import /path/to/chat_exports/| 格式 | 说明 | 示例 |
|---|---|---|
| JSON | 结构化消息数据 | [{"sender": "张三", "content": "你好"}] |
| CSV | 表格格式 | sender,content,time |
| HTML | 微信网页导出 | 微信网页版聊天记录 |
wechatlog search -q "上周的会议安排"wechatlog search -q "聚餐" -l 10wechatlog search -q "项目进度" -c chat_12345wechatlog export -f json -o backup.jsonwechatlog export -f html -c chat_12345 -o chat_history.htmlwechatlog export -f csv -o messages.csvwechatlog stats输出示例:
📊 数据库统计
总消息数: 15,234
聊天会话: 42
联系人: 128
时间范围: 2023-01-15 ~ 2025-05-08
📋 聊天列表:
- 家人群: 3,456 条消息
- 工作群: 2,890 条消息
- 张三: 1,234 条消息
| 组件 | 技术 | 选型原因 |
|---|---|---|
| 后端框架 | Flask | 轻量、灵活、社区活跃 |
| 数据库 | SQLite | 零配置、单文件、适合本地应用 |
| 搜索算法 | TF-IDF + 余弦相似度 | 无需外部 API、效果良好 |
| 中文分词 | jieba | 成熟、准确、支持自定义词典 |
| 前端 | 原生 HTML/JS | 无依赖、加载快、易维护 |
WeChatLog Explorer
├── Core Layer (核心层)
│ ├── Database (SQLite 操作)
│ ├── Parser (文件解析)
│ ├── Search (语义搜索)
│ └── Exporter (数据导出)
├── Web Layer (Web 层)
│ ├── Flask App
│ ├── RESTful API
│ └── Web UI
└── CLI Layer (命令行层)
└── Click Commands
- 支持微信数据库直接解密(Windows)
- 图片/视频等多媒体文件关联
- 聊天数据可视化图表
- 按时间范围筛选
- 聊天记录备份自动同步
- 端到端加密存储
- 多用户支持
- 插件系统
- 本地 LLM 集成(可选)
- 智能聊天摘要
- 情感分析
- 跨设备同步
- 更多格式支持 - 支持更多聊天记录导出格式
- UI 主题 - 开发更多界面主题
- 语言支持 - 添加更多语言界面
- 性能优化 - 大数据量下的性能优化
- 测试覆盖 - 补充单元测试和集成测试
pip install pyinstaller
pyinstaller --onefile --name wechatlog main.pypip install pyinstaller
pyinstaller --onefile --windowed --name WeChatLog main.pypip install pyinstaller
pyinstaller --onefile --name wechatlog main.pyFROM python:3.11-slim
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
EXPOSE 5000
CMD ["python", "-m", "wechatlog.web.app"]构建和运行:
docker build -t wechatlog-explorer .
docker run -p 5000:5000 -v $(pwd)/data:/data wechatlog-explorer我们欢迎所有形式的贡献!
- 使用清晰的标题描述问题
- 提供复现步骤
- 附上错误日志
- 说明运行环境
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送分支 (
git push origin feature/AmazingFeature) - 创建 Pull Request
- 遵循 PEP 8 规范
- 添加必要的注释
- 编写单元测试
- 更新文档
本项目采用 MIT License 开源协议。
MIT License
Copyright (c) 2025 WeChatLog Explorer
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...
- jieba - 中文分词库
- scikit-learn - 机器学习库
- Flask - Web 框架
- Click - CLI 框架