chatlog

chatlog 是一个开源工具,用于解密本地微信聊天记录并提供 API 访问,支持与 AI 助手集成进行查询和分析,完全在本地运行,保护用户数据安全。

大家好,我是 chatlog 的开发者 Sarv。 chatlog 是一个帮助你利用本地聊天记录的工具,我想尝试解决了一个常见问题:我们的聊天记录中包含大量有价值的信息,但这些数据通常很难被有效利用。Image## chatlog 是什么chatlog 是一个开源工具,它可以:1. 解密本地微信数据库文件2. 提供 HTTP API 接口访问聊天记录3. 支持与 AI 助手集成,让聊天记录变得可查询、可分析它支持 Windows 和 macOS 系统,兼容微信 3.x 和 4.0 版本,并且完全在本地运行,不会上传任何数据。## 主要功能- 简洁直观的 Terminal UI 界面:即使不熟悉命令行的用户也能轻松操作,降低使用门槛- 完整的 API:支持查询聊天记录、联系人、群聊、最近会话等信息,为开发者提供灵活的数据访问方式- 多媒体支持:可以解密图片、语音等多媒体消息,让你的历史数据更加完整- 自动解密:实时获取最新的聊天数据,确保信息始终保持更新- 多账号管理:支持在不同账号间切换,满足多账号用户的需求- MCP 协议支持:可与支持 MCP 的 AI 助手无缝集成,释放聊天记录的数据价值## 使用方法使用 chatlog 非常简单:1. 下载安装 chatlog2. 运行程序,选择"解密数据"3. 启动 HTTP 服务4. 通过 API 或 AI 助手访问你的聊天记录## 与 AI 助手集成Chatlog 支持与多种 AI 助手集成,例如 ChatWise、Cherry Studio、Claude Desktop 等,具体的配置步骤,请在 repo 中查看。Image## Prompt 案例有了查询微信聊天记录的 MCP 工具后,我们可以做很多有用的事情。最直接的用途是利用 LLM 总结聊天记录。同样的聊天内容,不同的提示词(Prompt)会产生完全不同的结果。Image(右侧结果的 Prompt,来自群友 @eyaeya 分享:你是一个中文的群聊总结的助手,你可以为一个微信的群聊记录,提取并总结每个时间段大家在重点讨论的话题内容。请帮我将“<talker>”在 <time> 的群聊内容总结成一个群聊报告,包含不多于5个的话题的总结(如果还有更多话题,可以在后面简单补充)。每个话题包含以下内容:- 话题名(50字以内,带序号1️⃣2️⃣3️⃣,同时附带热度,以🔥数量表示)- 参与者(不超过5个人,将重复的人名去重)- 时间段(从几点到几点)- 过程(50到200字左右)- 评价(50字以下)- 分割线: ------------另外有以下要求:1. 每个话题结束使用 ------------ 分割2. 使用中文冒号3. 无需大标题4. 开始给出本群讨论风格的整体评价,例如活跃、太水、太黄、太暴力、话题不集中、无聊诸如此类5. 按热度从高到低排序最后总结下最活跃的前五个发言者。我用 Gemini 2.5 Pro 模型做了测试,发现只要更换 prompt,输出的总结就会有很大差异。这意味着我们可以针对不同需求,定制化处理聊天数据。比如,博主"数字生命卡兹克"就利用聊天记录和特定提示词,直接生成了可视化的 HTML 页面。这是一种非常实用的展示方式。除了简单的总结,我们还可以周期执行总结任务,例如- 从聊天中提取待办事项并同步到笔记软件- 根据聊天记录自动预定会议室并设置提醒- 将重要信息同步给相关团队成员聊天记录分析不仅限于总结。LLM 在处理自然语言方面的能力,使它可以完成很多传统 NLP 任务,比如情感分析。由于 LLM 能够更好地理解上下文,它在处理复杂情感表达时比传统方法更有优势。这些能力可以应用到实际问题上:用户情感画像分析、客户意图识别、商业智能(BI)数据提取,甚至情侣对话分析!## 实际案例### 案例一:从手动到自动某公司有个用印登记群,员工在群里发送各种用印申请。传统做法是由管理员手动阅读这些消息,逐条提取信息,再整理到表格中。现在,他使用 chatlog 配合 LLM,自动从群聊中识别申请信息,提取关键字段,并直接输出 CSV 格式数据。经过几次 prompt 调整后,这套方案已经可以稳定工作,提高了工作效率。### 案例二:优化已有工作流一位产品经理需要从客户群聊中提取产品反馈。他早已使用大语言模型来分析聊天内容,自动总结讨论要点、聚合共性问题、归纳负面反馈并分析客户情绪。但他的工作流程中有个明显的痛点:每次分析前,都需要手动导出聊天记录。这个看似简单的步骤,实际上有些耗时,尤其是群聊比较多的场景。使用 chatlog 后,通过 MCP 工具,聊天数据能够直接传输给 LLM,无需手动导出。这个改变消除了工作流程中的一个摩擦点,让他能够更频繁、更及时地获取分析结果。两个案例都是来自 chatlog 讨论组里群友分享的真实案例,chatlog 本身非常简单,但它解决了数据获取这个关键环节,为后续的智能处理创造了条件。## 数据安全谈到处理个人聊天记录的工具,安全性是第一位的。chatlog 在这方面的策略是:- 开源透明:代码完全开源,任何人都可以审查其安全性,预编译版本来自 GitHub Actions- 本地运行:所有的数据处理都在本地进行- 最小权限:只请求必要的文件访问权限- 回环口 HTTP 服务:默认监听本地回环口地址,同一局域网内的其他用户也无法访问使用 chatlog 配合 LLM 分析聊天记录时,数据会发送给 LLM 服务提供商,这是目前无法避免的。我试过本地模型替代方案,但效果与云端模型相比还有明显差距。## 数据归属通过 chatlog 解密后的数据可以在本地自由查阅检索,这是另一个重要价值。利用微信的迁移功能,你可以将手机上的数据迁移至电脑并解密,从而真正拥有数据的所有权。解密后的数据都是标准的 SQLite 数据库文件,使用 chatlog 工具可以查看检索任意消息。这样做还有一个明显的好处——手机存储空间得到释放,同时历史消息仍然可以随时查阅,不再受客户端限制。## 总结如果你也想更好地利用自己的聊天记录,欢迎试用 chatlog,也欢迎分享你的使用体验和建议,我非常需要大家的推荐和反馈!chatlog 项目于今年 3 月份开始开发,截止目前(4 月 18 日)正好 1 个月,已经在 github 上获得了 1.2k 的 star,十分感谢大家的支持🙏。项目地址:https://github.com/sjzar/chatlogMCP 配置指南:https://github.com/sjzar/chatlog/blob/main/docs/mcp.md如果对原理感兴趣,可以查看博客文章:https://sarv.blog/posts/chatlog/瑞思拜~