微信AI 助理(Wechat AI Assistant)
在微信中與ChatGPT AI 助理進行多模態交互, 處理問答、扮演角色、響應語音、圖片和視頻消息、總結文章和網頁、搜索互聯網等等。把個人微信變成你的AI 助理。
簡介
本項目使用WeChatFerry 庫控制Windows PC 桌面微信客戶端, 調用OpenAI Assistant API 進行智能多模態消息處理。
- 在微信中與ChatGPT AI 對話(文字或語音),進行多模態交互。
- 使用WeChatFerry 接入Windows 桌面版微信, 對微信的兼容性高(無需實名認證), 風險低。
- 使用OpenAI Assistant API 自動管理群聊對話上下文。
- 使用gpt-4o 等視覺支持模型,可進行圖片/視頻內容讀取分析。
- 文檔上傳,文檔內容檢索,根據文檔內容回答問題(使用OpenAI 內置file_search 工具)。
- AI 自行判斷調用代碼解釋器和外部工具完成任務。現有工具: bing_search (必應搜索), browse_link (瀏覽網頁鏈接), text_to_image (文字描述作圖), text_to_speech (文本轉語音), mahjong_agari(立直麻將和牌計算:番數,符數,役種,點數等)
- 後續計劃開發: 其他API 和工具調用/ 企業微信和微信公眾號登錄
- QQ群: 812016253 點擊加入
- 支持微信桌面客戶端版本:3.9.10.27
使用案例
- "畫一張貓和水豚一起滑雪的照片"
- "(引用圖片) 根據圖片內容作一首詩,並讀給我聽"
- "(引用公眾號文章或網頁鏈接) 總結一下文章的要點"
- "搜索關於OPENAI的新聞, 把結果讀給我聽"
- "立直麻將手牌1112345678999m 自摸0m,和什麼役種和點數?"






