快速微信聊天记录接入MCP

项目简介

从本地数据库文件获取聊天数据 支持多系统,微信 3.x / 4.0 版本 提供 Terminal UI 界面 & 命令行工具 提供 HTTP API 服务,支持查询聊天记录、联系人、群聊、最近会话等信息 支持 MCP SSE 协议,可与支持 MCP 的 AI 助手无缝集成


特点

  • 从本地数据库文件获取聊天数据
  • 支持 Windows / macOS 系统
  • 支持微信 3.x / 4.0 版本
  • 提供 Terminal UI 界面 & 命令行工具
  • 提供 HTTP API 服务,支持查询聊天记录、联系人、群聊、最近会话等信息
  • 支持 MCP SSE 协议,可与支持 MCP 的 AI 助手无缝集成


安装

从源码安装

go install github.com/sjzar/chatlog@latest

下载预编译版本

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


快速开始

操作流程

  1. 下载并安装微信客户端

  2. 手机微信上操作 我 - 设置 - 通用 - 聊天记录迁移与备份 - 迁移 - 迁移到电脑,这一步的目的是将手机中的聊天记录传输到电脑上。可以放心操作,不会影响到手机上的聊天记录。

  3. 下载 chatlog 预编译版本或从源码安装,推荐使用 go 进行安装。

  4. 运行 chatlog,按照提示进行操作,解密数据并开启 HTTP 服务后,即可通过浏览器或 AI 助手访问聊天记录。


macOS 版本提示

  1. macOS 用户在获取密钥前,需要确认已经关闭 SIP 并安装 Xcode。由于 macOS 的安全机制,在正常情况在无法读取微信进程的内存数据,所以需要临时关闭 SIP。关闭 SIP 的方法:
# 1. 进入恢复模式  Apple Intel Mac: 关机后,按住 Command + R 键开机,直到出现苹果标志和进度条。  Apple Silicon Mac: 关机后,按住开机键不松开,直到出现苹果标志和进度条。# 2. 打开终端  选项 - 实用工具 - 终端# 3. 关闭 SIP  输入以下命令关闭 SIP:  csrutil disable# 4. 重启系统
  1. 目前的 macOS 版本方案依赖 lldb 工具,所以需要安装 Xcode,可以从 App Store 进行下载。

  2. 仅获取数据密钥步骤需要关闭 SIP;获取数据密钥后即可重新打开 SIP,不影响解密数据和 HTTP 服务的运行。


Terminal UI 模

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


命令行模

获取微信数据密钥:

./chatlog key

解密数据库文件:

./chatlog decrypt


HTTP API

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

聊天记录

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

参数说明:

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


联系人列表

GET /api/v1/contact

群聊列表

GET /api/v1/chatroom

会话列表

GET /api/v1/session

MCP

支持 MCP SSE 协议,启动 HTTP 服务后,通过 SSE Endpoint 访问服务:

GET /sse

提供了 4 个 tool 用于与 AI 助手集成:

  • chatlog
    : 查询聊天记录
  • query_contact
    : 查询联系人
  • query_chat_room
    : 查询群聊
  • query_recent_chat
    : 查询最近会话


示例

以 ChatWise 工具为例,在 设置 - 工具 下新建工具,类型为 sse,ID 为 chatlog,URL 为 http://127.0.0.1:5030/sse,勾选自动执行工具,即可使用。

部分 AI 聊天工具暂时不支持 MCP SSE 协议,可以通过 mcp-proxy 工具转发请求,以 Claude Desktop 为例,在安装好 mcp-proxy 后,将 mcp-proxy 配置到 Claude Desktop 的 config.json 文件中,即可使用:

{  "mcpServers": {    "mcp-proxy": {      "command": "/Users/sarv/.local/bin/mcp-proxy",      "args": [        "http://localhost:5030/sse"      ],      "env": {}    }  },  "globalShortcut": ""}



项目链接

https://github.com/sjzar/chatlog

扫码加入技术交流群,备注开发语言-城市-昵称

(文:GitHubStore)

发表评论

×

下载每时AI手机APP

 

和大家一起交流AI最新资讯!

立即前往