Mac 微信多開 wechat-multi-open:複製 App 讓多帳號同時上線

wechat-multi-open 是一支 621 行的開源 bash 腳本,用複製 App、更換識別碼、本機重簽的做法讓 macOS 上的微信可以多開,帳號與聊天紀錄各自隔離,腳本本身零連網。本文整理它的實際機制、原始碼裡文件沒寫的細節,以及副本不會跟著微信更新、授權狀態不明、十個月無維護這些使用前該算的帳。

用 AI 摘要這篇文章:

要在 Mac 上同時登入兩個以上的微信帳號,官方用戶端沒有這個功能。開源專案 wechat-multi-open 補的就是這個洞:一支 621 行的 bash 腳本,把 /Applications 裡的 WeChat.app 複製成 WeChat2.app、WeChat3.app,換掉每個副本的應用程式識別碼,再用本機簽章工具重新簽署。macOS 於是把每個副本當成不同的 App,各自的帳號與聊天紀錄互不干擾。

先把判斷放在前面:這支腳本方法透明、執行時不連任何網路、原版微信不被修改,以一支自己動手的管理工具來說,該有的分寸都有。但它有兩個你必須先算進去的代價:副本是建立那一刻的快照,不會跟著微信更新,微信伺服器開始擋舊版掃碼時,副本會直接卡在登入畫面,Issue 討論區已經有使用者回報這個狀況;同時這是一個上傳後就沒再動過的專案,全部提交集中在 2025 年 10 月 23 日當天(UTC 時間),README 掛著 MIT 授權徽章,倉庫裡卻找不到授權條款檔案。

適合誰:工作與私人帳號要分開、一次兩三個帳號同時上線就夠、遇到微信強制更新願意自己重跑一次腳本的人。不適合誰:想裝完就永久穩定、只守著一個重要帳號、或希望背後有人持續維護的人。這篇文章的判斷基礎是整份腳本原始碼、repo 的提交與 Issue 紀錄,加上微信官方下載頁的版本對照;沒有在實機上安裝操作。

複製 App、換識別碼、重新簽章:多開是怎麼發生的

macOS 判斷兩個 App 是不是同一個,關鍵不在名稱,在 Info.plist 裡的 CFBundleIdentifier(應用程式識別碼)。微信的識別碼是 com.tencent.xinWeChat;腳本做的事,是複製整個 WeChat.app 之後,把副本的識別碼改成 com.tencent.xinWeChat2、com.tencent.xinWeChat3,依此類推。

識別碼一換,系統就把副本當成另一個 App,各自的資料寫進各自的路徑。README 的技術說明揭露的位置是 ~/Library/Containers/ 之下,每個識別碼一層資料夾;腳本刪除副本時的資料清理也對著同一路徑寫,兩邊一致。帳號登入狀態與聊天紀錄因此分家,WeChat2 的紀錄不會混進 WeChat3,這是它能同時登入多個帳號的原因。這條路徑出自官方文件,本篇沒有在實機上驗證過實際資料夾,你要用的時候可以在自己的 Mac 上對照。

改識別碼還不夠。macOS 會驗應用程式簽章,內容被動過的 App 簽章就跟著失效,所以腳本先清掉延伸屬性,再用 codesign 加上臨時簽章(ad-hoc signing,本機自簽,不需要開發者帳號)。整個建立流程在程式碼裡是六個步驟:複製、改識別碼、改顯示名稱、清屬性、重簽、修權限。原版 WeChat.app 從頭到尾不被修改,被動手的只有副本。

從安裝到刪除:官方示範的完整流程

README 提供兩種安裝方式,用 curl 抓單一腳本下來執行,或 git clone 整個倉庫:

git clone https://github.com/nullbyte-lab/wechat-multi-open.git
cd wechat-multi-open
./wechat-multi-open.sh

想要內建圖示的話,icon 資料夾要跟著腳本一起存在,所以完整 clone 比抓單檔保險。執行需要管理員權限(複製到 /Applications 屬於系統層寫入),簽章與屬性操作依賴 Xcode Command Line Tools 裡的工具鏈,腳本沒有自動檢查,缺了要先裝。

