Shen Junzheng 78cce92ce3 x
2025-03-19 13:11:09 +08:00
x
2025-03-19 13:11:09 +08:00
x
2025-03-19 13:11:09 +08:00
x
2025-03-19 13:11:09 +08:00
x
2025-03-19 13:11:09 +08:00
x
2025-03-19 13:11:09 +08:00
x
2025-03-19 13:11:09 +08:00
x
2025-03-19 13:11:09 +08:00
x
2025-03-19 13:11:09 +08:00
2025-03-07 20:37:56 +08:00
x
2025-03-19 13:11:09 +08:00
x
2025-03-19 13:11:09 +08:00
x
2025-03-19 13:11:09 +08:00

Chatlog

Chatlog 是一个聊天记录收集、分析的开源工具,旨在帮助用户更好地利用自己的聊天数据。
目前支持微信聊天记录的解密和查询,提供 Terminal UI 界面和 HTTP API 服务,让您可以方便地访问和分析聊天数据。

功能特点

  • 数据收集:从本地数据库文件中获取聊天数据
  • 终端界面:提供简洁的 Terminal UI方便直接操作
  • HTTP API:提供 API 接口,支持查询聊天记录、联系人和群聊信息
  • MCP 支持:实现 Model Context Protocol可与支持 MCP 的 AI 助手无缝集成
  • 多格式输出:支持 JSON、CSV、纯文本等多种输出格式

安装

从源码安装

go install github.com/sjzar/chatlog@latest

下载预编译版本

访问 Releases 页面下载适合您系统的预编译版本。

快速开始

终端 UI 模式

  1. 启动程序:
./chatlog
  1. 使用界面操作:
    • 使用方向键导航菜单
    • 按 Enter 选择菜单项
    • 按 Esc 返回上一级菜单
    • 按 Ctrl+C 退出程序

命令行模式

获取微信进程密钥:

./chatlog key

解密数据库文件:

./chatlog decrypt --data-dir "微信数据目录" --work-dir "输出目录" --key "密钥" --version 3

HTTP API

启动 HTTP 服务后,可以通过以下 API 访问数据:

聊天记录

GET /api/v1/chatlog?time=2023-01-01&talker=wxid_xxx&limit=100&offset=0&format=json

参数说明:

  • time: 时间范围,格式为 YYYY-MM-DDYYYY-MM-DD~YYYY-MM-DD
  • talker: 聊天对象的 ID不知道 ID 的话也可以尝试备注名、昵称、群聊 ID等
  • limit: 返回记录数量限制
  • offset: 分页偏移量
  • format: 输出格式,支持 jsoncsv 或纯文本

联系人列表

GET /api/v1/contact?format=json

群聊列表

GET /api/v1/chatroom?format=json

会话列表

GET /api/v1/session?limit=100&format=json

MCP 集成

Chatlog 实现了 Model Context Protocol (MCP),可以与支持 MCP 的 AI 助手集成。通过 MCPAI 助手可以:

  1. 查询联系人信息
  2. 获取群聊列表和成员
  3. 检索最近的聊天记录
  4. 按时间和联系人搜索聊天记录

未来规划

Chatlog 希望成为最好用的聊天记录工具,帮助用户充分挖掘自己聊天数据的价值。我们的路线图包括:

  • 多平台支持:计划支持 MacOS 平台的微信聊天记录解密
  • 全文索引:实现聊天记录的全文检索,提供更快速的搜索体验
  • 统计与可视化:提供聊天数据的统计分析和可视化 Dashboard
  • CS 架构:将数据收集和统计分析功能分离,支持将服务部署在 NAS 或家庭服务器上
  • 增量更新:支持聊天记录的增量采集和更新,减少资源消耗
  • 关键词监控:提供关键词监控和实时提醒功能
  • 更多聊天工具支持:计划支持更多主流聊天工具的数据采集和分析

数据安全声明

Chatlog 高度重视用户数据安全和隐私保护:

  • 所有数据处理均在本地完成,不会上传到任何外部服务器
  • 解密后的数据存储在用户指定的工作目录中,用户对数据有完全控制权
  • 建议定期备份重要的聊天记录,并妥善保管解密后的数据
  • 请勿将本工具用于未经授权访问他人聊天记录等非法用途

贡献

我们欢迎社区的贡献!无论是代码贡献、问题报告还是功能建议,都将帮助 Chatlog 变得更好:

  1. Fork 本仓库
  2. 创建您的特性分支 (git checkout -b feature/amazing-feature)
  3. 提交您的更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开一个 Pull Request

许可证

本项目采用 Apache-2.0 许可证 - 详见 LICENSE 文件。

致谢

Description
chat log tool, easily use your own chat data. 聊天记录工具,轻松使用自己的聊天数据
Readme Apache-2.0 502 KiB
Languages
Go 94.4%
HTML 4.9%
Shell 0.4%
Makefile 0.3%