whatisgithub

What is wx-cli?

pandorafuture/wx-cli — explained in plain English

Analysis updated 2026-05-18

46RustAudience · developerComplexity · 4/5Setup · hard

In one sentence

A Rust command-line tool that decrypts your local WeChat message database on macOS so you can search and export your own chat history.

Mindmap

mindmap
  root((wx-cli))
    What it does
      Decrypts WeChat DB
      Search chat history
      Exports media
    Tech stack
      Rust
      LLDB
      REST API
    Use cases
      Full-text search
      Export media files
      Local HTTP server
    Audience
      macOS developers
      Power users

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Search your own WeChat chat history in full text from the command line.

USE CASE 2

Export messages, images, voice notes, and video from a specific WeChat contact or group.

USE CASE 3

Run a local HTTP server to query your decrypted WeChat data programmatically.

USE CASE 4

Watch for new WeChat messages in real time through the command-line tool.

What is it built with?

RustLLDBREST API

How does it compare?

pandorafuture/wx-cliion-elgreco/riverssbhattap/claude-pee
Stars464545
LanguageRustRustRust
Setup difficultyhardmoderatemoderate
Complexity4/54/53/5
Audiencedeveloperdatadeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires disabling macOS System Integrity Protection unless you already have the encryption key.

The explanation does not state a license for this repository.

So what is it?

WeChat on macOS stores your messages in encrypted databases on your own device. This command-line tool, written in Rust, decrypts those databases and lets you search and export your own chat history. It targets WeChat versions 4.1.7.x and 4.1.8.x on Apple Silicon Macs. The first step is extracting the encryption key. The tool does this by attaching a debugger (LLDB) to the running WeChat process and intercepting the moment WeChat reads its own key from the system keychain. This method requires disabling macOS System Integrity Protection, because the operating system normally blocks one process from inspecting another this deeply, even with administrator access. If you already have the key from another source, you can enter it manually and skip that requirement entirely. Once the key is obtained, the tool decrypts the database files into a local cache. From there you can run queries through a set of subcommands: listing recent conversations, searching contacts by name, reading messages from a specific person or group, doing a full-text search across all chats, or watching for new messages in real time. The tool can also decrypt media files, including images stored in WeChat's proprietary format, voice messages, and video files. For programmatic access, the tool includes an optional HTTP server mode. When that server is running, the same query commands will automatically route through the REST API instead of reading the local files directly. All query commands support JSON output for piping into other tools. The README is written in Chinese and covers installation from prebuilt binaries or from source using the Rust toolchain, troubleshooting steps for common errors, a full command reference table, and configuration options including the ability to hide specific contacts from query results.

Copy-paste prompts

Prompt 1
Explain how this tool extracts the WeChat encryption key by attaching LLDB to the running process.
Prompt 2
Walk me through why disabling System Integrity Protection is required for this tool's key extraction method.
Prompt 3
Show me the subcommands this CLI offers for searching contacts and reading full chat history.
Prompt 4
Help me set up the HTTP server mode so I can query my decrypted WeChat data from another script.

Frequently asked questions

What is wx-cli?

A Rust command-line tool that decrypts your local WeChat message database on macOS so you can search and export your own chat history.

What language is wx-cli written in?

Mainly Rust. The stack also includes Rust, LLDB, REST API.

What license does wx-cli use?

The explanation does not state a license for this repository.

How hard is wx-cli to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is wx-cli for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.