墨筝

在手机上运行 Claude Code:移动端 AI 编程的思考

2026-03-09

前言

一直以来,在手机上写代码都是是开发圈里的一个梗,随着 Anthropic 官方近期推出了远程控制(Remote Control) 功能,加上一些比较传统 DIY 的手段以及社区内的创新手法。现在,让 Claude Code 跑在你的手机上已经有相当多的姿势。本文梳理了一些主流方案并总结了它们各自的一些优缺点。在纯技术实现之外笔者认为还有一个更底层的问题值得讨论:在一个 6 英寸的屏幕上运行命令行终端,真的是与 AI 智能体交互的正确方式吗?

手机上运行 claude code 的实现方式

DIY 手法:SSH + Tailscale + Tmux

步骤如下:

  1. 保持开机:在远程开启一台运行着 Claude Code 的 PC 设备。
  2. 内网穿透:使用 Tailscale 在你的电脑和手机之间建立一个安全的私有加密网络。
  3. 终端模拟器:在手机上安装 Termux(Android)或 Blink(iOS)作为原生终端。
  4. 远程连接:通过 SSH 连入你的远程 PC 设备。
  5. 会话保持:在 PC 设备上运行 tmux(或 zellij)来维持终端会话,确保手机锁屏时任务不会被中断。
1
2
3
4
5
6
7
8
9
10
11
# On your desktop
npm install -g @anthropics/claude-code
sudo apt install tmux
curl -fsSL <https://tailscale.com/install.sh> | sh
sudo tailscale up

# On your phone (Termux)
pkg update && pkg install openssh
ssh your-username@100.64.0.5
tmux new -s code
claude

如果一切顺利,整个配置过程大约需要 20 分钟。配置完成后,就可以在手机上运行完整的 Claude Code 会话,并且可以执行任何 unix shell 命令,其本质是把移动设备作为输入终端,把远程 PC 设备作为 claude code 的执行终端。

这套方案的缺陷在于:手机一旦锁屏,或者从 Wi-Fi 切换到蜂窝网络,传统的 SSH 链接就会瞬间断开,这个问题可以通过引入 Mosh (Mobile Shell) (一个基于 UDP 协议的交互式安全终端替代品,专为移动漫游而生,其主要特点是允许你在 Wi-Fi 和蜂窝网络间无缝切换,即使 IP 改变也不会断线,甚至在客户端休眠很久之后唤醒,连接照样可用,此外由于 Mosh 能够在本地预测键盘输入并拥有极低的网络延迟感,它确实能消除一部分弱网环境下的终端卡顿)来缓解,但 Mosh 也会带来额外的学习和配置成本且也并不能在根本上规避这个问题。

官方解法:Claude Code Remote Control 深度解析

Anthropic 官方近期推出了一个备受期待的功能:Remote Control(远程控制),接入只需不到 5 秒。

工作原理

手机上通过 claude 网页端连接你电脑的 claude code 会话,从而完成指令执行。

  • 如何启动:在任意活跃的本地 Claude Code 会话中,运行 /rc(或专门开启一个进程 claude remote-control),它会在终端生成一个 URL 或二维码。
  • 如何连接:使用手机的浏览器或 Claude App(iOS/Android)扫描二维码,即可直接进入 claude.ai/code 网页端。此时,你的手机和电脑将完全同步,你在手机上发出的每一条指令,都会穿透回去指挥家里的电脑干活。
  • 网络与安全保障:传统的远程控制往往需要你在路由器上“打个洞”(开放入站端口或做端口映射),这就很不安全。而 Remote Control 走的是“纯出站连接” - 就跟你平时用浏览器上网一样,是家里的电脑主动去连接 Anthropic 的云端服务器,因此完全不需要修改任何防火墙设置,而且所有传输的数据都经过了 TLS 加密。更贴心的是,如果你遇到网络波动或是电脑短暂休眠,只要在 10 分钟内恢复网络,会话就能自动重连,不会轻易断掉。

远程控制的局限性

这个方案确实相对比较优雅,你可以饭前在工位上触发一个重构任务,饭后躺在沙发上时用手机扫码监控它的进展,但也有明显的局限性:

  1. 强依赖本地环境:本地电脑必须保持开机且终端不能关闭,一旦 claude 进程被杀或电脑断网超过 10 分钟,会话就会终止。
  2. 只能续杯,不能新开:目前只能监控和继续那些已经在电脑上发起的任务,无法从手机端强行启动一个新会话。
  3. 单线联系:每个 Claude Code 会话目前仅支持一个远程连接。

在社区反馈中,开发者也都比较喜欢该功能,但对其的不满也主要集中于新开会话的受限。

第三方应用与云端部署的方式