部署說明
部署需要的條件:
- OpenAI API Key 注: 本項目依賴於Assistant API,非官方的API 入口請確認是否支持Assistant API。
- Windows 電腦或服務器。
- (可選, 中國國內) 訪問OpenAI 的代理服務器(例如openai-proxy), 或者使用API 代理。
- (可選,手動部署需要) 安裝好Python 環境和Git
- Python 下載頁面(推薦Python 3.11, 本項目部分依賴在Python 3.12 以上版本無法自動安裝)
- Git 下載頁面
- (可選, 供聯網搜索插件使用) Bing Search API Key. 獲取地址
方法1: 從Release下載(直接使用)
- 到Releases 中下載打包好的可執行文件和微信安裝文件
- 安裝微信Windows 桌面指定版本(安裝包已提供)。
- 將壓縮包解壓到本地。
- 編輯config.yaml 文件(必填項目為openai api_key,配置項說明見文檔。)
- 運行"main.exe", 程序將喚起微信客戶端, 登錄後程序開始運行。
方法2: 源碼手動部署(開發)
- 安裝微信Windows指定版本版本。請到Release 中下載。
- 克隆項目代碼到本地
git clone https://github.com/latorc/Wechat-AI-Assistant.git
- (可選) 創建Python 虛擬環境並激活
python -m venv .venv
call .venv S cripts a ctivate.bat
- 安裝依賴的庫; 這裡使用清華的來源, 方便中國國內用戶快速下載
cd Wechat-AI-Assistant
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
- 編輯配置文件: 重命名配置文件config_template.yaml 為config.yaml, 並編輯配置項。配置項說明見文檔。
- 運行main.py
程序會自動喚起微信客戶端, 之後掃碼登錄微信桌面客戶端, 即可開始使用。
主要配置項
| 配置項 | 說明 | 舉例 |
|---|
| api_key | 你的OpenAI API Key | sk-abcdefg12345678.... |
| base_url | API 的網址, 使用默認API 無需改動, 使用代理或第三方API 時填寫 | https://api.openai.com/v1 |
| proxy | 用於訪問OpenAI 的代理服務器地址, 格式為"http://地址:端口號" | http://10.0.0.10:8002 |
| chat_model | 默認使用的聊天模型 | gpt-4o |
| admins | 管理員微信號列表, 只有管理員可以使用管理員命令 | [wx1234, wx2345] |
其他配置選項請參見config.yaml 中的註釋。
使用提示
- 添加微信AI助理的微信好友, 或將其加入群聊中並@它, 與它進行對話。
- 直接與其對話將調用ChatGPT 進行回答。可以發送圖片和文件後, 引用圖片和文件並@AI助理, 指示其進行處理。
- 微信AI助理會根據用戶的文本, 自主選擇調用工具完成任務。現階段工具包括繪圖(OpenAI dall-e-3), 代碼解釋器, 合成語音(OpenAI API), 訪問網頁, 搜索等。
- 繪圖質量暫時由AI 控制
- 只支持指定版本微信,請在設置中關閉微信自動更新。運行前請關閉打開的微信桌面客戶端。
管理員命令
定義了管理員後(config.yaml 文件中的admins 項目), 管理員可以使用管理員命令。默認的命令如下:
| 命令 | 說明 |
|---|
| $幫助 | 顯示幫助信息 |
| $刷新配置 | 重新載入程序配置 |
| $清除 | 清除當前對話記憶 |
| $加載<預設名> | 為當前對話加載預設 |
| $重置預設 | 為當前對話重置預設到默認預設 |
| $預設列表 | 顯示可用的預設 |
| $id | 顯示當前對話的id |
這些命令可以在config.yaml 中修改
對話預設功能
- 對話預設是對當前對話(群聊或單聊)生效的系統提示詞和消息包裝方式。
- 對AI助理使用默認命令"$加載<預設名>"可以為當前對話加載預設。 "$預設列表"命令顯示當前可用的預設及其描述。
- <預設名>為定義在presets 目錄下的同名yaml 配置文件。
- default.yaml 是默認預設, 對話默認使用。
- 可以用配置文件中的group_presets 字段,為對話設置預設,程序啟動時自動加載。
- 要創建自己的預設, 請參考presets 目錄下的default.yaml, 即默認的預設。複製該文件,改名成你的預設名稱,並修改其中信息。
- desc: 預設的簡單描述
- sys_prompt: 預設的系統提示詞
- msg_format: 包裝用戶消息的格式字符串, 可用替換變量{message}=原消息, {wxcode}=發送者微信號, {nickname}=發送者微信暱稱。如不設置則直接發送源消息。
工具(插件)
- 工具代表外部函數和API, 可以供AI 模型自主選擇調用, 來完成額外任務, 如畫圖, 聯網搜索等功能。
- 使用"$幫助" 命令顯示啟用的工具插件。
- 工具配置: 在config.yaml 中的tools 字段, 定義了工具是否啟用, 以及工具的配置選項。要禁用工具, 只需刪除或者註釋掉插件名。某些插件需要額外配置選項才能工作, 比如bing_search (必應搜索) 需要api_key 才能工作。
- 每個工具在Assistant 中對應一個Function Tool, 可以在OpenAI Playground 查看。
- 工具代碼位於tools 目錄下, 繼承ToolBase 類並實現接口。
工具介紹:
- bing_search (必應搜索): 使用微軟Bing Search API 搜索互聯網上的內容。
- 註冊獲取Bing search API 見: https://www.microsoft.com/bing/apis/bing-web-search-api
- browse_link: 瀏覽網頁鏈接。使用Selenium 獲取網頁文字內容供AI 使用。
- text_to_image: 文本作圖。 使用dall-e 模型根據文字生成圖片。
- text_to_speech: 文本轉語音。使用OpenAI API 從文本生成語音音頻。
- audio_transcript: 語音轉文本。使用OpenAI Whipser 將語音轉錄成文本。
- mahjong_agari: 日麻點和牌點數計算。計算役種,番數符數,點數等信息。使用庫: https://github.com/MahjongRepository/mahjong
其他技巧和提示
- 在國內無法連接官方API 時, 可以嘗試使用API 代理, 或者使用科學上網代理。一個免費的API 代理是openai-proxy.com, 將base_url 替換成https://api.openai-proxy.com/v1
- 可以使用手機模擬器(如逍遙模擬器) 登錄微信, 並登錄Windows 微信客戶端, 即可保持微信持續在線。不要打斷模擬器的掃碼過程,可能會觸發微信檢測封號。
- 程序調用了OpenAI 的Assistant API. 運行時,程序將創建並修改一個名為"Wechat_AI_Assistant" 的assistant 用於對話。你可以在OpenAI Playground 測試這個助理。
- 程序會上傳照片和文件到OpenAI 進行處理。你可以在OpenAI管理後台查看和刪除你的文件。 OpenAI 不對文件本身進行收費,但是對文件的總佔用空間有限制。
- 程序把所有工具的定義描述, 搜索結果和網頁全文都發給OpenAI。需要節省token 可以關閉部分工具(插件)。
資源
- QQ群: 812016253 點擊加入
- 鳴謝: 本項目基於WeChatFerry. 感謝lich0821 大佬的WeChatFerry 項目
- 推薦: 一鍵部署自己的ChatGPT網站ChatGPT-Next-Web 項目
- 參考: 使用網頁版微信登錄的微信機器人ChatGPT-on-Wechat 項目
- 參考: OpenAI Cookbook 博客教程Assistant API Overview
- 參考: OpenAI API Reference