综合介绍
Chatlog 是一个开源工具,专注于从微信本地数据库提取和查询聊天记录。它支持微信 3.x 和 4.0 版本,覆盖 Windows 和 macOS 系统。用户可以通过命令行、终端界面或 HTTP API 操作,查看聊天记录、联系人、群聊和最近会话。Chatlog 还支持 MCP SSE 协议,可与 AI 助手(如 ChatWise)集成,快速分析聊天数据。项目基于 Apache-2.0 许可,代码公开,安全可靠,适合需要整理或分析微信数据的用户。
功能列表
- 从微信本地数据库提取聊天记录、联系人、群聊和最近会话。
- 支持微信 3.x 和 4.0 版本,兼容多种数据格式。
- 提供终端界面(TUI)和命令行工具,操作直观。
- 内置 HTTP API,支持查询聊天记录、联系人、群聊等信息。
- 支持 MCP SSE 协议,与兼容的 AI 助手无缝连接。
- 提供数据解密功能,确保用户能安全访问本地数据。
- 开源代码,用户可检查安全性或自定义功能。
使用帮助
Chatlog 的目标是让用户轻松提取和查询微信聊天记录。以下是详细的安装和使用指南,帮助用户快速上手。
安装流程
Chatlog 需要一定的技术操作,适合有基础的用户。以下是安装步骤:
- 准备环境
确保电脑已安装以下软件:- Go:推荐最新版本,安装方法见 Go 官网。
- Xcode(macOS 用户):从 App Store 下载,用于密钥提取。
- 微信客户端:确保已安装并登录,聊天记录需迁移到电脑。
- 从源码安装
打开终端,运行以下命令安装 Chatlog:go install github.com/sjzar/chatlog@latest
安装完成后,Chatlog 可通过命令行直接运行。
- 下载预编译版本
如果不想从源码编译,可访问 GitHub Releases,下载适合你系统的预编译版本(如 Windows 或 macOS)。下载后解压即可使用。 - macOS 用户关闭 SIP
macOS 系统因安全限制,提取密钥时需临时关闭 SIP。步骤如下:- 进入恢复模式:
- Intel Mac:关机后按住
Command + R
键开机,直到出现苹果标志。 - Apple Silicon Mac:关机后按住电源键,直到看到启动选项。
- Intel Mac:关机后按住
- 打开终端,输入:
csrutil disable
- 重启系统:
sudo reboot
- 提取密钥后,建议重新启用 SIP(运行
csrutil enable
并重启)。
- 进入恢复模式:
- 迁移微信聊天记录
在手机微信中操作:- 打开“我 - 设置 - 通用 - 聊天记录迁移与备份 - 迁移 - 迁移到电脑”。
- 按照提示将聊天记录传输到电脑微信客户端。此操作不会影响手机数据。
主要功能操作
Chatlog 提供多种方式管理微信聊天数据,以下是核心功能的使用方法:
- 提取和解密数据
运行 Chatlog 后,程序会提示输入微信数据库路径(通常在 macOS 的~/Library/Containers/com.tencent.xinWeChat/Data/Library/Application Support/com.tencent.xinWeChat/
或 Windows 的微信安装目录)。输入路径后,运行以下命令解密数据:./chatlog decrypt
解密后的数据可用于查询或展示。
- 终端界面(TUI)操作
启动终端界面:./chatlog
操作方法:
- 使用方向键导航菜单。
- 按
Enter
选择选项。 - 按
Esc
返回上一级。 - 按
Ctrl+C
退出程序。
终端界面显示聊天记录、联系人等信息,适合快速查看。
- 命令行查询
获取微信数据密钥:./chatlog key
查询特定数据(如聊天记录):
./chatlog decrypt
命令行适合批量操作或脚本处理。
- HTTP API 使用
启动 HTTP 服务(默认端口 5030):./chatlog
通过浏览器访问
http://127.0.0.1:5030
查看数据,或使用 API 查询:- 聊天记录:
GET /api/v1/chatlog?time=2023-01-01&talker=wxid_xxx&limit=100&offset=0&format=json
参数说明:
time
:时间范围,如2023-01-01
或2023-01-01~2023-12-31
。talker
:聊天对象 ID,支持微信 ID、昵称或群聊 ID。limit
:返回记录数量。offset
:分页偏移量。format
:输出格式(json
、csv
或文本)。
- 联系人列表:
GET /api/v1/contact
- 群聊列表:
GET /api/v1/chatroom
- 最近会话:
GET /api/v1/session
- 聊天记录:
- 浏览器查看
启动 HTTP 服务后,打开浏览器访问http://127.0.0.1:5030
。页面展示聊天记录、联系人等内容,支持按时间或对象排序,操作直观。
特色功能操作
Chatlog 的独特之处在于其开源设计和 AI 集成,以下是特色功能详情:
- MCP SSE 协议集成
Chatlog 支持 MCP SSE 协议,可与 AI 助手(如 ChatWise、Claude)连接。设置步骤:- 启动 Chatlog 的 HTTP 服务。
- 在 AI 助手设置中添加新工具:
- 类型:
sse
。 - URL:
http://127.0.0.1:5030/sse
。 - 勾选“自动执行工具”。
- 类型:
- 配置完成后,AI 助手可直接查询聊天记录。例如,在 ChatWise 中输入“查找昨天和小明的聊天”,助手会返回对应记录。
- 如果 AI 工具不支持 MCP SSE,可使用 mcp-proxy 转发请求。例如,在 Claude Desktop 中编辑
config.json
:{ "mcpServers": { "mcp-proxy": { "command": "/path/to/mcp-proxy", "args": ["http://localhost:5030/sse"], "env": {} } } }
- 开源与自定义
Chatlog 基于 Apache-2.0 许可,代码公开,用户可检查安全性或修改功能。例如:- 添加新的导出格式(如 CSV):
- 编辑
src/export.go
,增加导出逻辑。 - 运行
go build
重新编译。
- 编辑
- 优化查询速度:
- 修改
src/query.go
,调整数据库索引。
开源设计让用户可以根据需求扩展功能。
- 修改
- 添加新的导出格式(如 CSV):
补充功能(官方说明中提及但原介绍缺失)
- 支持多系统
Chatlog 兼容 Windows 和 macOS,操作流程一致,确保跨平台用户都能使用。 - 计划功能(TODO)
根据官方说明,Chatlog 未来将支持:- 多媒体数据(如图片、语音)提取。
- 聊天数据全文索引,加快搜索速度。
- 数据统计仪表盘,展示消息频率、关键词等分析结果。
这些功能尚未上线,但显示了项目的持续改进方向。
注意事项
- 数据安全:Chatlog 仅处理本地数据,不会上传网络。用户可通过 GitHub 检查代码,确认安全性。
- SIP 操作:macOS 用户仅在提取密钥时需关闭 SIP,完成后应重新启用。
- 微信版本:确保微信客户端为 3.x 或 4.0 版本,其他版本可能不兼容。
- 备份数据:建议定期备份微信数据库文件,防止意外丢失。
通过以上步骤,用户可以轻松安装 Chatlog,提取聊天记录,或通过 API 和 AI 助手分析数据。
应用场景
- 整理聊天记录
用户想保存与好友或群聊的微信消息,Chatlog 能提取并整理记录,方便归档或导出。 - 群聊管理
群聊消息过多时,Chatlog 可快速查询特定成员的发言或关键词,适合群管理员使用。 - 数据分析
开发者需要统计聊天频率或关键词,Chatlog 的 HTTP API 提供结构化数据,适合研究或报告。 - AI 协作
用户希望通过 AI 助手查找聊天内容,Chatlog 的 MCP SSE 支持让 AI 能直接读取和分析数据。
QA
- Chatlog 支持哪些系统?
支持 Windows 和 macOS,兼容微信 3.x 和 4.0 版本。 - 如何确保数据安全?
Chatlog 是开源工具,数据仅在本地处理,代码可公开检查,不会上传网络。 - macOS 为什么需要关闭 SIP?
微信的安全机制限制了密钥提取,关闭 SIP 是临时操作,完成后可重新启用。 - API 支持哪些数据查询?
支持聊天记录、联系人、群聊和最近会话查询,格式包括 JSON 和 CSV。 - 如何与 AI 助手集成?
启动 Chatlog 的 SSE 服务,配置 AI 助手的工具 URL 为http://127.0.0.1:5030/sse
即可。