Gemini_Generated_Image_qmg249qmg249qmg2.png

你买了 3 个 Claude 账户,以为能用 15 小时,实际只用到 5~6 小时, 但是如果用到才激活帐号的5小时窗口额度就没办法丝滑使用了,所以我做了relay-claude claude的多账户调度工具。

核心痛点:每个账户登录一次就够了,之后所有切换都在 TUI 仪表盘里点一下完成,不用再 claude /logout && claude /login 折腾验证码。


一、先算一笔账

Claude Code 每个账户有 5 小时滚动用量窗口。你大概是这么算的:

3 个 Max 账户 × 5 小时 = 15 小时工作时长

错了。

真实的算法是这样:

账户 A09:00 开始用,14:00 用完(5h 窗口跑完)
账户 B14:00 切上去开始用,到 19:00 才用完
账户 C19:00 才上场……

注意账户 A 在 14:00 用完之后,它的 5h 窗口立刻开始重置倒计时。等到 14:00 + 5h = 19:00,A 又满血复活了。

但你 19:00 才在用 C 啊。

A 重置后的那 5 个小时(14:00~19:00),你完全没碰过它——A 在那 5 小时里一直是"满状态、零使用"。休眠了 5 个小时。

3 个账户 × 5 小时 = 15 小时?不,3 个账户 × 5 小时 ≈ 6~8 小时实际可用有效利用率不到 50%


二、窗口"休眠"的本质

这个机制很多人其实知道:

你以为的窗口实际的窗口
用账户的时候才扣 5h,不用时不扣❌ 窗口用过即开始计时,5 小时后自动重置
切换账户 = 重新获得 5h✅ 但备用账户的第一次使用瞬间才开始计时
多个账户的窗口是叠加的❌ 如果串行使用,多个窗口大量空转

5h 窗口是个滚动队列,不是个定时器。它从你第一次调用开始计时,5 小时后自动重置——不管你期间用了几次还是没用过

也就是说:让账户的窗口先转起来,不管你用不用,是吃满额度的关键。


三、错峰激活:让账户都"激活着"

如果让 3 个账户的 5h 窗口错峰开启

账户 A  [09:00 ━━━━━━━━━━━━━ 14:00]
账户 B        [11:00 ━━━━━━━━━━━━━ 16:00]
账户 C              [13:00 ━━━━━━━━━━━━━ 18:00]14:00A 重置 → 你接着用 → 17:00 又重置 → 形成闭环

A 用完切 B,B 用完切 C,C 用完时 A 早就重置回血了——没有一个窗口在空转

实测数据:3 个账户错峰激活后,可用时长能拉到 9~12 小时

但要做到错峰,需要:

  1. 每隔约 100 分钟(5h ÷ 3)就 ping 一下下一个备用账户,让它的 5h 窗口提前开始计时
  2. 主账户用满时立刻切换到下一个,不能有缝隙
  3. 切换要做到所有终端的 claude 命令同步生效,不能手动 logout/login

手动做?你试试看。我试了一周,体感比账户没用完还累。

所以我写了 relay-claude


四、relay-claude 是什么

一句话:让你的多个 Claude 账户像传送带一样转起来。

它做三件事:

时机动作
启动后 + 每隔 5h÷N 分钟自动 ping 下一个备用账户,提前开启它的 5h 窗口
主账户用到 50%提前预激活下一个备用(双保险)
主账户用到 100%自动切换 Keychain 凭证,所有终端的 claude 命令瞬间生效

你只管写代码,它在背后调度。


五、怎么用

安装

npm install -g relay-claude

要求:macOS(依赖 Keychain)+ Node.js ≥ 18。

添加账户(每个账户只需登录一次)

每个账户依次操作一遍,之后再也不用 /logout && /login 折腾验证码

# 1. 用浏览器登录目标账户(只此一次)
claude /logout && claude /login

# 2. 让 relay-claude 从 Keychain 抓取凭证存起来
relay-claude add 主力

会显示:

✅ 已添加 主力
   邮箱: dev@example.com
   订阅: Max 5x
   5h 使用: 12% (剩余 88%)

依次加完所有账户:

claude /logout && claude /login
relay-claude add 备用1

claude /logout && claude /login
relay-claude add 备用2

关键点:所有账户的凭证(access token + refresh token)都被存到了 relay-claude 的配置里。之后切换账户完全在 TUI 仪表盘里一键完成——按 ↑↓ 选账户,回车切换。不会触发浏览器登录、不会要验证码、不会要邮箱。

启动调度

relay-claude start

会自动进入实时仪表盘:

image.png

仪表盘每 5 分钟自动刷新用量,按 q 退出但 daemon 继续在后台跑。

用完后

你正常用 Claude Code,到时候会收到桌面通知:

  • 已预激活备用帐号:备用1 5h 窗口已开启(主力跑到 50% 时)
  • 已切换帐号:主力 → 备用1(主力用满时)

⚠️ 切换后当前正在运行的 claude 会话还持有旧 token 缓存,需要关闭重新打开。新开的终端不受影响。

其他常用命令

relay-claude list             # 查看所有账户状态
relay-claude list --refresh   # 强制刷新 usage
relay-claude use 备用1         # 手动切换
relay-claude stop             # 停止后台 daemon

六、目前还没解决的一个问题

要诚实地说一下:Claude 的 refresh token 大约 24 小时会过期一次。也就是说,每天你需要对每个账户重新跑一次 claude /login + relay-claude add <名字>

好消息是:

  • 整个流程只需要 30 秒(claude login 一下,relay-claude 自动识别同名账户进入更新模式,重新抓 Keychain 里的新凭证)
  • 一天就这一次,剩下整天的接力切换都不用碰
  • 我在尝试用 refresh token 主动续期来彻底解决这个事,目前还在调试 Anthropic 的 endpoint 行为
# 每天早上跑一次(每个账户)
claude /logout && claude /login   # 登录该账户
relay-claude add 主力              # 自动识别同名 → 更新凭证模式

七、还有一些小贴心

  • Ping 默认走 haiku 模型:触发 5h 窗口只是发一句"hi",用最便宜的模型,几乎不消耗额度
  • 未知账户保护:如果你在外面手动 claude /login 登了其他账户,daemon 检测到 Keychain 里是配置外的 token 时会自动暂停调度,不会强行覆盖你的手动登录
  • TUI 自动监控:每 5 分钟刷新一次所有账户 usage,避免频繁调用 Anthropic 接口触发限流

八、一句话

多账户提速的关键不是"账户更多",而是"账户都激活着"。

3 个账户串行使用 ≈ 1.5 个账户的容量。 3 个账户错峰接力 ≈ 接近 3 个账户的容量。

差距不在数量,在调度。


MIT 开源:github.com/yezannnnn/r…

npm i -g relay-claude
relay-claude add 主力
relay-claude add 备用1
relay-claude start

下次写代码写到下午两点没额度的时候,记得用它调度一下。