Back to feed

jackwener/wx-cli

jackwener/wx-cli
476
+15/day
409
Rust

WeChat local data CLI with daemon architecture

From the README

wx-cli

从命令行查询本地微信数据

会话 · 聊天记录 · 搜索 · 联系人 · 群成员 · 收藏 · 统计 · 导出

AI Agent Skill

通过 skills CLI 一键安装到 Claude Code、Cursor、Codex 等 agent:

npx skills add jackwener/wx-cli

或全局安装:

npx skills add jackwener/wx-cli -g

安装后 agent 会自动读取 SKILL.md,了解如何安装和调用 wx-cli。

特性

  • 零依赖安装 — 单一 Rust 二进制,一行命令装完
  • 毫秒级响应 — 后台 daemon 持久缓存解密数据库,mtime 不变则复用
  • AI 友好 — 默认 YAML 输出,更省 token & 易读;--json 可切换为 JSON(方便 jq 处理等)
  • 完全本地 — 数据不出本机,实时解密,无需全量预解密

安装

npm(推荐,全平台)

npm install -g @jackwener/wx-cli

macOS / Linux(curl)

curl -fsSL  | bash

Windows(PowerShell,以管理员身份运行)

irm  | iex

其他安装方式

手动下载

Releases 下载对应平台文件:

| 平台 | 文件 | |------|------| | macOS Apple Silicon | wx-macos-arm64 | | macOS Intel | wx-macos-x86_64 | | Linux x86_64 | wx-linux-x86_64 | | Linux arm64 | wx-linux-arm64 | | Windows x86_64 | wx-windows-x86_64.exe |

macOS / Linux:chmod +x wx && sudo mv wx /usr/local/bin/

从源码构建

git clone git@github.com:jackwener/wx-cli.git && cd wx-cli
cargo build --release
# 产物:target/release/wx(Windows: wx.exe)

快速开始

保持微信运行,然后初始化(只需一次):

macOS(需要先对微信做 ad-hoc 签名,才能扫描其内存)

# 1. 签名(只需做一次,WeChat 更新后重做)
codesign --force --deep --sign - /Applications/WeChat.app

# 2. 重启微信,等待完全登录
killall WeChat && open /Applications/WeChat.app

# 3. 初始化
sudo wx init

如果 codesignsignature in use,先执行:

codesign --remove-signature "/Applications/WeChat.app/Contents/Frameworks/vlc_plugins/librtp_mpeg4_plugin.dylib"
codesign --force --deep --sign - /Applications/WeChat.app

Linux

sudo wx init

Windows(以管理员身份运行 PowerShell)

wx init

验证安装:

wx sessions

能看到最近会话即表示一切正常。daemon 在首次调用时自动启动。

命令

消息

wx sessions                                      # 最近 20 个会话
wx unread                                        # 有未读消息的会话
wx unread --filter private,group                 # 只看真人未读(过滤公众号/折叠入口)
wx new-messages                                  # 上次检查后的新消息(增量)
wx history "张三"                                # 最近 50 条记录
wx history "张三" -n 2000                        # 拉更多历史消息
wx history "AI群" --since 2026-04-01 --until 2026-04-15
wx search "关键词"                               # 全库搜索
wx search "关键词" -n 500                        # 放宽搜索结果条数
wx search "会议" --in "工作群" --since 2026-01-01

history / search / export 都支持 -n / --limit 指定条数。默认值只是为了避免一次性输出过多消息,不是硬上限。

会话/消息输出里都带 chat_type 字段,取值为 private / group / official_account / foldedofficial_account 涵盖公众号、订阅号、服务号及 mphelper / qqsafe 等系统通知;folded 对应微信里的"订阅号折叠"和"折叠群聊"两个聚合入口。

朋友圈(SNS)

三个独立命令,区分"通知"和"帖子":

wx sns-notifications                             # 点赞/评论通知(默认仅未读)
wx sns-notifications --include-read -n 100       # 含已读

wx sns-feed                                      # 近 20 条朋友圈(时间线)
wx sns-feed --user "张三"                        # 限定作者
wx sns-feed --since 2026-04-01 -