Skip to content

nullbyte-lab/wechat-multi-open

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WeChat Multi-Instance Manager for macOS

macOS WeChat License Stars

交互式微信多开管理工具 - 智能、灵活、易用

功能特性安装使用使用说明演示常见问题


Features

  • 交互式菜单 - 傻瓜式操作,无需记忆命令
  • 智能检测 - 自动扫描已有副本,避免重复创建
  • 增量创建 - 只创建缺失的实例,节省时间
  • 选择启动 - 指定启动哪些实例,支持多选和 all
  • 灵活删除 - 可删除指定副本或全部清理
  • 图标自定义 - 内置 6 款图标,支持自定义扩展
  • 彩色输出 - 清晰易读的彩色交互界面
  • 安全保护 - 二次确认、错误处理、权限隔离

效果展示

多个微信实例同时运行
多个微信实例同时运行在 Dock 栏


Installation

Quick Install

# 下载脚本
curl -fsSL https://raw.githubusercontent.com/nullbyte-lab/wechat-multi-open/main/wechat-multi-open.sh -o ~/wechat-multi.sh

# 添加执行权限
chmod +x ~/wechat-multi.sh

# 运行
~/wechat-multi.sh

Manual Install

# 克隆仓库
git clone https://github.com/nullbyte-lab/wechat-multi-open.git

# 进入目录
cd wechat-multi-open

# 运行脚本
./wechat-multi-open.sh

Usage

主菜单

运行脚本后会显示交互式菜单:

==========================================
        微信多开管理工具 v2.0
==========================================

[✓] 原版微信: /Applications/WeChat.app
[✓] 已创建 5 个副本:
   - WeChat2.app
   - WeChat3.app
   - WeChat4.app
   - WeChat5.app
   - WeChat6.app

总共可用: 6 个微信实例(1 个原版 + 5 个副本)

请选择操作:
  1) 查看当前状态
  2) 设置微信实例数量(含原版)
  3) 删除指定副本
  4) 删除所有副本(恢复单开)
  5) 选择启动微信实例
  6) 停止所有微信进程
  7) 自定义副本图标
  8) 退出

请输入选项 [1-8]:

功能说明

1. 查看当前状态

实时显示已创建的副本数量和列表。

2. 设置微信实例数量

输入目标数量(含原版),脚本会自动计算并创建缺失的副本。

示例

当前: 1 个原版 + 2 个副本
输入: 5
结果: 只创建 2 个新副本(WeChat4、WeChat5)

3. 删除指定副本

选择要删除的副本编号(支持多选)。

示例

输入: 3 5 7
结果: 删除 WeChat3、WeChat5、WeChat7

4. 删除所有副本(恢复单开)

一键删除所有副本,恢复到只有原版微信的状态。

5. 选择启动微信实例

指定要启动的实例。

示例

输入: 0 2 3    # 启动原版、WeChat2、WeChat3
输入: all      # 启动所有实例

6. 停止所有微信进程

批量停止所有正在运行的微信实例。

7. 自定义副本图标

为不同副本替换个性化图标,便于区分。

特点:内置 6 款精选图标,支持批量应用,自动清除缓存

添加自定义图标:从 macosicons.com 下载 .icns 文件放入 icon/ 目录即可


Demo

创建副本

$ ./wechat-multi-open.sh

请输入总共需要的微信实例数量 [2-20]: 5

==========================================
  批量创建副本
==========================================

当前实例数: 1 个(1 个原版 + 0 个副本)
目标实例数: 5 个(1 个原版 + 4 个副本)
需要创建: 4 个副本

是否继续?[y/N]: y

[✓] 正在创建 WeChat2.app...
  [1/6] 复制应用文件... 完成
  [2/6] 修改 Bundle ID... 完成
  [3/6] 修改显示名称... 完成
  [4/6] 清除扩展属性... 完成
  [5/6] 重新签名... 完成
  [6/6] 修复权限... 完成
[✓] WeChat2.app 创建成功!

[✓] 正在创建 WeChat3.app...
...

[✓] 全部创建完成!现在共有 5 个微信实例

选择启动

==========================================
  选择启动微信实例
==========================================

可用实例:
  [0] WeChat.app (原版)
  [2] WeChat2.app
  [3] WeChat3.app
  [4] WeChat4.app
  [5] WeChat5.app

