作者 Harper Reed(前奥巴马竞选 CTO)分享了他如何用 iPhone 随时随地操控 Claude Code 的完整方案。这个方案让很多朋友感到惊讶——因为它的核心其实是一种回归 2000 年代初的终端工作方式。
「我们现在都在用终端了,这很搞笑,也很有趣。」
为什么这件事值得做
每个 Harper 关于 Claude Code 的对话几乎都以同一句话结尾:「我希望我能在手机上用这个。」
好消息:完全可以做到,而且并不复杂。
整体方案概览
Harper 的答案是四个工具的组合:
| 需求 | Harper 的选择 | 替代方案 |
|---|---|---|
| 网络连接 | Tailscale | ZeroTier |
| 终端客户端 | Blink | Prompt、Termius |
| 工作站 | Mac(一直通电,快速网络) | Linux 服务器 |
| 工具链 | tmux + Mosh + 自定义脚本 | screen |
第一步:让工作站可以远程访问
macOS 设置
- 开启 SSH:系统设置 → 通用 → 共享 → 远程登录
- 可选:开启屏幕共享(Remote Management)
- 先在同一局域网内测试:
ssh 192.168.x.x
安装 Tailscale(关键步骤)
Tailscale 是整个方案的网络核心。它自动创建一个只有你能访问的私有网络,手机在东京、工作站在芝加哥也能无缝连接,无需配置防火墙,无需公网 IP。
# macOS
brew install tailscale
sudo tailscaled
# iPhone 上安装 Tailscale App,登录同一账户
# 两端自动互联!安装后,用 Tailscale 分配的 IP 地址测试 SSH 连接。
第二步:选择终端客户端
Harper 强烈推荐 Blink:
「打开 Blink,它直接扔给你一个 shell。没有界面,没有废话。就是 shell。」
其他不错的选择:Prompt(Panic 出品)、Termius(跨平台)。
配置 SSH 连接:
# 在 Blink 中
config # 配置主机和 SSH 密钥
# 然后
ssh <tailscale-ip>第三步:三个关键工具
1. SSH 密钥管理
在 Mac 上,Claude Code 的 API Key 存储在 Keychain 中,SSH 连接需要先解锁 Keychain。Harper 写了一个一键解锁脚本:
#!/bin/bash
# unlock.sh
if timeout 1 security show-keychain-info &>/dev/null; then
echo "✓ Keychain 已解锁"
else
echo "✗ 解锁 Keychain..."
security unlock-keychain
[ $? -eq 0 ] && echo "✓ 解锁成功" || { echo "✗ 解锁失败"; exit 1; }
fi2. Mosh:让连接更稳定
Mosh(Mobile Shell,2012 年发布)专为不稳定网络设计:
# 替代 ssh 使用
mosh <tailscale-ip>优势:进地铁断网 → 出来网络恢复 → Mosh 会话自动续连。Claude 还在继续工作,就像什么都没发生。
3. tmux:多会话管理核心
tmux 是整个移动工作流的灵魂:
- 持久会话:断连后重新 attach,一切还在
- 多路复用:同时运行 7 个 Claude Code 实例
- 手机操控:随时切换不同的工作上下文
Harper 的 tm 脚本,根据主机名自动命名会话:
#!/bin/bash
# tm - 智能 tmux 会话管理
case "$(hostname -s)" in
"orbit") DEFAULT_EMOJI="🪐" ;;
"godzilla") DEFAULT_EMOJI="🦖" ;;
"occult") DEFAULT_EMOJI="🔮" ;;
*) DEFAULT_EMOJI="✨" ;;
esac
SESSION_NAME="${1:-$DEFAULT_EMOJI}"
if tmux has-session -t "$SESSION_NAME" 2>/dev/null; then
tmux attach-session -t "$SESSION_NAME"
else
tmux new-session -s "$SESSION_NAME"
fi第四步:Claude Code 别名
# ~/.zshrc 或 ~/.bashrc
alias cc-start="claude --dangerously-skip-permissions"
alias cc-continue="claude --dangerously-skip-permissions --continue"完整工作流程
1. 打开 Blink
2. ssh <tailscale-主机名>
3. 运行 unlock.sh ← 解锁 Keychain
4. 运行 tm ← 进入/恢复 tmux 会话
5. cc-start 或 cc-continue
6. 开始烧 Token 🔥
Harper 的感悟
「Claude Code 带着优雅的姿态闯进来,把那个氛围给毁了——或者说创造了一个新氛围?谁知道呢。反正我们现在都在用终端,这很搞��,也很有趣。」
这套方案让他可以:
- 在厨房等水烧开时继续 Claude Code 项目
- 在地铁上(网络恢复后 Mosh 自动续连)
- 晚上在沙发上
- 几乎任何有网络的地方
⚠️ 重要提示:不要在开车时用。Claude Code 可以等你。
原文:Remote Claude Code: programming like it was the early 2000s | 来源:Harper Reed 的博客