Share

外观
风格

把 Mac 变成随身 AI 工作站:手机远程指挥的三个保险

2026年2月22日 · 专栏

封面图

2026年2月22日

核心思路很简单:让 Mac 在家 24 小时跑 AI 任务,手机当遥控器。你出门后任务继续执行,随时用手机看进度、发新指令。

一、先解决一个误解

这不是“在手机上写代码”。手机屏幕小、输入慢,不适合承载主工作流。

正确分工是:手机只发指令和看结果,重活全部在 Mac 上完成。

例如你在手机发一句“把登录错误提示改得更友好”,Mac 上的 Claude Code 或 Codex 会立刻分析代码、改文件、跑测试。你需要做的只是审阅结果。

二、普通远程工具为什么不够

移动场景下,普通 SSH 会遇到三类问题。

  • 进地铁或电梯时断网,连接中断,任务上下文丢失。
  • Wi-Fi 切到 4G,IP 变化,重连过程不稳定。
  • 锁屏或切 App 后会话中断,回到一个“空终端”。

AI 编程最怕的不是“慢”,而是“上下文断裂”。所以要把稳定性做成三层保险。

三、三个工具,各守一关

1. tmux:会话保险箱

tmux 把任务固定在 Mac 的后台会话里。手机断开只是“离开会话”,不是“结束任务”。

回来重新 attach,就能看到刚才那一屏内容和同一批进程。

2. autossh:自动重连管家

Mac 到 VPS 的隧道如果断了,autossh 会自动拉起,不用手动重建。

它解决的是“链路自愈”,不是会话持久化。会话持久化仍由 tmux 负责。

3. mosh:移动网络救星

mosh 用 UDP,专门应对手机网络波动。切网时恢复更快,弱网下交互感也更好。

在这套架构里,mosh 放在“手机 ↔ VPS”这段;VPS 再通过反向隧道回到 Mac。

四、最小可用部署(可复现)

先在 Mac 安装依赖并开 SSH。

brew install tmux autossh
sudo systemsetup -setremotelogin on

然后在 Mac 建立常驻反向隧道,把 VPS 的 2222 映射回 Mac 22

autossh -M 0 -N \
  -o ServerAliveInterval=20 \
  -o ServerAliveCountMax=3 \
  -R 2222:localhost:22 user@your-vps-ip

VPS 端安装 mosh 并放行 UDP 端口段。

apt update
apt install -y mosh
iptables -I INPUT -p udp --dport 60000:61000 -j ACCEPT

Termux 端安装工具。

pkg update
pkg install -y mosh openssh tmux

五、m 命令(无黑盒)

不要只写一行 alias。直接用脚本,逻辑一眼可见。

mkdir -p ~/bin
cat > ~/bin/m <<'EOF'
#!/data/data/com.termux/files/usr/bin/bash
set -euo pipefail
VPS_USER="user"
VPS_HOST="your-vps-ip"
VPS_MOSH_PORT="22"
MAC_TUNNEL_PORT="2222"

mosh --ssh="ssh -p ${VPS_MOSH_PORT}" "${VPS_USER}@${VPS_HOST}" -- \
  "ssh -p ${MAC_TUNNEL_PORT} localhost -t 'tmux attach -t main || tmux new -s main'"
EOF
chmod +x ~/bin/m

这个命令做两件事:外层 mosh 负责移动网络稳定,内层 SSH 通过 2222 回到 Mac 的 tmux 会话。

六、我自己的使用方式

我现在的习惯是:出门前把 Claude Code 或 Codex 留在 Mac 的 tmux 会话里跑任务,手机只负责发下一条指令和看结果。

路上网络会抖,但我不再重开流程。Termux 执行 m 后,通常几秒就能回到原会话,继续刚才那段上下文。

这件事最省心的地方是:我不用在手机上搭开发环境,也不用重新解释项目背景。Mac 一直在干活,手机只是随时接管控制台。

七、一句话总结

tmux 保任务不死,autossh 保隧道不断,mosh 保移动体验。

三者组合后,Mac 才真正成为随身 AI 工作站:主机留在家里,遥控器揣在兜里。

参考链接

(完)