explaingit

trazyn/wewechat

5,713JavaScriptAudience · generalComplexity · 2/5LicenseSetup · easy

TLDR

weweChat is an unofficial WeChat desktop client for macOS, Linux, and Windows built with Electron, supporting messaging, file sharing, group chats, and desktop notifications.

Mindmap

mindmap
  root((weweChat))
    What it does
      Desktop WeChat client
      Unofficial web API
      Mac Linux Windows
    Messaging features
      Text image file video
      Paste and drag send
      Batch send
      Recall blocking
    Group chat
      Members management
      Create chat rooms
      Room creation limited
    Built with
      Electron
      React MobX
      Node.js
Click or tap to explore — scroll the page freely

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

Things people build with this

USE CASE 1

Use WeChat from a desktop app on macOS, Linux, or Windows instead of the browser.

USE CASE 2

Block the WeChat message recall feature so senders cannot delete messages after you receive them.

USE CASE 3

Forward a message to multiple WeChat contacts at once using batch send mode.

USE CASE 4

Receive desktop notifications and auto-start WeChat when your computer boots.

Tech stack

JavaScriptReactMobXElectronNode.js

Getting it running

Difficulty · easy Time to first run · 5min

WeChat web API disabled room creation in 2018, some group features may not work.

MIT license: use, modify, and distribute freely for any purpose including commercial.

In plain English

weweChat is an unofficial desktop WeChat client built with React, MobX, and Electron. It runs on macOS, Linux, and Windows, giving WeChat users a native-feeling desktop app rather than the web browser version. The app connects to WeChat using the unofficial web API at web.wechat.com. The app supports a full range of messaging features: sending and receiving text, images, files, video, voice messages, stickers, contact cards, and location sharing. You can paste an image directly from your clipboard to send it, or drag a file into the chat window. A batch send mode lets you forward a message to multiple conversations at once. The app can also block WeChat's message recall feature, which prevents senders from deleting messages after you have received them. Group chat functionality includes showing members, adding and removing members, and creating new chat rooms, though the README notes that creating rooms via the web API was disabled by WeChat in 2018. Desktop notifications keep you informed of new messages when the app is in the background, and the app can start automatically when your computer boots. Keyboard shortcuts cover common actions: starting a new conversation, searching, jumping between conversations by number, batch messaging, and toggling full-screen mode. On macOS, the window uses a translucent vibrancy effect that matches the system aesthetic. Installation is available as a downloadable .dmg for Mac.deb or .rpm or .AppImage packages for Linux, and an .exe installer for Windows. Developers can build from source using npm. The project is licensed under MIT.

Copy-paste prompts

Prompt 1
I want to add a new feature to weweChat that shows unread message count in the macOS dock badge. Show me where in the Electron/React codebase I would add this and the code needed.
Prompt 2
How do I build weweChat from source on Linux and package it as an AppImage? Walk me through the npm commands and any dependencies I need.
Prompt 3
I'm looking at the weweChat codebase. Where does it handle incoming messages from the WeChat web API and how does MobX update the React UI?
Prompt 4
Can I run weweChat on a headless Linux server and forward notifications somewhere else? Explain what parts of Electron would need to change.
Open on GitHub → Explain another repo

← trazyn on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.