实战

用手机远程操控 Claude Code:SSH + Tailscale + tmux 的终极移动工作流

前奥巴马竞选 CTO Harper Reed 分享用 iPhone 远程控制 Claude Code 的完整方案:Tailscale 创建私有网络、Blink 作为终端客户端、Mosh 保证断网续连、tmux 管理多个 Claude 实例。附完整 shell 脚本,真正实现随时随地编程。

2026/2/284分钟 阅读ClaudeEagle

作者 Harper Reed(前奥巴马竞选 CTO)分享了他如何用 iPhone 随时随地操控 Claude Code 的完整方案。这个方案让很多朋友感到惊讶——因为它的核心其实是一种回归 2000 年代初的终端工作方式。

「我们现在都在用终端了,这很搞笑,也很有趣。」

为什么这件事值得做

每个 Harper 关于 Claude Code 的对话几乎都以同一句话结尾:「我希望我能在手机上用这个。」

好消息:完全可以做到,而且并不复杂。

整体方案概览

Harper 的答案是四个工具的组合:

需求Harper 的选择替代方案
网络连接TailscaleZeroTier
终端客户端BlinkPrompt、Termius
工作站Mac(一直通电,快速网络)Linux 服务器
工具链tmux + Mosh + 自定义脚本screen

第一步:让工作站可以远程访问

macOS 设置

  1. 开启 SSH:系统设置 → 通用 → 共享 → 远程登录
  2. 可选:开启屏幕共享(Remote Management)
  3. 先在同一局域网内测试:ssh 192.168.x.x

安装 Tailscale(关键步骤)

Tailscale 是整个方案的网络核心。它自动创建一个只有你能访问的私有网络,手机在东京、工作站在芝加哥也能无缝连接,无需配置防火墙,无需公网 IP。

bash
# macOS
brew install tailscale
sudo tailscaled

# iPhone 上安装 Tailscale App,登录同一账户
# 两端自动互联!

安装后,用 Tailscale 分配的 IP 地址测试 SSH 连接。

第二步:选择终端客户端

Harper 强烈推荐 Blink

「打开 Blink,它直接扔给你一个 shell。没有界面,没有废话。就是 shell。」

其他不错的选择:Prompt(Panic 出品)、Termius(跨平台)。

配置 SSH 连接:

bash
# 在 Blink 中
config  # 配置主机和 SSH 密钥
# 然后
ssh <tailscale-ip>

第三步:三个关键工具

1. SSH 密钥管理

在 Mac 上,Claude Code 的 API Key 存储在 Keychain 中,SSH 连接需要先解锁 Keychain。Harper 写了一个一键解锁脚本:

bash
#!/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; }
fi

2. Mosh:让连接更稳定

Mosh(Mobile Shell,2012 年发布)专为不稳定网络设计:

bash
# 替代 ssh 使用
mosh <tailscale-ip>

优势:进地铁断网 → 出来网络恢复 → Mosh 会话自动续连。Claude 还在继续工作,就像什么都没发生。

3. tmux:多会话管理核心

tmux 是整个移动工作流的灵魂:

  • 持久会话:断连后重新 attach,一切还在
  • 多路复用:同时运行 7 个 Claude Code 实例
  • 手机操控:随时切换不同的工作上下文

Harper 的 tm 脚本,根据主机名自动命名会话:

bash
#!/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 别名

bash
# ~/.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 的博客

相关文章推荐

实战用手机远程运行 Claude Code:SSH + Tailscale + Tmux 完整工作流Harper Reed 的手机远程使用 Claude Code 完整方案:Tailscale 打通网络无需配防火墙、Mosh 保持连接断网自动重连、Tmux 管理多个 Claude Code 实例,含 Mac Keychain 解锁、Claude Code 别名和快速 Tmux 脚本。2026/3/1实战Claude Code 命令行工具开发实战:用 AI 快速构建专业 CLI 工具Claude Code 辅助命令行工具(CLI)开发的完整实战指南:Python Click/Typer、Go Cobra、Rust Clap 技术栈选型、用 Claude Code 生成完整 CLI 项目结构(参数解析/子命令/全局选项)、交互式提示和彩色输出、配置文件管理、Shell 自动补全生成、跨平台打包(PyInstaller/goreleaser),以及发布到 PyPI/npm/Homebrew 的完整流程。2026/3/26实战Claude Code Vue 3 实战完全指南:Composition API 开发到企业级前端工程化Claude Code 辅助 Vue 3 开发的完整实战指南:Composition API 组件生成(setup/ref/computed)、Pinia 状态管理代码生成、Vue Router 4 路由配置、TypeScript 类型定义生成(Props/Emits)、Composables 抽象、Vitest 单元测试生成、性能优化(虚拟滚动/v-memo),以及 Options API 迁移和响应式丢失问题排查的 Prompt 模板。2026/3/26实战Claude Code Django 实战完全指南:从模型设计到 REST API 开发全流程Claude Code 辅助 Django 开发的完整实战指南:用 Claude Code 生成 Django 项目结构和 Models(含迁移文件)、Django REST Framework(DRF)API 开发(Serializer/ViewSet/Router)、用户认证系统(JWT/Session/第三方登录)、Django ORM 查询优化(select_related/prefetch_related/annotate)、异步任务(Celery + Redis)、测试用例生成(pytest-django)、Docker 化部署,以及在现有 Django 项目中快速定位和修复 Bug 的 Prompt 技巧。2026/3/26实战Claude Code Rust 实战完全指南:从所有权错误到高性能系统编程Claude Code 辅助 Rust 开发的完整实战指南:用 Claude Code 理解 Rust 所有权(ownership)、借用(borrow)和生命周期(lifetime)报错、生成符合 Rust 惯用法的代码(使用 Result/Option/迭代器)、借助 Claude Code 快速上手异步 Rust(Tokio/async-await)、实战案例(CLI 工具/HTTP 客户端/WebAssembly 模块/系统命令行工具)、Cargo.toml 依赖管理优化、unsafe Rust 代码的安全审查、Rust 与 Python/Go 代码互操作,以及最有价值的 Rust Prompt 模板。2026/3/26实战OpenClaw 与 Claude Code 协同使用实战:AI 聊天助手 + AI 编程助手的终极组合OpenClaw 与 Claude Code 协同使用的完整实战指南:两款工具的定位差异(OpenClaw=聊天AI助手框架,Claude Code=代码库直接操作的编程工具)、在 OpenClaw 中通过 exec 工具调用 Claude Code CLI(claude 命令)执行编程任务、把 OpenClaw 的 Telegram 消息转化为 Claude Code 任务(用自然语言描述→Claude Code执行→返回结果)、使用 OpenClaw Cron 定期触发 Claude Code 执行代码审查/依赖更新/测试/文档生成、CRS 代理在两者中的统一接入方案,以及常见的协同架构模式(主动触发/被动响应/定时执行)。2026/3/24