macOS 微信多开工具 - 通过应用克隆和 Bundle ID 修改实现多实例运行。
- 微信多开:在 macOS 上同时运行多个微信实例
- 自动检测:支持
WeChat.app和微信.app,自动检测已安装的版本 - 安全可靠:使用 ad-hoc 签名,不修改原版微信
- 两种实现:提供 Shell 脚本版本和 Go 二进制版本
- 交互式管理:支持交互式菜单和重命名功能
- 复制
/Applications/WeChat.app到同目录 - 修改副本的
Info.plist中的CFBundleIdentifier - 重新签名副本应用
- 使用
open -n启动多个实例
macOS 通过 CFBundleIdentifier 唯一标识一个应用。同名应用(bundle ID 相同)只能运行一个实例。修改 bundle ID 后,系统会将其视为独立应用。
- macOS 系统
- 已安装微信(
/Applications/WeChat.app或/Applications/微信.app) sudo权限(用于复制和重新签名应用到/Applications目录)- 系统工具:
ditto、codesign、xattr、PlistBuddy
# 克隆仓库
git clone https://github.com/robinxaix/multiwechat.git
cd multiwechat
# 构建
go build -o wechat-multi .
# 运行(需要 sudo 权限)
sudo ./wechat-multi --help# 直接使用
sudo ./wechat-multi.sh --help# 创建一个微信副本并启动(双开)
sudo ./wechat-multi auto
# 创建 3 个微信副本并启动(多开)
sudo ./wechat-multi multi 3
# 微信更新后重建所有副本
sudo ./wechat-multi rebuild
# 关闭所有副本(保留原版微信)
sudo ./wechat-multi killsudo ./wechat-multi auto # 创建一个副本并启动
sudo ./wechat-multi multi N # 创建 N 个副本并启动
sudo ./wechat-multi setup # 仅创建副本,不启动
sudo ./wechat-multi start # 启动原版微信和所有已有副本
sudo ./wechat-multi rebuild # 重建所有已有副本
sudo ./wechat-multi kill # 关闭所有副本(保留原版)
sudo ./wechat-multi rename # 交互式重命名副本显示名称
sudo ./wechat-multi menu # 交互式管理菜单
sudo ./wechat-multi --force # 跳过确认提示sudo ./wechat-multi.sh auto # 创建一个副本并启动
sudo ./wechat-multi.sh multi N # 创建 N 个副本并启动
sudo ./wechat-multi.sh setup # 仅创建副本
sudo ./wechat-multi.sh start # 启动原版和已有副本
sudo ./wechat-multi.sh rebuild # 重建所有副本
sudo ./wechat-multi.sh kill # 关闭所有副本
sudo ./wechat-multi.sh --force # 跳过确认提示# 创建一个微信副本(命名为"小绿书")
sudo ./wechat-multi setup
# 启动原版微信和"小绿书"
sudo ./wechat-multi start
# 创建 3 个带编号的副本(小绿书1、小绿书2、小绿书3)
sudo ./wechat-multi multi 3
# 微信更新后重新构建所有副本
sudo ./wechat-multi rebuild
# 重命名副本的显示名称
sudo ./wechat-multi rename
# 使用交互式菜单管理所有实例
sudo ./wechat-multi menu创建一个名为 小绿书.app 的微信副本,并启动原版微信和副本。
sudo ./wechat-multi auto创建 N 个带数字编号的副本(小绿书1.app、小绿书2.app 等),并启动所有实例。
# 创建 3 个副本
sudo ./wechat-multi multi 3仅创建微信副本,不启动任何实例。适用于需要先配置再启动的场景。
sudo ./wechat-multi setup启动原版微信和所有已创建的副本。不创建新副本。
sudo ./wechat-multi start检测所有已存在的副本并重新构建。适用于微信或系统更新后。
sudo ./wechat-multi rebuild通过 AppleScript 优雅关闭所有小绿书副本,保留原版微信运行。
sudo ./wechat-multi kill交互式重命名副本的显示名称。
sudo ./wechat-multi rename提供交互式 TUI(文本用户界面)管理所有微信实例。
sudo ./wechat-multi menuauto命令创建:小绿书.appmulti N命令创建:小绿书1.app、小绿书2.app、...- 副本显示名称与应用名称一致
每个副本会生成唯一的 CFBundleIdentifier,通过扫描 /Applications 目录下所有应用的 Info.plist 避免冲突。
- 删除旧签名目录
Contents/_CodeSignature - 移除隔离属性
com.apple.quarantine(防止 Gatekeeper 拦截) - 执行 ad-hoc 签名:
codesign --force --deep --sign - --timestamp=none
每个副本会创建 .wechat_source_info 文件,记录创建时间和源版本号。
wechat-multi/ # 项目根目录
├── main.go # Go 版本源码
├── wechat-multi.sh # Shell 版本脚本
├── go.mod # Go 模块定义
├── icon/ # 图标资源
├── docs/ # 文档目录
│ └── wechat-multi-analysis.md # 架构分析文档
├── .gitignore # Git 忽略文件
├── LICENSE # 许可证
└── README.md # 本文件
- 权限错误:确保使用
sudo运行命令 - 微信未找到:检查微信是否安装在
/Applications/WeChat.app或/Applications/微信.app - 签名失败:确保使用
sudo运行,且 Keychain 可访问(codesign是 macOS 自带工具,无需安装 Xcode Command Line Tools) - 副本无法启动:尝试使用
rebuild命令重新构建副本
Go 版本支持详细的错误信息输出,帮助诊断问题。
- 纯标准库实现,无外部依赖
- 单文件架构,便于维护
- 完整的错误处理
- 交互式用户确认
本项目采用 MIT 许可证,详见 LICENSE 文件。
欢迎提交 Issue 和 Pull Request。
本工具仅供学习和研究使用。使用本工具产生的任何后果由用户自行承担。请遵守微信使用条款和当地法律法规。