指南 / Guides
多账号
真微信 + clone 同时跑,每个实例各自独立收发。wechat-use 把身份定义成 (bundle, wxid) 一对——同一台机器上,几个已登录的微信本体互不串线。
身份 = (bundle, wxid)
一个 wxid 是你登录的那个微信号;一个 bundle 是承载它的那个 App 本体(官方 com.tencent.xinWeChat,或 ad-hoc 签的 clone bundle id)。wechat-use 用「bundle + wxid」这一对来唯一定位一个实例,而不是只认 wxid——因为 clone 多开时,同一进程名下会有多个 WeChat 在跑,只靠 wxid 或进程名会认错人。
注册过的账号都记在本地。列出它们:
bash
$ wechat accounts list
# 每行一个已识别实例:wxid、绑定的 bundle、别名、是否 default给账号起别名
wxid 是 wxid_xxxxxxxx 这种,记不住也难打。给它起个人话别名:
bash
$ wechat accounts alias wxid_abc123 work
$ wechat accounts alias wxid_def456 personal
# 之后所有 --account、use 都能用别名代替 wxid指定这条命令发给哪个账号
两种粒度。一次性用 --account(每条命令都带这个全局 flag,值是 wxid 或别名);长期切默认账号用 wechat use。
bash
# 一次性:这条 send 走 work 账号,不动默认
$ wechat send "开会了" filehelper --account work
# 读 personal 账号的会话
$ wechat sessions -n 10 --account personal
# 也可以直接锁进程 / bundle
$ wechat sessions --pid 54321
$ wechat sessions --bundle-id com.tencent.xinWeChat419把常用账号设成默认,之后省掉 --account:
bash
$ wechat use work
# 现在不带 --account 的命令都走 work
$ wechat send "收到" filehelper
$ wechat use # 不带参数 = 打印当前默认账号
$ wechat use --clear # 清掉默认绑定accounts default 是同一件事的另一个入口,可读 --json:
bash
$ wechat accounts default work
$ wechat accounts list --json✅ default 账号零迁移
只用一个微信的老用户什么都不用改。不带 --account、不设 default 时,所有命令还是打到那个唯一在跑的实例上——多账号是叠上去的能力,不是逼你先配置。单账号的用法一行没变。clone 多开:让第二个微信跑起来
macOS 官方微信默认只能开一个。要同时登两个号,先造一个 ad-hoc 签名的 clone bundle:
bash
$ wechat clone create # 复制出一个新 bundle id 的 WeChat
$ wechat clone list # 看已有哪些 clone
$ wechat clone remove # 删掉一个 clone打开 clone、扫码登录第二个号,它就成了一个独立的 (bundle, wxid) 实例——和主微信各收各的消息、各发各的。
批量抽 key
每个实例的本地库都是各自加密的,得各抽一次 SQLCipher key。多账号时用 init --all 一把梭,而不是挨个 init:
bash
$ wechat-use init --all
# 依次给每个在跑的实例抽 key,写进 ~/.wx-rs/(0600)
# 每个实例都在登录瞬间用一次 macOS 调试接口,不 sudo、不重签、不重登⚠️ 每次微信重启后重抽
key 抽取依赖登录那一刻的进程状态,微信(或某个 clone)重启后要重跑 init / init --all。错过了那个约 5 分钟窗口,用 --force 重试。清理不用的账号
bash
$ wechat accounts remove wxid_def456
# 从注册表里摘掉一个账号(别名、default 绑定一并清理)