面向 Windows 微信 4.x 的本地、离线、只读聊天记录 CLI。
它负责发现本机微信账号、验证数据库密钥、读取加密数据库和已提交的 WAL 消息,并向脚本或 AI 智能体输出结构化结果。微信无需退出,源数据库、WAL 和 SHM 文件不会被修改。
想让 Claude Code 或 Codex 直接总结群聊? 使用配套项目 WeChat Summary Skill。
微信 4.1+ 不再保留旧工具寻找的 x'<raw-key><salt>' 形式密钥,而是在进程中使用 master passphrase,并为每个数据库独立派生 key。旧版导出工具因此可能找不到密钥,也通常无法安全读取正在增长的 WAL。
WeChat CLI Next 将密钥验证、逐库解密、实时快照和聊天查询组合为一个可审计的只读接口,既可供人使用,也适合作为 AI 智能体的数据层。
- 自动发现本机微信账号和数据目录。
- 捕获并验证微信 4.1+ master passphrase。
- 使用 Windows DPAPI 保存密钥,配置文件不含明文。
- 为每个数据库派生独立 key,并逐页校验 HMAC。
- 查询会话、聊天历史和全文关键词。
- 合并主数据库与 WAL 中最后一个完整提交之前的页面。
- 一条
context命令输出适合 Claude Code、Codex 和其他工具消费的 JSON。 - 自动匹配群名、识别本人消息并解析群成员显示名。
| 项目 | 职责 |
|---|---|
| WeChat CLI Next | 可靠、只读地获取本地聊天数据,并输出结构化 JSON |
| WeChat Summary Skill | 让 Claude Code/Codex 自动查询并总结群聊 |
CLI 不负责调用大模型,Skill 不直接处理数据库。两层可以独立更新,也方便审计隐私边界。
已在 Windows 微信 4.1.12.26 上完成端到端验证:
- 识别 5 个微信进程和 23 个加密数据库。
- 捕获 32 字节 master passphrase,并通过真实
message_0.dbHMAC 验证。 - 派生逐库 key,校验并解密 23/23 个数据库。
- 跨
session、contact、message_0..2和 FTS 索引完成查询。
其他微信版本可能需要额外适配,欢迎提交可复现的问题报告,但不要上传数据库、密钥或私人聊天记录。
需要 Windows 10/11 和 Python 3.10+:
git clone https://github.com/Sixtimenight/wechat-cli-next.git
cd wechat-cli-next
py -m pip install -e .安装后:
wxnext --help未安装到 PATH 时,也可以在仓库根目录使用 .\wxnext.cmd。
诊断指定数据目录:
wxnext diagnose --data-dir "D:\微信\xwechat_files\wxid_xxx\db_storage"首次密钥捕获通过经过静态审核的调试器后端完成:
wxnext capture `
--data-dir "D:\微信\xwechat_files\wxid_xxx\db_storage" `
--backend-script "D:\path\to\audited-backend.py"程序会拦截后端输出,对真实数据库执行 HMAC 验证,再用 DPAPI 保存已验证的 passphrase。后续查询不再依赖调试器。
context 会自动发现账号、模糊匹配群名、识别本人消息,并默认返回最近 24 小时、按时间正序排列的结构化上下文:
wxnext context "产品交流群"
wxnext context "产品交流群" --since 7d
wxnext whoamiwxnext sessions --live --limit 20
wxnext history --live --chat "群名或用户名" --limit 200
wxnext search --live --text "关键词" --limit 100--live 会只读复制当前主库,校验 WAL header、frame checksum、salt 和事务提交标记,并覆盖最后一个完整提交之前的页面。
wxnext decrypt-all `
--data-dir "D:\微信\xwechat_files\wxid_xxx\db_storage" `
--output "D:\path\to\decrypted"
wxnext sessions --root "D:\path\to\decrypted"
wxnext history --root "D:\path\to\decrypted" --chat "群名或用户名"
wxnext search --root "D:\path\to\decrypted" --text "关键词"若本机存在多个账号,可显式传入 --data-dir。
实时快照默认保存在 %USERPROFILE%\.wxnext\live。它只包含已提交到数据库主文件或 WAL 完整事务中的消息;仍停留在微信进程内存、尚未提交的内容不可见。
- 所有数据库查询均为只读操作。
- 不发送消息,不修改微信账号状态。
verify-key默认从标准输入读取密钥,避免进入命令历史。- 程序只报告验证结果和不可逆指纹,不打印原始密钥。
- 已验证 passphrase 使用当前 Windows 用户的 DPAPI 保护。
- 不执行或分发无源码、未签名的
wx_key.dll。
本工具只应用于你本人有权访问的本地数据。发布日志或问题报告前,请移除账号 ID、数据库路径、群名和聊天正文。
微信 4.1+ 每个数据库的实际 key 为:
PBKDF2-HMAC-SHA512(master_passphrase, db_salt, 256000)
项目实现逐库派生、页级 HMAC 校验,以及 WAL header、salt、checksum 与提交边界验证。
Tencent/WCDB:WCDB 配置与 SQLCipher 实现。TANGandXUE/wcdb-key-tool:4.1+ master passphrase 与逐库派生思路(MIT)。labazhou2024/chatlog-keeper:Windows key-set 调试器原型(MIT)。