什么是 Chatlog?
Chatlog 是由 sjzar 基于 Go 语言开发的开源跨平台工具。它的核心价值在于 将本地数据库中碎片化的微信聊天记录,转化为可搜索、可调用的结构化数据。
该项目兼容 Windows 与 macOS 系统,支持微信 3.x 及 4.0 版本客户端。用户无需 root 或越狱即可完成消息文件的读取与解密。Chatlog 提供了灵活的交互方式:既可以通过 Terminal UI 直接浏览记录,也可以利用 CLI 和 HTTP API 为第三方应用或自动化脚本提供数据支撑。
核心功能特性
数据自动化处理
- 快速发现:自动扫描系统默认路径并识别多账号数据目录,用户仅需点选即可完成账号绑定与切换。
- 深度解密:内置 Key 提取与数据库解密机制,支持对图片、语音、视频等加密附件进行实时解码,直接返回可浏览的文件流。
灵活的输出接口
- REST API:支持对单条消息、联系人详情、群聊列表及最近会话进行结构化查询。
- SSE Endpoint:遵循 MCP (Model Context Protocol) 协议推送增量数据,可与支持 MCP 的 AI 助手无缝对接,赋予 AI 实时对话上下文能力。
多模态交互界面
- TUI 模式:提供类邮箱的键盘操作体验,适合快速查阅。
- CLI 模式:适配 DevOps 场景与自动化脚本调用。
快速上手指南
- 安装部署:前往 GitHub Release 页面下载预编译包,或使用 Go 环境执行
go install github.com/sjzar/chatlog@latest。 - 启动运行:在终端输入
chatlog,默认进入 TUI 界面。 - 执行解密:在菜单中选择“解密数据”,程序将自动解析
key.sqlite。 - 开启服务:启用“HTTP 服务”后,程序默认监听
127.0.0.1:8080。 - 数据调用:
- REST 请求:
GET /message?id=... - SSE 流:
GET /sse - 多媒体资源:通过
/image/{id}、/voice/{id}或/file/{id}获取。
- REST 请求:
适用场景
- 个人知识库构建:将历史聊天记录导入 Obsidian 或 Logseq 等笔记软件,实现语义化检索与数据洞察。
- 企业合规审计:快速提取业务群聊记录,将其转化为可归档的 PDF 或报表,用于售后纠纷处理或谈判记录追溯。
- AI 语境增强:通过 MCP SSE 将聊天流接入 ChatGPT 或 Claude 等大模型,打造具备“即时语境”的 AI 助手,实现自动会议纪要或情绪分析。
注意事项
- macOS 用户:在提取密钥前,建议临时关闭 SIP 以确保数据能完整读取。
- Windows 用户:若出现界面排版错位,建议使用 Windows Terminal 以获得最佳显示效果。
- 数据补全:若发现桌面端记录不完整,可通过微信电脑版的「从手机迁移聊天记录」功能补全数据库。
资源链接
GitHub 仓库: https://github.com/sjzar/chatlog
预编译包下载: 点击跳转网盘
正文完
