wechat-localmind
Provides read-only extraction of local WeChat 3.x/4.x (WCDB) encrypted sharded databases on macOS and Windows, decrypting an offline snapshot and exposing only group chats (@chatroom) through tools to list groups, fetch cleaned messages by monotonic cursor or time window, search messages with surrounding context, and export media attachments (including decrypting .dat images). One-to-one private chats and official accounts are physically blocked at every layer.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
WeChat LocalMind (wechat-localmind)
零依赖 macOS & Windows 微信(WeChat 3.x / 4.x)本地群聊只读提取、结构化清洗、CLI 与 MCP Server 能力层
English | 简体中文 | llms.txt | SKILL.md | CONTRIBUTING | SECURITY | LICENSE
WeChat LocalMind(wechat-localmind) 是一个零第三方运行时依赖的本地优先(Local-First)只读数据提取能力层,专为 AI Agent、自动化工作流与个人数据归档设计。它通过离线快照解密 macOS 与 Windows 本地的微信 3.x / 4.x(WCDB)加密分片数据库,仅提取并清洗**微信群聊(@chatroom)**对话与沙盒媒体附件,在架构层面 100% 物理拦截一对一私聊(wxid_*)与公众号(gh_*),输出高信噪比的 JSON / Markdown 结构化结果或通过标准 MCP Stdio 协议交付给 Claude、Cursor、Google Antigravity 等智能体消费。
*-localmind本地即时通讯只读提取能力层家族本仓库与姊妹仓
whatsapp-localmind(macOS WhatsApp 本地群聊提取能力层)同属qilaidev下的*-localmind本地聊天提取家族,两仓严格遵循统一的五项架构哲学: 100% 离线只读快照 + 物理拦截一对一私聊 + 四级实名还原 + 单调增量游标 + CLI & MCP 双协议交付。
定位边界:它是什么 / 它不是什么
维度 | 它是什么(What it is) | 它不是什么(What it is NOT) |
运行模式 | 100% 离线只读快照:仅在本地独立快照目录解密与聚合,零网络请求 | 不是微信外挂、Hook 注入器或协议逆向客户端 |
访问范围 | 仅限群聊( | 绝对禁止读取一对一私聊( |
写入能力 | 纯只读(Read-Only):绝不修改微信原库,绝不包含任何发送消息 API | 不是自动回复机器人、群发工具或 RPA 控制端 |
交付形态 | CLI & MCP Stdio Server:输出纯净 JSON / Markdown 供 AI Agent 调用 | 不是独立 GUI 客户端或云端 SaaS 托管服务 |
依赖体积 | 零第三方 pip 依赖:直接调用系统原生 | 不依赖臃肿的 C++ 编译链或外部 SQLCipher 二进制包 |
Related MCP server: wxq
合规与隐私安全声明
合法授权用途:本工具严格仅用于用户本人设备上的个人本地数据备份与经授权的离线研究。使用本工具处理群聊数据时,请遵守所在地法律法规及群聊参与方的隐私约定。
100% 离线只读快照:所有解密与聚合操作均在独立快照目录(macOS:
~/Library/Application Support/WeChat-LocalMind/snapshot;Windows:%LOCALAPPDATA%\WeChat-LocalMind\snapshot)中完成,绝不修改微信原始数据库、绝不注入或干扰微信客户端运行态、绝不发起任何网络请求、绝不发送任何消息。三重
@chatroom物理隔离:在分片提取层(snapshot.py)、SQL 查询层(db.py强制chat_id LIKE '%@chatroom')与附件导出/策略层(config.py/media.py)三重物理拦截一对一私聊(wxid_*)与公众号(gh_*),越权访问直接返回EXIT_POLICY_DENIED(退出码3)。
六大核心架构支柱
原生
CommonCryptoSQLCipher 3 / 4 离线解密引擎优先调用 macOS 系统原生
CommonCrypto(/usr/lib/libSystem.B.dylibCCCrypt)与标准库hashlib.pbkdf2_hmac,零 pip 依赖即可实现 C 语言级 AES-256-CBC 逐页验证与解密,全面兼容 WeChat 4.x WCDB(reserve=80)与 WeChat 3.x(reserve=48)。
WeChat 4.x
zstd内存级解压与多片库自动聚合优先调用 Python 3.14+ 内置
compression.zstd与原生libzstd.dylib(ctypes)实现零子进程开销的内存解压;自动跨message_0.db ~ message_N.db解析Msg_<md5>/Chat_<md5>/MSG表与分片内Name2Id映射,按时间序生成全局单调递增游标msg_id。
三重
@chatroom隐私隔离护栏提取、查询、导出三层硬编码校验
chat_id LIKE '%@chatroom',物理隔离wxid_*私聊与gh_*公众号,支持群聊黑/白名单精细化控制与个人身份锚点标记。
四级实名还原与
@wxid_自动转实名自动关联
contact.db与chatroom_member,按 通讯录备注 (remark) > 群内昵称 (group_nickname) > 微信昵称 (nick_name) > 脱敏 wxid (微信群友(xxxx)) 四级优先级还原发言人身份,并将正文中残留的@wxid_xxx与\u2005特殊空格自动替换为@实名或[@我(实名)]。
XML / Protobuf 富媒体深度解析与 150 字引用链还原
内置纯 Python 零依赖 Protobuf Wire 解析器与 XML 解析器,精准还原
<appmsg type="57"><refermsg>150 字父消息引用链、文件卡片(type=6)、网页链接(type=5)、小程序(type=33/36)、视频号/直播卡片(type=51/63)、合并转发(type=19)与群公告(type=87);自动剔除撤回消息(revokemsg)、拍一拍与系统通知,并自动折叠连续「收到 / OK / +1 / 红包」噪音。
微信
.dat异或加密图片向量化还原export-media内置自适应 Magic Header 异或密钥推导器与向量化大整数位运算引擎,导出微信.dat加密图片时自动解密还原为标准.jpg/.png/.gif/.webp/.heic。
安装与快速上手
前置要求:Python >= 3.10(零第三方运行时依赖)。
git clone https://github.com/qilaidev/wechat-localmind.git
cd wechat-localmind
# 一键将 wechat-localmind 软链挂载到 ~/.local/bin 并同步 AI Skill 技能包
./bin/wechat-localmind install --bin-dir ~/.local/bin --skill-dir ~/.gemini/config/skills30 秒快速体验
# 1. 检查本地微信 3.x/4.x 数据库与密钥状态
wechat-localmind doctor --format md
# 2. 导入或设置 SQLCipher 密钥后,拉取最近 24 小时群聊记录
wechat-localmind fetch --chats ALL_ALLOWED --since 24h --format mdCLI 子命令速查
子命令 | 核心用途 | 示例 |
| 环境、WeChat 3.x/4.x 数据库发现与密钥健康检查 |
|
| 设置/导入 SQLCipher 密钥,或从内存转储扫描密钥 |
|
| 离线解密全部分片并强制刷新统一只读快照 |
|
| 配置本人身份锚点( |
|
| 列出可访问群聊( |
|
| 按游标( |
|
| 跨允许群聊检索文本与 |
|
| 导出群附件并自动解密 |
|
| 清理导出媒体缓存或销毁本地解密快照 |
|
| 启动只读 JSON-RPC 2.0 MCP Stdio Server |
|
| 挂载 CLI 软链到 |
|
# 配置 SQLCipher 密钥(支持全局密钥、分片密钥或内存转储扫描)
wechat-localmind key --set "<64-hex-key>"
wechat-localmind key --set "contact.db:<64-hex-key>"
wechat-localmind key --scan-dump ./wechat_memory.dump
# 设置本人身份锚点(将本人消息标记为 [我(姓名)])
wechat-localmind config set-identity --name "张工" --wxid "wxid_example123456"
# 按关键词筛选群聊(包含已屏蔽群)
wechat-localmind groups --keyword "项目" --include-blocked --format jsonMCP Stdio Server 接入与工具契约
在 Claude Desktop、Cursor、Google Antigravity 或 Codex 的 MCP 配置中添加:
{
"mcpServers": {
"wechat-localmind": {
"command": "wechat-localmind",
"args": ["mcp-serve"]
}
}
}暴露的 4 个只读 MCP Tools
Tool 名称 | 必填参数 | 可选参数与默认值 | 能力说明 |
| 无 |
| 列出可访问微信群聊( |
|
|
| 按全局单调游标或时间窗提取清洗后的群聊记录,自动完成四级实名、 |
|
|
| 跨允许群聊检索文本与附件标题(含 |
|
| 无 | 按 |
环境变量与 POSIX 退出码契约
WECHAT_LOCALMIND_DATA_DIR:自定义微信数据根目录(如xwechat_files或WeChat Files)WECHAT_LOCALMIND_ACCOUNT_DIR:显式指定单个登录账号目录WECHAT_LOCALMIND_SNAPSHOT_DIR:自定义统一只读快照与附件导出目录WECHAT_LOCALMIND_KEY:全局 64 位 Hex SQLCipher 密钥
退出码 | 常量名 | 含义 |
|
| 执行成功 |
|
| 命令行参数、时间格式或 Hex 密钥格式错误 |
|
| 微信目录不可读、缺少 SQLCipher 密钥或密钥不匹配 |
|
| 隐私策略拦截(尝试访问一对一私聊 |
|
| 目标群聊/ |
|
| SQLite / SQLCipher 内部解析异常 |
常见问题(FAQ)
同时支持 macOS 与 Windows 的 WeChat 3.x(reserve=48,如 msg_*.db / MSG*.db)和 WeChat 4.x WCDB(reserve=80,如 xwechat_files/db_storage/message_*.db 与 contact.db)。工具会自动探测数据目录格式、分片结构与 zstd 压缩载荷并统一聚合。
零封号风险。 wechat-localmind 100% 在离线独立快照目录中工作,绝不向微信客户端进程注入代码、绝不修改原始数据库文件、绝不发起任何网络请求,也绝不包含任何自动发送消息或模拟操作逻辑。
系统在分片提取层、SQL 查询层与策略导出层实施三重物理拦截:所有查询强制附带 chat_id LIKE '%@chatroom',一旦检测到 wxid_* 私聊或 gh_* 公众号标识,立即拒绝执行并返回 EXIT_POLICY_DENIED(退出码 3)。
在 macOS 上直接通过 ctypes 调用系统原生 CommonCrypto(CCCrypt)与 libzstd.dylib(Python 3.14+ 优先使用内置 compression.zstd),配合标准库 hashlib.pbkdf2_hmac 实现 C 语言级 AES-256-CBC 逐页验证与解密,无需安装 pysqlcipher3 或 cryptography 等重型编译依赖。
运行 wechat-localmind export-media --msg-ids <id> 或调用 MCP 工具 wechat_export_media 时,内置的自适应 Magic Header 异或密钥推导器会自动识别文件头特征,通过向量化大整数位运算将 .dat 还原为标准 .jpg / .png / .gif / .webp / .heic 图片。
只需在客户端 MCP 配置中将 command 指向 wechat-localmind、参数设为 ["mcp-serve"] 即可(详见上方 MCP Stdio Server 接入)。若使用支持 Agent Skills 的客户端,可通过 ./bin/wechat-localmind install 一键同步 skills/wechat-localmind/SKILL.md。
仓库结构与单元测试
wechat-localmind/
├── README.md # 中文文档
├── README.en.md # 英文文档
├── llms.txt # AI Agent / LLM 检索规范索引 (llmstxt.org)
├── LICENSE # MIT 开源协议
├── SECURITY.md # 隐私护栏与安全漏洞报告策略
├── CONTRIBUTING.md # 贡献指南与 PR 自检清单
├── CHANGELOG.md # 版本变更日志
├── pyproject.toml # Python 包配置(>=3.10,零第三方运行时依赖)
├── bin/wechat-localmind # 免安装 CLI 可执行入口
├── skills/wechat-localmind/ # AI Agent 标准技能包 (SKILL.md + scripts/)
├── src/wx_localmind/ # 核心源码(crypto, snapshot, db, cleaner, media, mcp_server 等)
└── tests/test_wx_localmind.py # 合成 SQLCipher / Protobuf / .dat 单元测试套件# 运行全部单元测试(无需真实微信数据库)
PYTHONPATH=src python3 -m unittest discover -s tests -vTool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Summarize, search, and manage your own WhatsApp groups from any MCP client.
Read-only WhatsApp MCP for your AI agent: it reads the chats you choose. Try the public demo.
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
Free WhatsApp MCP server for ChatGPT and Claude: read and search chats, every send you approve.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI agents to securely access and search enterprise WeChat (WeCom) chat records with full decryption and auditing, supporting message retrieval, decryption, local storage, and querying via MCP tools.93MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to query local WeChat chat data through read-only MCP tools, including sessions, messages, contacts, search, and statistics, with everything processed locally.63 PyPI6MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI clients to list chats and groups, read full group history, search across message shards, and access summaries or system events from local WeChat 4.x data through a read-only, offline MCP interface.1-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to read the local, already-logged-in WeChat account's chat history: fetch recent messages per contact for reply suggestions, bulk-export all conversations into a local SQLite index for full-text and semantic search, and export media or Moments timelines as offline HTML. Everything runs locally and read-only on macOS, exposing 15 MCP tools plus a matching CLI.GPL 3.0