首页/文章/几台新加坡 Mac mini 都在跑 Claude Code?用一块「等拍板」状态板汇总谁卡住了

几台新加坡 Mac mini 都在跑 Claude Code?用一块「等拍板」状态板汇总谁卡住了

· Zumac.Ai

为什么「多机」之后最先崩的是审批

一台 Mac mini 上开一两个 Claude Code 会话时,你大概还记得哪个终端在闪。扩到两三台机器、每个项目一个 tmux 窗口之后,常见画面会变成:手机上收到「好像卡住了」的感觉,却说不清是编译太久,还是它正在等你点 Yes。

权限确认本身没有问题——不可逆操作本来就该有人点头。麻烦在于信息散落:A 机的会话在等写某个目录,B 机的会话在等跑一条会改仓库的命令,你本地笔记本上还有第三个窗口。没有统一入口时,你只能一台台 SSH 进去翻历史,或者反复用 UU 远程连接切桌面,效率很低,也容易漏掉真正堵着流水线的那一次批准。

下面把「谁在等拍板」收成一块极简状态板。它不替代 Claude Code 自己的权限系统,只负责把分散的等待信号集中到你随时能打开的一个文件里。

Claude 账号由你自己开通并登录,请遵守 Anthropic 的服务条款与支持地区规则。本文只讲怎么搭一个稳定合规的使用环境,不涉及共享或转卖账号。Zumac.Ai 与 Anthropic 没有官方合作关系。

准备清单

  • 至少一台常开、不休眠的新加坡 Mac mini,已安装 Claude Code,并用你自己的账号登录。
  • 能用 SSH 或 UU 远程连接进入这台机器;终端里有 tmux。
  • 如果你有多台机器,它们都能访问同一份状态文件(同一用户目录、同一私有 git 仓库,或一台机器当「板机」、其他机器用 scp/ssh 更新)。

步骤一:定一块「板机」和状态文件格式

选一台你最常连的 Mac mini 当板机——通常就是日常写代码、开着主会话的那台。在它上面建一个目录,例如 ~/claude-board,里面放 waiting.tsv(制表符分隔,方便用 column 对齐查看)。

约定四列,简单到可以用文本编辑器手改:

  1. host:机器短名,比如 mini-a、mini-b(自己定,不要用可枚举的公网子域举例)。
  2. session:tmux 会话名或项目短名,例如 api、ios-build。
  3. since:开始等待的本地时间,写成 2026-10-23 11:05。
  4. reason:一句话原因,例如 Ask: 写入 ~/.ssh、Ask: git push --force。

第一行可以是表头:host session since reason。文件里「有行」就代表还在等你;拍板并让会话继续后,删掉对应行即可。

步骤二:给每台机器写三条小命令

在每台 Mac mini 的 ~/.zshrc(或你实际用的 shell 配置)里加三个函数,名字随意,语义要清楚:

  • board-wait:追加一行。参数依次是 session、reason;host 用 hostname -s 自动填,since 用 date '+%Y-%m-%d %H:%M'。写入前先按 host+session 删掉旧行,避免同一会话重复登记。
  • board-clear:按 session(可选再加 host)删掉匹配行。
  • board-show:若本机就是板机,直接 column -t -s $'\t' ~/claude-board/waiting.tsv;若在其他机器,用 ssh board-host 'column -t …' 读板机上的文件。

状态文件只放等待元数据,不要写入令牌、密钥或完整命令参数里的机密。reason 写成类别即可,例如「Ask: 修改密钥目录」,细节回到对应 tmux 会话里看。

多机共享时,有两种稳妥做法:

  • 板机中心:其他机器通过 SSH 在板机上执行 board-wait / board-clear(给板机配好密钥登录,命令写进函数即可)。
  • git 同步:waiting.tsv 放进私有仓库,等待时 commit + push,查看时 pull。适合机器之间不便互相 SSH、但都能访问同一远程仓库的场景。冲突时以「最新一次 push」为准,并养成拍板后立刻 clear 的习惯。

步骤三:和 Claude Code 的真实卡点对齐

状态板再漂亮,也要接上 Claude Code 真正停下的时刻。实践里用这三条习惯最省事:

  1. 开会话时先命名:tmux new -s api,之后所有 board 命令都带同一个 session 名,和窗口一一对应。
  2. 权限策略先收紧再放行:在项目的权限配置里,把会改仓库、会碰凭据目录、会对外发请求的操作设成需要确认;把只读检查、跑测试设成可自动通过。这样「会等你」的点变少、但每一次都更值得登记。
  3. 卡住立刻登记:一旦终端停在确认提示,先不要切去干别的——在另一个窗格执行 board-wait api 'Ask: 写入发布目录',然后再离开座位或看手机。回来先 board-show,再 tmux attach -t api 处理。

如果你已经在用 Claude Code 的 hooks(例如某次工具调用被拒绝或进入询问时触发脚本),可以把 board-wait 接到 hook 里自动写文件;接之前先在空项目里试跑,确认 hook 失败时不会拖垮主会话。接不好就继续用手敲三条命令,也完全够用。

步骤四:手机上只看板、再决定连哪台

远程场景建议固定成这个顺序,避免在手机上盲目切桌面:

  1. 用手机 SSH 客户端连板机(或连任意一台能 board-show 的机器),只跑 board-show。
  2. 若列表为空,多半是长任务还在跑,而不是卡在权限上——这时再决定要不要附上具体 tmux 会话看日志。
  3. 若列表有行,按 since 最早的先处理:SSH 或 UU 远程连接进对应 host,tmux attach -t <session>,完成批准或拒绝,然后立刻 board-clear。
  4. 一天结束前再 board-show 一次;残留行通常是忘了 clear,或会话已经关掉但状态没删——删掉即可,避免明天被假警报吓到。

UU 远程连接适合需要看完整桌面、点图形界面确认框的时候;只处理终端里的 Yes/No,优先用 SSH,流量更小,也更适合手机操作。

步骤五:把板机留在常开的新加坡整机上

状态板的价值取决于「你随时连得上那份文件」。笔记本合盖、系统更新、休眠,都会让板机短暂失踪;多台 Mac mini 若各自为政,你又会回到一台台翻会话的老路。

更稳的做法是:把板机(以及主要的 Claude Code 长会话)放在新加坡家庭宽带上的常开 Mac mini 上,整机独享,会话、状态文件和 git 主库都在同一台机器里。你本地只负责发起任务和偶尔拍板;机器负责 7×24 挂着跑。实际延迟取决于你本地的网络线路,先租一个月把 board-show → attach → board-clear 这条路径跑顺即可。

Zumac.Ai 提供的就是这类环境:位于新加坡的实体 Mac mini M6,整机独享,支持 SSH 与 UU 远程连接,FileVault 全盘加密,退租时抹机重装。新客户整机租用 ¥999/月起,季付 ¥2,697.30,半年付 6 送 1 为 ¥5,994,年付 12 送 2 为 ¥11,988;已购买客户续费保持原价。新客户首单自审核开通当天起租,续费及老客户新订单自付款当天起租。

小结

  • 多会话、多机器时,先解决「谁在等拍板」,再谈怎么加更多自动化。
  • 用一份四列的 waiting.tsv 就够:host、session、since、reason;有行=还在等。
  • board-wait / board-clear / board-show 三命令,配合命名好的 tmux 会话。
  • 手机上先看板,再 SSH 或 UU 远程连接进具体机器;处理完马上清行。
  • 板机放在常开的新加坡整机上,状态文件才不会跟你的笔记本一起休眠。

有问题可以在 Telegram 联系 @singatao,或直接看 价格与付款周期。

Zumac.Ai 新加坡 Mac mini M6,整机独享,¥999/月起,联系 Telegram @singatao。
查看方案与费用 · 帮助中心

返回首页 · 更多文章

Telegram 客服