AI个人学习
和实操指南

Chatlog:提取和查询微信聊天记录的开源工具

综合介绍

Chatlog 是一个开源工具,专注于从微信本地数据库提取和查询聊天记录。它支持微信 3.x 和 4.0 版本,覆盖 Windows 和 macOS 系统。用户可以通过命令行、终端界面或 HTTP API 操作,查看聊天记录、联系人、群聊和最近会话。Chatlog 还支持 MCP SSE 协议,可与 AI 助手(如 ChatWise)集成,快速分析聊天数据。项目基于 Apache-2.0 许可,代码公开,安全可靠,适合需要整理或分析微信数据的用户。

Chatlog:提取和查询微信聊天记录的开源工具-1


 

功能列表

  • 从微信本地数据库提取聊天记录、联系人、群聊和最近会话。
  • 支持微信 3.x 和 4.0 版本,兼容多种数据格式。
  • 提供终端界面(TUI)和命令行工具,操作直观。
  • 内置 HTTP API,支持查询聊天记录、联系人、群聊等信息。
  • 支持 MCP SSE 协议,与兼容的 AI 助手无缝连接。
  • 提供数据解密功能,确保用户能安全访问本地数据。
  • 开源代码,用户可检查安全性或自定义功能。

 

使用帮助

Chatlog 的目标是让用户轻松提取和查询微信聊天记录。以下是详细的安装和使用指南,帮助用户快速上手。

安装流程

Chatlog 需要一定的技术操作,适合有基础的用户。以下是安装步骤:

  1. 准备环境
    确保电脑已安装以下软件:

    • Go:推荐最新版本,安装方法见 Go 官网。
    • Xcode(macOS 用户):从 App Store 下载,用于密钥提取。
    • 微信客户端:确保已安装并登录,聊天记录需迁移到电脑。
  2. 从源码安装
    打开终端,运行以下命令安装 Chatlog:

    go install github.com/sjzar/chatlog@latest
    

    安装完成后,Chatlog 可通过命令行直接运行。

  3. 下载预编译版本
    如果不想从源码编译,可访问 GitHub Releases,下载适合你系统的预编译版本(如 Windows 或 macOS)。下载后解压即可使用。
  4. macOS 用户关闭 SIP
    macOS 系统因安全限制,提取密钥时需临时关闭 SIP。步骤如下:

    • 进入恢复模式:
      • Intel Mac:关机后按住 Command + R 键开机,直到出现苹果标志。
      • Apple Silicon Mac:关机后按住电源键,直到看到启动选项。
    • 打开终端,输入:
      csrutil disable
      
    • 重启系统:
      sudo reboot
      
    • 提取密钥后,建议重新启用 SIP(运行 csrutil enable 并重启)。
  5. 迁移微信聊天记录
    在手机微信中操作:

    • 打开“我 - 设置 - 通用 - 聊天记录迁移与备份 - 迁移 - 迁移到电脑”。
    • 按照提示将聊天记录传输到电脑微信客户端。此操作不会影响手机数据。

主要功能操作

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:输出格式(jsoncsv 或文本)。
    • 联系人列表
      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,调整数据库索引。
        开源设计让用户可以根据需求扩展功能。

补充功能(官方说明中提及但原介绍缺失)

  • 支持多系统
    Chatlog 兼容 Windows 和 macOS,操作流程一致,确保跨平台用户都能使用。
  • 计划功能(TODO)
    根据官方说明,Chatlog 未来将支持:

    • 多媒体数据(如图片、语音)提取。
    • 聊天数据全文索引,加快搜索速度。
    • 数据统计仪表盘,展示消息频率、关键词等分析结果。
      这些功能尚未上线,但显示了项目的持续改进方向。

注意事项

  • 数据安全:Chatlog 仅处理本地数据,不会上传网络。用户可通过 GitHub 检查代码,确认安全性。
  • SIP 操作:macOS 用户仅在提取密钥时需关闭 SIP,完成后应重新启用。
  • 微信版本:确保微信客户端为 3.x 或 4.0 版本,其他版本可能不兼容。
  • 备份数据:建议定期备份微信数据库文件,防止意外丢失。

通过以上步骤,用户可以轻松安装 Chatlog,提取聊天记录,或通过 API 和 AI 助手分析数据。

 

应用场景

  1. 整理聊天记录
    用户想保存与好友或群聊的微信消息,Chatlog 能提取并整理记录,方便归档或导出。
  2. 群聊管理
    群聊消息过多时,Chatlog 可快速查询特定成员的发言或关键词,适合群管理员使用。
  3. 数据分析
    开发者需要统计聊天频率或关键词,Chatlog 的 HTTP API 提供结构化数据,适合研究或报告。
  4. AI 协作
    用户希望通过 AI 助手查找聊天内容,Chatlog 的 MCP SSE 支持让 AI 能直接读取和分析数据。

 

QA

  1. Chatlog 支持哪些系统?
    支持 Windows 和 macOS,兼容微信 3.x 和 4.0 版本。
  2. 如何确保数据安全?
    Chatlog 是开源工具,数据仅在本地处理,代码可公开检查,不会上传网络。
  3. macOS 为什么需要关闭 SIP?
    微信的安全机制限制了密钥提取,关闭 SIP 是临时操作,完成后可重新启用。
  4. API 支持哪些数据查询?
    支持聊天记录、联系人、群聊和最近会话查询,格式包括 JSON 和 CSV。
  5. 如何与 AI 助手集成?
    启动 Chatlog 的 SSE 服务,配置 AI 助手的工具 URL 为 http://127.0.0.1:5030/sse 即可。
未经允许不得转载:首席AI分享圈 » Chatlog:提取和查询微信聊天记录的开源工具
zh_CN简体中文