過程略顯復(fù)雜,對沒有云服務(wù)器的小伙伴,不是特別友好。 1. 項(xiàng)目簡介
一個基于HOOK機(jī)制的微信機(jī)器人:
所謂 'Hook'機(jī)制,是計(jì)算機(jī)編程中常用的一種技術(shù),它允許開發(fā)者攔截系統(tǒng)或應(yīng)用程序的某些事件、消息。比如在微信機(jī)器人中,應(yīng)用會攔截用戶發(fā)送的消息,然后根據(jù)消息進(jìn)行判斷,進(jìn)而調(diào)用不同的API,把調(diào)用結(jié)果回復(fù)給對方用戶,從而代替人工回復(fù)信息。 總的來說,自定義程度高,操作簡單,小白可輕松上手! 2. 前置準(zhǔn)備除了自己常用的微信賬號以外,還需要準(zhǔn)備一個微信小號。最終我們會把這個小號改造成一個機(jī)器人,然后用你的大號對它發(fā)號施令。 本項(xiàng)目只能在 Windows 系統(tǒng)中運(yùn)行,且目前依賴指定微信版本。貼心的是,作者已經(jīng)把微信安裝包準(zhǔn)備好了:從倉庫主頁,找到 Releases 點(diǎn)擊進(jìn)去, ![]() 在Assets中找到微信安裝包并下載: ![]() 3. 項(xiàng)目安裝3.1 環(huán)境準(zhǔn)備下載并安裝依賴包: git clone https://github.com/ngc660sec/NGCBot.git 此外,因?yàn)槟壳爸荒苁褂?3.9.2 版的微信安裝包,在掃碼登錄時會遇到版本過低的問題: ![]() 目前作者也提供了解決方案:在項(xiàng)目文件夾下新建
3.2 修改配置文件項(xiàng)目配置文件在 配置文件的開始進(jìn)行超級管理員的配置,填入你大號的微信號,用于向小號發(fā)號施令。 ## 超級管理員配置 你的微信號怎么找?任意聊天窗口中,點(diǎn)擊你的微信頭像即可找到~ 如果需要使用 AI 回復(fù)功能,還需要配置大模型的應(yīng)用接口,目前該項(xiàng)目只支持:訊飛星火大模型,OpenAI,百度千帆大模型,填寫任意一個即可。 以星火大模型為例,需要在下方配置處填入 ApiSecret ApiKey 等信息。 ![]() 目前訊飛星火 spark lite 模型完全免費(fèi),不知道如何獲取這些 key 的同學(xué),可參考猴哥的這篇總結(jié):拒絕Token焦慮,盤點(diǎn)可白嫖的6款LLM大語言模型API~ 3.3 項(xiàng)目啟動首先打開電腦端微信,執(zhí)行修復(fù)腳本,解決版本過低而不能登錄的問題:
然后執(zhí)行 python main.py,掃碼登錄,看到如下信息,說明已經(jīng)啟動成功: ![]() 如果遇到如下報(bào)錯,把微信從任務(wù)管理器中關(guān)掉后重啟,再重新登錄一下就好了。 連接失敗: Connection refused 登錄成功后,用你的大號給小號發(fā)一條消息,第一個紅色箭頭處可以看到你大號的微信號,第二個紅色箭頭是小號: ![]() 如果看到紅色報(bào)錯,說明你的 AI 對話模型配置失敗,需要查看配置文件進(jìn)行排查: ![]() 只要一個 AI 對話模型配置成功,就可以成功調(diào)用,如下是我配置的星火大模型返回的結(jié)果: ![]() 啟動成功后,把小號拉到一個群聊中,對他發(fā)號施令吧~ 更多功能使用,參考官方倉庫??https://github.com/ngc660sec/NGCBot 這里展示幾張示例: ![]() ![]() ![]() 不過猴哥親測了下,有部分接口已經(jīng)失效了,看來很有必要進(jìn)行二次開發(fā)~ 寫在最后至此,一個本地的微信機(jī)器人就搭建好了,感興趣的小伙伴趕緊去試玩~ 項(xiàng)目支持二開,有一定開發(fā)能力的同學(xué)可以基于此添加更多接口和功能。 |
|