加我進AI討論學習群,公眾號右下角“聯系方式”\x0d\x0a關注發送“知識精華”,可獲得免費的知識鏈接地址
原標題:機器人被封了?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.1
或localhost
,必須是局域網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的使用價值。