執行後是互動式選單,八個選項涵蓋完整生命週期:查看目前狀態、設定實例數量、刪除指定副本、刪除全部副本、選擇啟動哪些實例、停止所有微信程序、自訂副本圖示、離開。輸入想要的實例總數(含原版),腳本掃描現有副本、只補齊缺少的編號,已經存在的 WeChat2 不會被覆蓋。啟動也做得細:編號 0 代表原版,可以輸入「0 2 3」指定啟動哪幾個,或輸入 all 一次全部打開,多開之後不必再自己到應用程式資料夾裡逐個點開。刪除前有二次確認,也可以順便清理各副本的資料目錄,不清理的話,重建副本後登入資料還在。這條流程出自 README 的示範與選單程式碼,它證明的是功能存在與操作設計,實際跑起來的穩定度是另一回事。

wechat-multi-open 官方展示圖:macOS Dock 中多個微信副本圖示同時存在,每個副本是獨立應用程式Pin
專案官方展示的 Dock 畫面:多個微信副本以獨立圖示並存,每個副本可登入不同帳號

選單輸入的上限是 2 到 20 個實例。這個數字只是輸入檢查,不是技術上限:程式掃描副本的迴圈認得 WeChat2 到 WeChat99,手動建立的副本一樣會被列出來。README 的常見問答叫你想突破上限時去改「腳本第 449 行」,這個行號已經過時,實際的檢查在 580 行附近,照著文件找會找到圖示功能的程式中間。

原始碼裡三個文件沒寫的細節

整份腳本讀完,有幾個地方值得在安裝前先知道。

腳本執行時完全不連網。全文找不到任何下載、上傳或遙測指令,用到的都是本機工具:複製檔案、修改屬性清單、簽章、改權限。這點值得單獨講,因為打著多開名號的封閉工具不少,有的還要收費;程式碼公開可讀加上零連網,是這類工具裡你能拿到最乾淨的保證。

刪除副本前,腳本會先執行 killall WeChat2 這類指令來停止程序。依程式碼判斷,這行指令其實找不到對象:腳本改了副本的識別碼與顯示名稱,但沒有改可執行檔名,所有副本的程序名都還是 WeChat。刪除前自己先把該副本關掉,比依賴這行指令保險。

重新簽章的步驟失敗時,腳本只印一行黃色警告就繼續往下走,副本可能以未完成簽章的狀態存在。對應 README 問答自己承認的另一件事:第一次啟動副本被系統攔下來時,要去系統設定的隱私與安全性裡手動按「仍要打開」。看到被擋不用慌,這是這種做法的正常副作用,不是裝壞了。

真正的成本:副本停在建立那天,微信一強更就卡住

複製式多開有一個寫在結構裡的問題:原版微信會自動更新,副本不會。每個副本是建立那一刻微信的完整快照,微信伺服器哪天開始拒絕舊版掃碼登入,所有副本就會一起卡在登入畫面。

這個情境已經發生過。Issue 討論區在 2025 年 11 月 3 日有一則回報:原版可以正常登入,副本掃碼時伺服器回覆版本過低,後續兩位使用者也留言遇到同樣狀況。同年 12 月另一則留言把原因講得更完整:原版會自動更新,副本停在建立當時的版本,在副本裡點更新會報錯,只能刪掉副本、保留資料、再重建一次。2026 年 6 月還有使用者回報副本不被辨識、新建的副本直接打不開。這些回報到查核當天都沒有得到修復。

GitHub Issue 討論區畫面:使用者回報原版微信可登入,副本掃碼時伺服器提示版本過低Pin
Issue 討論區的回報:原版可登入,副本掃碼被伺服器回覆版本過低,此問題至今未修

處理流程社群已經整理出慣例(出自 Issue 留言,不是官方文件):先刪副本但選擇不清理資料目錄,把原版微信更新到最新,再重跑腳本重建副本。聊天紀錄放在 App 外面的資料目錄,只要不清理,重建後登入資料還在。把這套循環當成每次微信強制更新後的固定成本,再決定要不要用它。

時間點也要對齊。README 認證的起點是微信 4.0.6.17,腳本停留在 2025 年 10 月;微信官方下載頁的版本線現在已經走到 4.1.12(2026 年 8 月查核)。微信走完整個 4.1 世代的這段時間,腳本一行都沒改過,新的相容性問題只能靠你自己試出來,或翻 Issue 討論區。

