Wechatferry is a developer tool that provides a TypeScript SDK and a monorepo of packages for building WeChat robots through the WeChatFerry PC hook protocol. It is published on npm under the wechatferry package name and is also installable via pnpm add wechatferry. The project is MIT-licensed and organized into five packages: core, agent, puppet, nuxt, and plugins.
What is Wechatferry?
Wechatferry is a Node.js/TypeScript layer over the WeChatFerry Windows PC hook, giving developers a TCP-based interface to control a WeChat desktop client programmatically. The @wechatferry/core package calls the sdk.dll file from WeChatFerry and wraps the TCP connection; @wechatferry/agent makes that core easier to use in everyday application code; @wechatferry/puppet connects the library to Wechaty so that the free PC Hook protocol can be used as a Wechaty puppet; @wechatferry/nuxt adds a Nuxt module for hooking WeChat bots into a Nuxt application; and @wechatferry/plugins bundles a few sample plugins.
Key Features
- Monorepo structure — Five published packages (
@wechatferry/core,@wechatferry/agent,@wechatferry/puppet,@wechatferry/nuxt,@wechatferry/plugins) under one repository on GitHub. - Core TCP wrapper — The core package calls
sdk.dlland encapsulates the TCP connection needed to talk to WeChatFerry. - Wechaty puppet integration — The puppet package re-enables Wechaty's free protocol (PC Hook), so existing Wechaty code can run without paid accounts.
- Nuxt module — The nuxt package lets Nuxt applications connect to a WeChat bot easily via a module.
- Plugin collection — The plugins package includes several ready-to-use plugin implementations.
- Simple installation — Install the whole project with one command:
pnpm add wechatferry. - MIT license — The project is released under the MIT License.
Who is it for?
- Node.js developers building WeChat bots or message automation that need a high-level SDK over the WeChatFerry hook.
- Wechaty users who want a free protocol option — the puppet package plugs directly into Wechaty and requires no paid Wechaty token.
- Nuxt developers who want to add WeChat messaging features to a Nuxt app through the
@wechatferry/nuxtmodule. - Developers contributing to or forking the Wechatferry ecosystem — the monorepo includes sample plugins and separate agent/core layers that can be extended.
Use cases
- Personal automation: build a self-hosted WeChat assistant that can send and receive messages by talking to the WeChatFerry hook on a Windows machine.
- Customer service bots: connect Wechaty-based bots to WeChat through the free PC Hook protocol provided by
@wechatferry/puppet. - Nuxt applications: integrate WeChat message handling directly into a Nuxt app using the
@wechatferry/nuxtpackage.
How does Wechatferry work?
The architecture is layered: @wechatferry/core finds and loads sdk.dll from WeChatFerry and opens a TCP connection to it; @wechatferry/agent wraps that core and exposes a simpler API for sending and receiving messages; the puppet package exposes this to Wechaty as a standard puppet; and the nuxt package wraps the agent into a Nuxt module. The plugins package sits on top of the agent and provides sample features.
Pricing
Wechatferry is free and open source, released under the MIT License.
FAQ
Is Wechatferry free?
Yes. The project is published under the MIT License, and the npm packages can be installed and used without any license fee. The main restriction is the project's disclaimer, which limits usage to learning and requires deleting the source and compiled programs within 24 hours.
What does the Wechatferry disclaimer require?
The disclaimer states that the project is for learning and communication only, forbids illegal use, prohibits stealing others' privacy, and forbids secondary development. Users must delete the source code and compiled programs within 24 hours of download and agree to these terms by using the project.
What is the relationship to WeChatFerry?
Wechatferry is an independent Node.js/TypeScript wrapper around the original WeChatFerry project. It builds on WeChatFerry's sdk.dll and was inspired by several related projects, including wcf-client-rust and node-wcferry, as stated in the README's acknowledgments.
Can I use Wechatferry with Wechaty?
Yes. The @wechatferry/puppet package makes Wechaty work with the free PC Hook protocol, so you can use Wechaty's API without a paid Wechaty token. The README explicitly advertises this as a key capability.








