机器人被封了?DOW颠覆更新拯救你!

加我进AI讨论学习群,公众号右下角“联系方式”\x0d\x0a关注发送“知识精华”,可获得免费的知识链接地址

机器人被封了?DOW颠覆更新拯救你!

原标题:机器人被封了?DOW颠覆更新拯救你!
文章来源:金子的知识星球
内容字数:5922字

微信机器人升级:告别itchat,拥抱GEWE协议

大家好!最近因为年前事务繁忙,公众号更新断更了近一个月,实在抱歉!元旦期间的大规模微信检测,让许多基于itchat协议的微信机器人“阵亡”,相信不少朋友都深有体会。今天,我们就来聊聊这次升级以及如何应对。

itchat协议的限制与GEWE协议的优势

之前大家常用的COW或DOW等微信机器人,大多依赖于itchat库。itchat是一个基于Web协议的库,这意味着它只能在网页端登录微信。所以,当你在手机上登录微信后,会看到“网页微信已登录”的提示。这次微信的检测正是针对这种Web协议的登录方式,所以很多机器人纷纷“倒下”。

为了解决这个问题,我们升级到了GEWE协议。GEWE是一个基于iPad协议的库,它不在微信检测的范围内。我个人测试使用了一个多月,运行稳定,没有任何异常。

GEWE协议相比itchat,拥有许多显著优势:它提供了更丰富的接口,例如发送语音消息、操作朋友圈、自动拉人进群等功能,这些都是itchat所不具备的。虽然需要一定的编程基础来接入这些新功能,但对于学习过AI编程的朋友来说,难度并不大。即使像我这样代码能力一般的人,也已经成功接入了大部分功能。

当然,GEWE协议也有一些不足之处。由于协议的改变,很多旧的插件和接口都无法直接使用,需要重新进行封装。可以简单理解为,原来的接口是A,现在变成了B,名字都变了,自然就识别不到了。

GEWE协议部署指南:Docker一键部署

接下来,我们进入实战环节,讲解如何部署GEWE协议及相关机器人。如果你熟悉我的以往教程,那么接下来的步骤应该很容易理解。对于新手来说,建议先申请一个腾讯云或其他云服务商的服务器,并安装宝塔面板,这方面可以参考我之前的COW初级使用教程。

1. 部署GEWE

我们使用Docker来部署GEWE,方便快捷。以下步骤基于宝塔面板,无需复杂的命令行操作。

首先,你需要下载GEWE镜像。可以选择阿里云镜像仓库或GitHub镜像仓库:

阿里云镜像仓库(国内):

docker pull registry.cn-chengdu.aliyuncs.com/tu1h/wechotd:alpine

docker tag registry.cn-chengdu.aliyuncs.com/tu1h/wechotd:alpine gewe

GitHub镜像仓库:

docker pull ghcr.io/tu1h/wechotd/wechotd:alpine

docker tag ghcr.io/tu1h/wechotd/wechotd:alpine gewe

然后,在root用户下创建一个名为gewechat的文件夹,并在其中创建data文件夹和docker-compose.yml文件。将以下内容复制到docker-compose.yml文件中:

version: '3'
services:
  gewechat:
    image: gewe
    container_name: gewe
    volumes:
      - ./data:/root/temp
    ports:
      - "2531:2531"
      - "2532:2532"
    networks:
      - gewe-network
    extra_hosts:
      - "host.docker.internal:host-gateway"
    restart: always
networks:
  gewe-network:
    driver: bridge

在宝塔面板的终端中,执行以下命令启动Docker:

docker-compose up -d

看到启动日志后,查看Docker容器是否已成功启动,这表示GEWE部署完成。

2. 部署Dify-On-Wechat (DOW)

关于DOW的下载和安装,请参考我之前的教程。这里主要讲解如何连接GEWE。你需要在config.json文件中配置以下参数(请根据实际情况修改IP地址和端口号):

{
  "channel_type": "gewechat","gewechat_app_id": "","gewechat_token": "","gewechat_base_url": "http://172.17.0.1:2531/v2/api","gewechat_callback_url": "http://172.17.0.1:9919/v2/api/callback/collect","gewechat_download_url": "http://172.17.0.1:2532/download"
}

请注意,gewechat_callback_url的IP地址不能使用127.0.0.1localhost,必须是局域网IP或公网IP。9919端口是DOW服务的端口,如果使用Docker部署,请确保将该端口映射到宿主机。

启动成功后,token和appid会自动保存到config.json文件中。

如果遇到错误,请检查网络配置,例如代理、服务器位置、回调地址等。如果手机上退出了iPad微信,需要删除config文件中GEWE的id和token。

语音消息支持及其他限制

GEWE目前支持发送语音消息,但仅限于20秒以内的语音。机器人发送语音消息则没有时长限制。语音功能需要在Dify应用中开启,并安装ffmpeg依赖(Docker部署已集成)。

需要注意的是,GEWE目前仅支持接收和发送文字消息和图片消息,其他消息类型支持还在逐步完善中。此外,为了保证稳定性,建议将GEWE服务部署在与登录微信的手机同一省份的服务器或电脑上。

本项目仅供个人学习和娱乐使用,请勿用于商业用途。

结语

希望这篇教程能够帮助大家顺利升级微信机器人。如有任何疑问,欢迎在评论区留言或加入我们的AI学习交流群。


联系作者

文章来源:金子的知识星球
作者微信:
作者简介:AIGC研究者,游戏制作人。深耕音舞赛道10余年,负责网易《劲舞时代》、《AU Beat》、其他地区的《Party Masters》等多个产品。 在文案、流程图、脑图、2D绘画、LOGO设计等多方面,验证了AI的使用价值。

阅读原文
© 版权声明
Trae官网

相关文章

Trae官网

暂无评论

暂无评论...