除了硬核 DIY 和官方方案,社区也有一些创新的手法:

  • Mobile IDE for Claude Code(iOS 伴侣应用):一个 iOS 应用,可以通过 CloudKit 同步你的编程提示词和执行结果。比如你在手机上输入”帮我重构这个 React 组件”,iPhone 会把这条消息同步到 Mac 上的 Claude Code,Mac 执行完毕后,结果会自动返回到手机。免费版每天 1 条提示词,付费版无限使用。

  • Railway 的 claude-code-ssh 模板:Railway 是一个云部署平台,它们提供了一个”一键部署”模板,可以在云端启动一个 Claude Code 容器,给你一个 SSH 地址。你的笔记本就不用 24 小时开机了,代码在云上跑,你可以随时从任何设备(包括手机)连接进去继续工作。

  • The Vibe Companion(浏览器网页版):一位开发者 Stan Girard 从 Claude Code 的二进制文件中发现了隐藏的 -sdk-url 参数,基于此开发了一个开源的网页 UI。你不需要下载 app,直接在浏览器里就能用手机编程,简洁而优雅。

  • Takopi(Telegram 机器人版):把 Claude Code 接入 Telegram,用户故事是:你在 Telegram 群聊里发送一条消息”帮我写个登录表单”,Takopi 机器人接收到后,在后台唤起 Claude Code 执行任务,最后把代码以 Telegram 消息的形式发回给你,形式上是把 IM 软件变成了编程界面。

这些方案都很有创造力,但它们潜意识里都带有一个包含路径依赖的前提假设:终端命令行依然是这类 AI 工具的正确交互界面。 但随着开发者的角色逐渐从“直接写代码”转化为“编排写代码的 AI 智能体”,这个前提假设可能并不成立。

灵魂拷问:命令行终端真的是正确的交互界面吗?

上面列举了很多煞费苦心把终端塞进手机的方法,但从第一性原理出发去思考,开发者到底为什么会想要一个“手机上的 Claude Code”?

我想这并不是因为大家享受用大拇指在碎玻璃屏幕上敲击 git push(应该没有人会想要一个宽仅 390 像素的命令行窗口),仔细观察论坛上的真实诉求会发现,开发者的核心诉求其实是这四点:

  1. 长时间运行的 AI 任务,不必一直守在桌面旁等待,能远程感知到其执行进度。
  2. AI 弹出变更需要确认时,能在手机上滑一下屏幕选择“拒绝/批准”。
  3. 灵感突现时,随时随地就能立项并发起工作。
  4. 不被物理工作站束缚,保持持续发布的敏捷节奏。

本质来说,这并不仅仅是命令行终端交互层面的问题,而是 agent 产品应该如何设计的问题

在手机终端上,用户无法看到一个直观的可视化 Diff 审查面板,也无法将改动后的组件跟原本的设计稿做并排比对,手机还会直接地把useState 自动纠正成大写的 Use State

在移动设备上强行保留终端模式并非一种妥协,而是一种极其糟糕的交互倒退。

终局演进:走向云原生与可视化界面

笔者认为未来的趋势必然是云原生化。当智能体运行在一个隔离的云端容器中,而不是本地的 localhost 时,It’s something change the game,用户首先可以获得以下收益:

  • 摆脱设备焦虑:不用再担心设备关机或休眠,你可以给 AI 丢下一个耗时 30 分钟的复杂重构任务,然后安心合上盖子出门,云端运行的智能体不会因此罢工,它依然会稳稳地执行完流程并提交代码。
  • 告别环境污染与端口冲突:云端为每一次任务提供干净独立的沙箱隔离环境,不需要再浪费时间在终端里排查那些占用了 3000 端口的僵尸进程,每一次运行都是清爽的从零开始。
  • 随时随地的发起任务:不管在哪个地方,都可以通过一个 discord 消息或者什么其他的通知推送就可以直接发起任务让 agent 帮你干活。
  • 直观的可视化上下文:彻底告别终端里枯燥且难以审阅的纯文本代码流。而可以是一个适配了移动设备的可视化页面,能让你最直观地审阅改动,真切看到 AI 到底帮你干了啥。

对于团队协作的场景同样可以助益良多:当智能体在本地运行时,任务编排就像是一场单人运动:一个开发者、一台机器、一个会话。但当它们运行在具有统一界面的云端时,整个团队,包括产品经理、设计师和开发人员,都能在一个连接着真实代码库的共享可视化界面上,进行原型设计、代码审查和快速迭代。

比如,产品经理可以直接在手机端滑动批准新的页面布局;设计师无需配置环境拉取代码,就能直观地指出某个像素间距的误差;主导项目的工程师则可以在同一个控制大盘里,同时审查三个并行运转的 AI 任务。

此时,手机不再是一个类似板砖的糟糕交互设备,而是一个强力的 agent 调度中心,这种工作流也更具备团队扩展性,而强行塞进手机里的终端显然无法做到这点。

总结:终端只是起点,并非终点

在手机上跑 Claude Code 固然很酷,无论是用传统的 SSH,还是拥抱官方稳定可靠的 Remote Control 扫码方案,都极大地拓展了编程的物理边界。

但要真正回答“如何随时随地使用 AI 开发”这个问题,正确的出路不应该是造一个更小的终端框架,而是彻底重构智能体的生存环境,那些独立于本地机器运行的云原生 AI Agent,配上任何设备都能调用的富可视化界面,才是未来真正的答案。

参考

使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章