Skip to content

【开源自荐】chatlog 聊天记录 MCP 工具(支持 Windows / macOS) #6653

New issue

Have a question about this project? No Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “No Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? No Sign in to your account

Open
sjzar opened this issue Apr 18, 2025 · 1 comment
Open
Labels

Comments

@sjzar
Copy link

sjzar commented Apr 18, 2025

大家好,我是 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. 下载安装 chatlog
  2. 运行程序,选择"解密数据"
  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/chatlog

MCP 配置指南:https://github.com/sjzar/chatlog/blob/main/docs/mcp.md

如果对原理感兴趣,可以查看博客文章:https://sarv.blog/posts/chatlog/

瑞思拜~

@eyaeya
Copy link

eyaeya commented Apr 18, 2025

我就是那个产品经理,非常好用,稳定输出,墙裂推荐!

@ruanyf ruanyf added the weekly label Apr 20, 2025
No Sign up for free to join this conversation on GitHub. Already have an account? No Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants