1. 项目定位与用途
wechatferry 是基于 WeChatFerry 的 Node.js 微信机器人底层框架 monorepo,定位为 Wechaty 免费协议(PC Hook)的官方实现。主要用途是为开发者提供稳定、开源的微信自动化接入方案,通过封装底层 sdk.dll 与 TCP 连接,降低微信机器人开发门槛与成本。项目提供多个子包:@wechatferry/core 负责底层通信,@wechatferry/agent 提供易用高层 API,@wechatferry/puppet 实现 Wechaty 协议适配,@wechatferry/nuxt 支持 Nuxt 集成,@wechatferry/plugins 提供内置功能插件。
2. 解决的问题
项目主要解决微信机器人开发中的三大问题:一是商业协议成本高,通过免费 PC Hook 协议替代;二是协议接入复杂度高,提供分层封装与事件驱动 API 简化开发;三是生态割裂,通过 Wechaty 协议适配层使现有 Wechaty 应用可直接迁移。同时,插件系统解决风控、群管理等常见需求,避免重复造轮子。但需注意,项目依赖特定微信版本与 Windows 环境,且使用受严格免责声明限制。
3. 适用场景
主要适用场景包括:企业微信客服机器人开发,通过消息自动回复与转接提升服务效率;微信群管理工具,如自动禁言、踢人、入群欢迎等;Nuxt.js 应用集成微信消息通知,实现服务端微信能力;基于 Wechaty 生态的微信自动化脚本,利用现有 Wechaty 插件与工具链。项目不适合跨平台部署或商业生产环境,因依赖 Windows 且使用条款限制严格,建议仅用于学习交流与技术验证。
4. 安装方式
主包安装使用 pnpm add wechatferry,该命令会安装顶层聚合包。子包需按需安装,例如 pnpm add @wechatferry/puppet 用于 Wechaty 集成,或 pnpm add @wechatferry/nuxt 用于 Nuxt 项目。环境要求为 64 位 Windows 系统,微信版本需 3.9.12.17(具体见 docs/guide.md)。项目使用 pnpm workspace 管理 monorepo,开发时需运行 pnpm install 安装依赖。详细环境配置与依赖说明参考 docs/guide.md 与各子包 README。
5. 使用方式
使用方式分为四种:一是通过 @wechatferry/agent 直接启动机器人,参考 examples/agent/src/index.ts 实例化 WechatferryAgent 并监听 message 事件;二是通过 @wechatferry/puppet 集成 Wechaty,创建 WechatferryPuppet 并构建 Wechaty 机器人处理消息,示例见 docs/integrations/wechaty.md;三是在 Nuxt 项目中使用 @wechatferry/nuxt 模块,按 docs/integrations/nuxt.md 配置自动注册与数据库工具;四是启用插件如安全模式(docs/plugins/safe-mode.md)或群聊管理(docs/plugins/room-mute.md、room-kick.md)扩展功能。
6. 补充说明与限制
项目存在关键限制:仅支持 64 位 Windows 环境,依赖 sdk.dll 与特定微信版本;使用需遵守严格免责声明,包括 24 小时内删除源码、禁止非法用途与二次开发、禁止隐私窃取等;所有责任由用户自行承担。技术实现上,core 包包含 proto 协议定义与 gen-protoc 脚本,puppet 包实现 Wechaty Puppet 接口规范。文档网站基于 VitePress 构建,API 文档链接至 jsdocs.io。项目版本当前为 0.0.26,基于 MIT 协议开源。