wx-cli-again 是一个用 Rust 编写的本地微信数据命令行工具,用于在 macOS、Linux、Windows 上查询、解密、搜索、统计和导出本机微信 4.x 数据。它面向高级个人用户、开发者和 AI Agent 场景,支持会话、聊天记录、联系人、群成员、朋友圈、公众号文章、收藏、图片附件等数据访问,并通过后台 daemon 缓存解密数据库以提升响应速度。该项目强调数据完全本地处理,不上传云端,但涉及微信本地数据库解密和进程内存读取,使用时需要注意权限、平台兼容性、合规和隐私风险。
适用领域
微信本地数据分析 / 命令行工具 / 数据解密 / 聊天记录搜索与导出 / 个人数据备份 / Rust CLI / AI Agent 工具集成 / 本地数据库取证与检索
配置难度
中高。普通命令行用户可以使用基础查询,但首次初始化、权限配置、密钥提取、分片补齐、平台差异和异常排查需要较强的系统和开发经验。Rust 开发者二次开发难度中等偏高,因为项目涉及 SQLCipher、微信数据库结构、进程内存扫描、LLDB hook、附件解码和多平台兼容。
商业价值
未知
01
技术亮点
- 单一 Rust 二进制,部署相对简单,跨 macOS、Linux、Windows。
- 功能覆盖广,包括聊天记录、联系人、群成员、收藏、朋友圈、公众号文章、附件、统计和导出。
- 支持后台 daemon,对解密数据库做 mtime 感知缓存,提升重复查询速度。
- 强调完全本地运行,数据不出本机,适合隐私敏感场景。
- 面向 AI Agent 设计,history、search、sessions、new-messages、stats、attachments 等命令提供 meta wrapper,方便程序判断 freshness、unknown_shards、数据来源等。
- 支持微信群成员稳定身份字段,如 sender_username、sender_contact_display、sender_group_nickname,可减少昵称重名带来的混淆。
- 提供 wx doctor、key list、key extract 等诊断和密钥补齐能力。
- 支持微信图片 .dat 附件提取,覆盖 legacy XOR、V1 fixed-AES、V2 AES + XOR 等多种解码方式。
- 支持 JSON 输出,便于脚本、数据管道和 AI 应用集成。
- Apache-2.0 许可证,有利于开发者学习和二次开发。
02
目标用户
- 需要检索和导出个人微信聊天记录的开发者
- 希望把微信本地数据接入 Claude Code、Cursor、Codex 等 AI Agent 的高级用户
- 需要对本机微信数据做统计、搜索、归档的个人用户
- 研究微信本地数据库结构、SQLCipher 加密和附件格式的技术人员
- 需要离线分析群聊、公众号文章、朋友圈数据的知识管理用户
- 有 Rust 构建环境和命令行经验的用户
03
配置要求
- 需要本机已安装并登录微信 4.x。
- macOS 初始化建议在本机 GUI Terminal,例如 Terminal.app 或 iTerm 中执行,不建议通过 SSH 执行。
- macOS 初始化和密钥提取通常需要 sudo,并可能需要在“系统设置 → 隐私与安全性 → 开发者工具”中授权终端。
- Windows 需要管理员权限运行初始化。
- Linux 初始化通常需要 sudo。
- 不要求关闭 macOS SIP。
- 默认不建议对 WeChat.app 做 ad-hoc 重签,因为可能影响 TCC 权限、公众号、截图等功能。
- 需要本地有微信数据库文件和相关数据;朋友圈、公众号、附件等只能覆盖本机已经加载或缓存过的数据。
- 工具会在 ~/.wx-cli/ 下保存配置、密钥、daemon 状态和缓存,例如 config.json、all_keys.json、cache/ 等。
- 如使用 AI Agent Skill,可通过 npx skills add botiverse/wx-cli 安装到 Claude Code、Cursor、Codex 等 agent,但仍需要本地 wx 可执行文件和权限配置。
04
适用场景
- 按联系人或群名查看历史聊天记录
- 全库搜索关键词、链接、文件、引用消息等内容
- 导出指定会话为 Markdown 或 JSON
- 查看最近会话、未读消息和新增消息
- 统计群聊活跃成员、发言频率和时间范围内的消息情况
- 查询联系人、群成员、群昵称和稳定 wxid
- 检索朋友圈通知、朋友圈内容和公众号文章
- 提取聊天中的图片附件并解码 .dat 文件
- 为 AI Agent 提供本地微信上下文数据,例如最近消息、搜索结果和会话历史
- 对本机微信数据进行本地归档、备份和知识管理
05
部署与配置
- 安装 Rust 工具链,确保 cargo 可用。
- 克隆仓库:git clone git@github.com:botiverse/wx-cli.git && cd wx-cli。注意 README 中提到当前源码与发布仓库可能为 private,需要有仓库读权限。
- 构建发布版本:cargo build --release。
- macOS/Linux 安装到 PATH:mkdir -p ~/.local/bin && cp target/release/wx ~/.local/bin/wx。
- Windows 将 target\release\wx.exe 放到 PATH 目录中。
- 验证版本:wx --version。
- 保持微信已安装、已登录并运行,执行初始化。macOS/Linux 通常使用 sudo wx init;Windows 需以管理员身份运行 PowerShell 后执行 wx init。
- 运行 wx doctor 检查密钥、分片和 SQLCipher 状态。
- 如提示缺失分片密钥或 meta.unknown_shards 非空,执行 sudo wx key extract --hook-seconds 90,并在等待期间打开相关聊天以触发加载。
- 常用验证命令:wx sessions、wx history "联系人名"、wx search "关键词"。
06
风险与注意事项
- 仓库信息存在不一致:用户提供的 repository 为 jackwener/wx-cli-again,但 README 多处指向 botiverse/wx-cli,且说明当前仓库可能为 private,实际安装路径和可访问性需要核实。
- 该工具涉及读取微信进程内存、提取数据库密钥和解密本地数据库,可能触及微信服务条款、企业合规或当地法律要求。
- 强烈涉及个人隐私数据,all_keys.json、cache 中的解密数据库和导出文件需要妥善保护。
- 如果机器被他人访问,缓存的解密数据库和密钥文件可能导致聊天记录泄露。
- macOS 权限链较复杂,task_for_pid、开发者工具权限、GUI Terminal、sudo 等因素可能导致初始化失败。
- 微信版本更新可能改变数据库结构、加密方式或内存布局,从而导致工具失效。
- Linux 对部分图片 V2 .dat 解码支持有限,README 明确提到 Linux 遇到 V2 会 unsupported。
- 读取结果可能不完整,例如 unknown_shards、冷分片未加载、朋友圈只覆盖本地刷到过的数据。
- daemon 和缓存机制虽然提升性能,但也增加状态一致性、缓存过期和排障复杂度。
- 如果在公司设备或多人共用设备上使用,可能引入严重的数据安全和审计风险。
2026-09-20
第16名
新收录 · github_search