AI个人学习
和实操指南
豆包Marscode1

WeChatFerry:功能全面的微信机器人开发框架

综合介绍

WeChatFerry 是一个开源的微信机器人底层框架,由开发者 lich0821 在 GitHub 上创建并维护。该项目通过微信 Hook 技术,提供了一套强大的 SDK,允许开发者将微信功能与多种大语言模型(如 ChatGPT、Gemini、DeepSeek、ChatGLM、讯飞星火、Tigerbot 等)集成,实现自动化任务和智能对话。核心模块使用 C++ 编写,支持多种客户端语言(如 Python、Rust、Go、Java、Node.js、C# 等),并适配特定微信版本(当前支持 3.9.11.25)。凭借其灵活性和丰富功能,WeChatFerry 已吸引 5.5k 星标和 1.1k forks,成为微信机器人开发的热门工具。

WeChatFerry:目前集成功能较全的微信机器人开发框架-1


 

功能列表

  • 消息收发:支持发送文本(含 @)、图片、文件、GIF,并可监听和接收消息。
  • 大语言模型集成:可接入 ChatGPT、Gemini、DeepSeek、ChatGLM、讯飞星火等模型,实现智能回复或任务处理。
  • 群聊管理:支持邀请群成员、获取群信息等操作。
  • 多媒体处理:支持下载图片、文件,解密图片,以及将语音文件(Silk)转为 MP3。
  • 数据库访问:可查询微信联系人、消息记录等数据。
  • 登录状态管理:提供获取登录二维码、检查登录状态、获取账号信息(wxid、昵称、手机号等)功能。
  • 多语言客户端:支持 Python、Rust、Go、Java、Node.js、C# 等语言的客户端开发。
  • 自动化任务:支持消息转发、定时任务等,适用于客服、教育等场景。

 

使用帮助

安装流程

WeChatFerry 的使用分为两部分:核心模块编译(开发者)和客户端安装(普通用户)。以下是详细步骤:

1. 客户端安装(以 Python 为例)

  • 安装 Python 环境:推荐使用 Python 3.10,从 python.org 下载并安装,确保 pip 可用。
  • 安装 wcferry 包:打开命令行,运行:
    pip install --upgrade wcferry
  • 验证安装:在 Python 中运行 import wcferry,无报错即成功。

2. 核心模块编译(开发者可选)

  • 准备环境
    • 安装 Visual Studio 2019(社区版),包含 C++ 开发组件。
    • 安装 Git,用于克隆仓库。
  • 克隆仓库
    git clone https://github.com/lich0821/WeChatFerry.git  
    cd WeChatFerry
    
  • 编译项目
    • 使用 VS2019 打开 WeChatFerry\WeChatFerry\WeChatFerry.sln
    • 点击“生成” > “生成解决方案”,编译完成后在 WeChatFerry\WeChatFerry\Out 目录下生成 sdk.dll
    • 注意:若遇到 protoc 错误 9009,检查 Python 环境或配置 protoc 环境变量(需安装 protobuf)。

3. 启动微信并注入

  • 准备微信:安装支持的微信版本(如 3.9.10.27 或 3.9.11.25,具体见 Releases)。
  • 运行示例:参考官方代码加载 sdk.dll 并初始化:
    import ctypes  
    sdk = ctypes.cdll.LoadLibrary("C:/path/to/WeChatFerry/WeChatFerry/Out/sdk.dll")  
    sdk.WxInitSDK(False, 10086)  # 初始化,默认端口 10086
    
  • 退出 SDK:使用完毕后运行 sdk.WxDestroySDK(),并关闭 Python 进程。

主要功能操作

消息收发

  • 发送文本消息
    from wcferry import Wcf  
    wcf = Wcf()  
    wcf.send_text("你好", "wxid_xxxx")  # wxid_xxxx 为目标微信 ID
    
    • 支持 @ 某人:wcf.send_text("你好 @Tom", "roomid_xxxx")
  • 接收消息
    wcf.enable_receiving_msgs()  # 开启接收  
    while True:  
    msg = wcf.get_msg()  
    if msg:  
    print(f"收到: {msg.content}")  
    wcf.disable_receiving_msgs()  # 停止接收
    

大语言模型集成

  • 接入 ChatGPT 示例(需自行配置 API Key):
    from wcferry import Wcf  
    import openai  
    wcf = Wcf()  
    openai.api_key = "your_api_key"  
    def chatgpt_reply(msg):  
    response = openai.ChatCompletion.create(  
    model="gpt-3.5-turbo",  
    messages=[{"role": "user", "content": msg.content}]  
    )  
    wcf.send_text(response.choices[0].message.content, msg.sender)  
    wcf.enable_receiving_msgs()  
    while True:  
    msg = wcf.get_msg()  
    if msg:  
    chatgpt_reply(msg)
    

多媒体处理

  • 发送图片
    wcf.send_image("C:/Pictures/test.jpg", "wxid_xxxx")
    
  • 语音转 MP3:使用 smc 模块(需编译),将 .silk 文件转为 .mp3
    from wcferry import smc  
    smc.silk_to_mp3("input.silk", "output.mp3")
    

群聊管理

  • 邀请成员
    wcf.invite_room_members("roomid_xxxx", ["wxid_user1", "wxid_user2"])
    
  • 获取群信息
    room_info = wcf.get_chatroom_info("roomid_xxxx")  
    print(room_info)
    

操作流程示例

  1. 启动框架:编译 sdk.dll,运行 Python 脚本加载并初始化。
  2. 登录微信:执行 wcf.get_login_qrcode() 获取二维码,扫码登录。
  3. 配置功能:编写脚本实现消息监听、自动回复或群管理。
  4. 运行测试:在命令行运行脚本,检查微信行为是否符合预期。
  5. 调试优化:若出错,可在 VS2019 中添加调试日志(如 DbgMsg("Test")),定位问题。

多语言客户端支持

注意事项

  • 当前适配微信版本为 3.9.11.25,版本不符可能导致注入失败。
  • 项目仅限学习和研究用途,遵循 MIT 许可证。
  • 多开暂不支持,需单实例运行。
CDN1
未经允许不得转载:首席AI分享圈 » WeChatFerry:功能全面的微信机器人开发框架

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们
zh_CN简体中文