499 星的背後:一天寫完就停更的專案

這個專案在 GitHub 上有 499 顆星、56 個 fork,數字看起來像活躍專案。拉出提交紀錄會看到另一個故事:全部 8 次提交落在 2025 年 10 月 23 日下午(UTC 時間,台灣時間是 10 月 24 日凌晨),第一次到最後一次相距一小時四十三分鐘,之後沒有新的提交,也沒有發佈過任何版本。發佈者的帳號在第一次提交前十八分鐘才建立,整個帳號只有這一個公開倉庫,Issue 討論區裡也看不到作者回覆。

停更最直接的影響是相容性要自己扛。2025 年 12 月起有使用者在 macOS Tahoe 26.x 與微信 4.1.x 的組合上回報:換圖示功能顯示成功但圖示不變,把微信降到 4.1.0.34 之後又恢復正常。這類回報全部停在原處。

授權狀態也要說清楚。README 頂端的徽章與文末都寫著 MIT License,但倉庫裡沒有 LICENSE 檔案,GitHub 的授權偵測結果是沒有偵測到授權。公開不等於授權,條款檔案缺席時,法律上你只有查看的權利,修改與再散佈的基礎是空的。個人自己用風險很低,想把這支腳本包進自己的產品、或改作後散佈的人,要先意識到這一點。

內建圖示的功能倒是真的:倉庫附了藍、經典、深色、漸層、極簡、紫色六個 .icns 圖示檔,套用後腳本會清系統圖示快取並重啟 Dock,README 也建議到 macosicons 網站下載更多圖示丟進 icon 資料夾。有換 Mac App 圖示經驗的人可以參考 Mac Icon 下載:macosicons 換圖示與授權。有趣的是,README 的開發藍圖還把「支援圖示替換」列為未完成事項,這個功能明明已經做進選單裡,文件過時的程度可見一斑。

帳號會不會被限制:目前沒有人有答案

用改過識別碼、重新簽章的微信副本登入,帳號會不會被騰訊視為異常?這個問題在 Issue 討論區被問過一次,只有提問、沒有任何回答;微信服務條款對這類修改版用戶端的實際執行尺度,也找不到可信的公開說明。誠實的答案是:不知道。

面對未知,建議用順序處理:先用次要帳號或工作用小號建一個副本掃碼試試,跑一陣子沒事,再考慮主要帳號。客服多開這種本來就登小號的場景,試錯成本本來就低;主力帳號只有一個、又靠它聯繫所有客戶的人,沒有必要第一個拿去試。

把它當一次性的腳本,不要當長期產品

wechat-multi-open 值得用的場景很明確:Mac 上需要兩三個微信帳號同時上線、帳號之間要完全隔離,而且你能接受每次微信強更後花十分鐘重跑「刪副本、更新原版、重建」的循環。它不連網、不動原版、方法全部公開,這些特質在多開工具這個品類裡並不常見。要留意的是空間:每個副本都是完整複製,佔用空間直接乘上份數,/Applications 塞滿大型 App 的人可以先看看 AppPorts 這類把大型 App 搬到外接 SSD 的工具

不值得用的場景同樣明確:你要的是裝一次就永遠穩定的產品,或你的帳號重要到不能中斷。這種情況下,回到官方單開,或用 macOS 另建一個系統使用者跑第二個微信(不需要任何工具,代價是切換帳號麻煩),都比依賴一支十個月沒人維護的腳本穩當。

想先看看再說的人,最低成本的第一步是把倉庫 clone 下來讀腳本本身:621 行 bash 沒有混淆,讀完你會知道自己要執行的每一行在做什麼,這也是它跟封閉多開工具最大的差別。真的要試,抓次要帳號、建一個副本、掃碼,登得進去而且用起來正常,再考慮第二個;看到版本過低的提示,就是撞上這篇說的結構性成本,回頭照前面的循環處理就行。

如果你的需求其實落在微信周邊的其他地方:下載 Channels 影片可以看 wx_channel 下載工具,影片的官方儲存與代理風險分析在 微信影片下載,在 Mac 上閱讀微信讀書則有開源的 微信讀書桌面版

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 893

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


Share to...