无论是躺在沙发上还是通勤路上,只需一部手机,就能让 Claude Code 在电脑上为你高效干活。
一、为什么需要手机控制 Claude Code
Claude Code 是 Anthropic 推出的强大 AI 编程助手,它能理解代码库、执行命令、编辑文件、调试程序。但它是运行在电脑终端上的命令行工具,这意味着你必须坐在电脑前才能使用。
手机控制带来的价值:
| 场景 |
价值 |
| 通勤/出差 |
在地铁上让 Claude 帮你写功能模块,到公司直接验收成果 |
| 紧急修复 |
半夜线上出问题,手机发起修复指令,Claude 自动定位并解决 |
| 多任务并行 |
让 Claude 在电脑上跑耗时任务(如重构、测试),手机随时查看进度 |
| 灵活办公 |
不在工位也能持续迭代,告别"只能对着电脑才能写代码"的束缚 |
| 语音交互 |
手机语音输入需求,Claude 自动转换成代码实现 |
核心原理: 手机作为"遥控器",通过网络连接到运行 Claude Code 的电脑,发送指令并接收执行结果。
二、方案总览:四种方式对比
根据你的技术水平和使用场景,选择最适合的方案:
| 方案 |
难度 |
适用场景 |
延迟 |
安全性 |
功能完整度 |
| SSH 终端 |
中 |
开发者、局域网/远程 |
低 |
高 |
完整 |
| 远程桌面 |
低 |
小白用户、可视化需求 |
中 |
中 |
完整 |
| 内网穿透 |
中高 |
跨网络、无公网 IP |
低 |
高 |
完整 |
| API 自建 |
高 |
开发者定制、自动化 |
低 |
可控 |
自定义 |
选择建议:
- 零基础小白 → 先看方案二(远程桌面),最简单直观
- 有编程基础 → 方案一(SSH)或 方案三(内网穿透)
- 追求自动化 → 方案四(API 自建服务)
三、前置准备
无论选择哪种方案,都需要先完成以下准备工作。
3.1 电脑端准备
系统要求:
- macOS 12+ 或 Windows 10+ 或 Linux
- 已安装 Claude Code(npm install -g @anthropic-ai/claude-code)
- 电脑保持开机且联网
启用远程访问(以 macOS 为例):
|
1
2
3
4
5
6
|
# 1. 开启远程登录(系统设置 → 通用 → 共享 → 远程登录)
# 2. 确认 Claude Code 可正常运行
claude --version
# 3. 创建专用工作目录(建议)
mkdir -p ~/claude-remote-work
cd ~/claude-remote-work
|
Windows 用户额外步骤:
- 安装 OpenSSH 服务器(设置 → 应用 → 可选功能 → OpenSSH 服务器)
- 启动 SSH 服务:Start-Service sshd
- 设置开机自启:Set-Service -Name sshd -StartupType Automatic
3.2 手机端准备
网络要求:
- 局域网方案:手机和电脑连接同一 WiFi
- 跨网络方案:手机和电脑各自有网络即可(4G/5G/WiFi 均可)
四、方案一:SSH 终端连接(开发者首选)
SSH(Secure Shell)是最直接、最高效的方式。通过手机上的 SSH 客户端,远程连接到电脑的命令行,直接操作 Claude Code。
4.1 局域网内连接(同 WiFi)
Step 1:获取电脑的内网 IP
|
1
2
3
4
5
|
# macOS / Linux
ifconfig | grep "inet " | grep -v 127.0.0.1
# Windows
ipconfig | findstr "IPv4"
|
示例输出:192.168.1.105
Step 2:手机连接
打开 Termius(以 iOS 为例):
- 点击右上角 + 新建主机
- 填写连接信息:
- 地址:192.168.1.105(你的电脑 IP)
- 端口:22
- 用户名:你的电脑用户名(macOS 一般是 /Users/xxx 中的 xxx)
- 密码:你的电脑登录密码
- 保存并连接
Step 3:启动 Claude Code
连接成功后,你会看到电脑的命令行界面。直接输入:
|
1
2
3
4
5
6
7
8
|
# 进入工作目录
cd ~/claude-remote-work
# 启动 Claude Code
claude
# 或者直接执行特定任务
claude "帮我创建一个 React 组件,包含表单验证功能"
|
4.2 配置 SSH 密钥(免密码登录)
每次输入密码很麻烦,配置密钥后一键连接:
|
1
2
3
4
5
|
# 在电脑上生成密钥对(如果还没有)
ssh-keygen -t ed25519 -C "your_email@example.com"
# 查看公钥内容
cat ~/.ssh/id_ed25519.pub
|
将公钥内容复制到手机 Termius 的密钥配置中,或在电脑端执行:
|
1
2
|
# 将公钥添加到授权列表
cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys
|
4.3 保持会话不中断(Tmux)
手机锁屏或切换 App 会导致 SSH 断开,使用 Tmux 保持 Claude Code 持续运行:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# 安装 tmux
# macOS: brew install tmux
# Ubuntu: sudo apt install tmux
# 创建新会话
tmux new -s claude-work
# 在会话中启动 Claude Code
claude
# 按 Ctrl+B,然后按 D 退出会话(保持后台运行)
# 之后可以随时重新连接
tmux attach -t claude-work
|
Tmux 常用命令速查:
| 快捷键 |
作用 |
| Ctrl+B, D |
分离会话(后台保持运行) |
| tmux ls |
列出所有会话 |
| tmux attach -t 名称 |
重新连接会话 |
| Ctrl+B, C |
新建窗口 |
| Ctrl+B, N |
切换到下一个窗口 |
五、方案二:Claude API + 自建服务(高阶玩法)
如果你不只是想远程控制,而是想深度定制 Claude 的工作方式,可以通过 API 自建一个 Web 服务。
5.1 核心思路
- 在电脑上搭建一个 Web 服务,接收手机发来的任务请求
- 服务调用 Claude API 处理任务
- 将结果返回给手机
5.2 快速搭建示例
使用 Python + FastAPI:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# server.py
from fastapi import FastAPI
from anthropic import Anthropic
import subprocess
import os
app = FastAPI()
client = Anthropic(api_key="你的 API Key")
@app.post("/task")
async def run_task(task: str):
"""接收任务,调用 Claude API 处理"""
# 1. 调用 Claude API 生成命令或代码
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=4096,
system="你是一个编程助手。根据用户需求生成相应的命令或代码。",
messages=[{"role": "user", "content": task}]
)
result = response.content[0].text
# 2. 如果需要执行命令,在这里执行
# 注意:实际使用要做好安全防护
return {"result": result}
@app.post("/claude-code")
async def run_claude_code(command: str):
"""直接执行 claude code 命令"""
result = subprocess.run(
["claude", command],
capture_output=True,
text=True,
cwd="/path/to/your/project"
)
return {
"stdout": result.stdout,
"stderr": result.stderr,
"returncode": result.returncode
}
# 运行:uvicorn server:app --host 0.0.0.0 --port 8000
|
手机端访问:
- 浏览器直接访问 http://你的电脑IP:8000
- 或使用配合内网穿透实现公网访问
5.3 进阶:结合 Telegram Bot
更优雅的方案是创建一个 Telegram Bot,通过手机发送消息即可触发 Claude Code:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# telegram_bot.py
import asyncio
from telegram import Update
from telegram.ext import Application, CommandHandler, MessageHandler, filters
from anthropic import Anthropic
import subprocess
# 初始化
client = Anthropic(api_key="你的 API Key")
TELEGRAM_TOKEN = "你的 Bot Token"
async def handle_message(update: Update, context):
"""处理用户消息"""
user_message = update.message.text
# 调用 Claude Code 处理
result = subprocess.run(
["claude", user_message],
capture_output=True,
text=True,
cwd="~/your-project"
)
output = result.stdout if result.returncode == 0 else result.stderr
# 发送结果回用户
await update.message.reply_text(f"```\n{output[:4000]}\n```", parse_mode="Markdown")
# 启动 Bot
app = Application.builder().token(TELEGRAM_TOKEN).build()
app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_message))
app.run_polling()
|
使用方式:
- 在 Telegram 搜索你的 Bot
- 发送消息:帮我检查项目中的语法错误
- Bot 调用 Claude Code 处理,返回结果
5.4 Web 界面方案(最友好)
对于小白用户,可以搭建一个 Web 管理界面:
推荐工具:
- Cockpit:Linux 系统的 Web 管理面板,内置终端
- Shell In A Box:浏览器中的 SSH 终端
- Next Terminal:开源的 Web 终端审计系统
部署后,手机浏览器直接打开网页,在网页终端中操作 Claude Code。
六、移动端输入优化技巧
手机屏幕小、输入慢,以下是提升效率的实用技巧:
6.1 快捷指令(iOS 快捷指令 / Android Tasker)
iOS 快捷指令示例:
创建一个"快速任务"快捷指令:
- 接收文本输入(你的指令)
- 通过 SSH 发送到电脑执行
- 显示返回结果
|
1
2
|
快捷指令流程:
[请求输入] → [通过 SSH 运行命令] → [显示结果通知]
|
示例命令:
|
1
2
|
# 快捷指令中的 SSH 脚本
cd ~/project && claude "{{输入的指令}}" 2>&1
|
6.2 语音输入提效
Claude Code 支持自然语言描述需求,语音输入非常合适:
- 手机键盘语音按钮 → 口述需求 → Claude 自动执行
- 示例语音指令:
- “帮我在 User 组件里加一个邮箱验证功能”
- “检查一下这个项目有没有安全漏洞”
- “把代码里的所有 console.log 删掉”
6.3 命令模板收藏
在手机备忘录中建立常用命令库:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
【Claude 常用指令模板】
1. 代码审查:
claude "Review the code in src/ directory for potential bugs"
2. 添加功能:
claude "Add input validation to the login form component"
3. 重构代码:
claude "Refactor the UserService class to use dependency injection"
4. 运行测试:
claude "Run all tests and fix any failing ones"
5. 生成文档:
claude "Generate JSDoc comments for all functions in utils.js"
|
需要时复制粘贴,稍作修改即可使用。
6.4 使用外接键盘
如果经常手机操作,建议配一个蓝牙键盘:
- iPad + 妙控键盘 是绝佳组合
- 普通蓝牙键盘也能大幅提升输入效率
- 配合手机支架,体验接近笔记本电脑
七、安全注意事项
远程控制带来便利的同时,安全风险必须重视。
7.1 SSH 安全加固
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# 1. 禁用密码登录,只用密钥
# 编辑 /etc/ssh/sshd_config
PasswordAuthentication no
PubkeyAuthentication yes
# 2. 修改默认端口(减少被扫描)
Port 2222 # 或其他非标准端口
# 3. 限制登录用户
AllowUsers your_username
# 4. 启用失败锁定(macOS 自带)
# 系统设置 → 隐私与安全性 → 高级 → 失败登录尝试后停用自动登录
|
7.2 网络层安全建议
| 措施 |
说明 |
| 使用 VPN |
先连 VPN 再 SSH,多一层保护 |
| 防火墙规则 |
只开放必要的端口 |
| 定期更新 |
保持系统和软件最新 |
| 日志审计 |
定期检查登录日志 |
| 双因素认证 |
重要服务器建议启用 2FA |
7.3 Claude Code 本身的安全
|
1
2
3
4
5
6
|
# 限制 Claude Code 的权限范围
# 不要在包含敏感文件(如 .env)的目录启动 Claude
# 使用 .claudeignore 文件排除敏感文件
echo ".env" >> .claudeignore
echo "secrets.json" >> .claudeignore
|
八、常见问题 FAQ
手机连接后 Claude Code 界面显示错乱?
A:Claude Code 是终端应用,依赖终端尺寸。在 Termius 中设置合适的字体大小,或使用 stty rows 40 cols 120 调整终端尺寸。
SSH 连接频繁断开?
A:在 SSH 配置中启用保活:
|
1
2
3
4
|
# 在 ~/.ssh/config 中添加
Host *
ServerAliveInterval 60
ServerAliveCountMax 3
|
手机打字太慢怎么办?
A:使用语音输入、命令模板、快捷指令三种方式结合。也可以考虑外接蓝牙键盘。
Claude Code 执行危险命令怎么办?
A:Claude Code 有权限确认机制,执行写操作前会询问。远程使用时建议加上 --dangerously-skip-permissions 的反面——即 不要加这个参数,保持默认的安全确认模式。
手机流量消耗大吗?
A:SSH 纯文本连接流量很小,一小时约 1-5MB。远程桌面消耗较大,一小时约 50-200MB。建议 WiFi 下使用远程桌面,移动网络用 SSH。
Windows 电脑怎么配置 SSH?
A:Windows 10/11 自带 OpenSSH:
- 设置 → 应用 → 可选功能 → 添加功能 → OpenSSH 服务器
- PowerShell 管理员运行:Start-Service sshd
- 设置开机自启:Set-Service -Name sshd -StartupType Automatic
可以同时多人连接吗?
A:SSH 支持多会话,多人可以同时连接同一台电脑的不同 Tmux 窗口。但 Claude Code 同时只能运行一个实例,建议各用各的工作目录。
最佳实践总结
快速上手的推荐路径
第 1 步:局域网测试(最简验证)
└── 同 WiFi 下 SSH 连接,确认可以操作 Claude Code
第 2 步:配置 Tmux(保证稳定性)
└── 学会使用 Tmux 保持会话,手机断开也不影响任务
第 3 步:设置内网穿透(实现远程)
└── 部署 Cloudflare Tunnel,实现任何地点都能连接
第 4 步:优化移动端体验(提升效率)
└── 配置快捷指令、命令模板、语音输入
第 5 步:安全加固(生产必备)
└── 密钥登录、防火墙、访问限制
一个实用的日常 Workflow
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
早上通勤(地铁上):
→ 手机 SSH 连接到家里的电脑
→ Tmux 新建会话
→ "Claude,帮我把昨天项目的测试用例补充完整"
→ 锁屏,到公司验收
中午休息时:
→ 手机查看进度
→ "Claude,把测试报告发我看看"
→ 查看结果,给出下一步指令
晚上睡前:
→ "Claude,明天要交的方案文档,先写个初稿"
→ 设置好任务,安心睡觉
→ 第二天早上直接审阅
|
结语
手机控制 Claude Code 本质上是把 AI 编程助手从桌面解放出来,让它成为你随时待命的智能助手。无论你是坐在咖啡馆、躺在沙发上,还是在旅途中,都能高效地推进项目。
技术的目标是为人服务。选择最适合你当前水平的方案,先用起来,再逐步优化。最重要的不是工具本身,而是让 Claude Code 真正为你节省时间、创造价值。