提示:
  - 输入 'all' 启动所有
  - 输入编号用空格分隔,如: 0 2 3
  - 原版编号为 0

请选择要启动的实例: 0 2 5

[✓] 正在启动 3 个微信实例...
  启动 WeChat.app (原版)
  启动 WeChat2.app
  启动 WeChat5.app

[✓] 已启动 3 个微信实例

Technical Details

Bundle ID 隔离

每个副本使用独立的 Bundle ID:

原版:   com.tencent.xinWeChat
副本2:  com.tencent.xinWeChat2
副本3:  com.tencent.xinWeChat3
...

数据目录

每个实例的数据存储在独立的沙盒目录:

~/Library/Containers/com.tencent.xinWeChat/
~/Library/Containers/com.tencent.xinWeChat2/
~/Library/Containers/com.tencent.xinWeChat3/
...

签名方式

使用 ad-hoc 签名(本地自签名):

codesign --force --deep --sign - /Applications/WeChat2.app

核心函数

函数名 功能 行数
scan_wechat_copies() 扫描已存在的副本 12
batch_create() 批量创建副本 42
remove_selected_copies() 选择性删除副本 83
launch_selected() 选择性启动实例 79
stop_all() 停止所有进程 14

Requirements

项目 要求
操作系统 macOS 10.15 Catalina 或更高
微信版本 4.0.6.17 或更高
权限 sudo(管理员权限)
依赖 Xcode Command Line Tools

检查依赖

# 检查 Xcode Command Line Tools
xcode-select -p

# 如果未安装,运行
xcode-select --install

Use Cases

案例 1: 工作生活分离

原版:    工作账号
WeChat2: 生活账号

早上上班只启动工作账号:

选择 5 → 输入 0

案例 2: 多账号客服

原版:    主账号
WeChat2-6: 5 个客服账号

批量启动所有客服账号:

选择 5 → 输入 2 3 4 5 6
或
选择 5 → 输入 all

案例 3: 开发测试

原版:    正常账号
WeChat2-5: 测试账号

测试完毕批量清理:

选择 3 → 输入 2 3 4 5

FAQ

为什么需要 sudo 权限?

复制应用到 /Applications/ 目录需要管理员权限。脚本只在必要的操作中使用 sudo,不会滥用权限。

数据会混淆吗?

不会。每个副本使用独立的 Bundle ID 和数据目录,数据完全隔离。

支持最新版微信吗?

理论上支持所有 4.0+ 版本。如遇问题请提交 Issue。

可以创建多少个副本?

默认限制 2-20 个。可以修改脚本第 449 行调整限制:

if [[ "$count" =~ ^[0-9]+$ ]] && [ "$count" -ge 2 ] && [ "$count" -le 50 ]; then
原版微信会被修改吗?

不会。脚本只复制原版,不会修改任何原版文件。

创建失败怎么办?
  1. 检查是否有 sudo 权限
  2. 确认原版微信路径正确
  3. 查看错误信息,提交 Issue
启动时提示不能打开怎么办?

去【系统偏好设置 → 隐私与安全性】,点击"仍要打开"。


Roadmap

  • 支持自定义副本名称
  • 支持图标替换(区分不同账号)
  • 支持配置文件(保存启动组合)
  • 添加日志功能
  • 支持 GUI 界面
  • 支持备份/恢复数据

Contributing

欢迎贡献代码、报告问题、提出建议!

开发流程

# Fork 项目
git clone https://github.com/nullbyte-lab/wechat-multi-open.git
cd wechat-multi-open

# 创建分支
git checkout -b feature/your-feature

# 提交代码
git commit -am 'Add some feature'

# 推送到远程
git push origin feature/your-feature

# 创建 Pull Request

代码风格

  • 使用 4 空格缩进
  • 函数名使用 snake_case
  • 添加必要的注释
  • 遵循 ShellCheck 规范

License

MIT License - 详见 LICENSE 文件


Acknowledgments

  • 感谢所有贡献者
  • 灵感来源于各种微信多开教程
  • 使用 ShellCheck 进行代码检查

Contact


Star History

Star History Chart


Made with love by @nullbyte-lab

如果这个项目对你有帮助,请给个 Star!

About

macOS 微信多开终极解决方案 - 交互式管理工具

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages