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

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 工作站:主机留在家里,遥控器揣在兜里。
参考链接
(完)