Claude Code推出便携版本,支持随时随地进行AI辅助编程。新功能发布直接改变程序员的开发工作场景和效率。
我从手机上并行运行六个 Claude Code agent。没有笔记本电脑,没有台式机——只需 iOS 上的 Termius 和一个云 VM。
flowchart LR
A[Phone] -->|Termius + mosh| B[Tailscale VPN]
B --> C[Vultr VM]
C --> D[Claude Code]
D -->|PreToolUse hook| E[Poke webhook]
E -->|Push notification| A
工作流程是:启动一个任务,放下手机,当 Claude 需要输入时获得通知。从任何地方进行异步开发。
我只在工作时付费。两个脚本处理生命周期:
vm-start # Start VM, wait for Tailscale, connect via mosh
vm-stop # Halt VM
我还有一个 iOS 快捷方式可以直接调用 Vultr API——在我甚至打开 Termius 之前就从手机启动 VM。
VM 的公共 IP 没有 SSH 监听器。所有访问都通过 Tailscale 的私有网络进行。深度防御:云防火墙阻止除 Tailscale 协调外的所有内容,本地 nftables 作为备份,fail2ban 以防万一。
Termius 在 iOS/Android 上处理 SSH 和 mosh。Mosh 是关键——它能在网络转换中存活。从 WiFi 切换到蜂窝网络,穿过无信号区域,让手机进入睡眠。连接保持不变。
mosh --ssh="ssh -p 47892" [email protected]
一个需要注意的地方:mosh 不转发 SSH agent。对于需要 GitHub 身份验证的 git 操作,我在 tmux 内使用常规 SSH。
Shell 在登录时自动附加到 tmux。关闭 Termius,数小时后重新打开,一切仍在那里。
# In .zshrc
if [[ -z "$TMUX" ]]; then
tmux attach -t main 2>/dev/null || tmux new -s main
fi
多个 Claude agent 在并行窗口中运行。C-a c 创建新窗口,C-a n 循环切换。在手机键盘上工作良好。
这是使移动开发变得实用的原因。没有通知,你会不断检查终端。有了通知,你就可以走开了。
~/.claude/settings.json 中的 hook:
{
"hooks": {
"PreToolUse": [{
"matcher": "AskUserQuestion",
"hooks": [{
"type": "command",
"command": "~/.claude/hooks/poke-notify.sh question"
}]
}]
}
}
当 Claude 调用 AskUserQuestion 时,hook 被触发。一个简单的脚本提取问题并 POST 到 Poke 的 webhook:
QUESTION=$(echo "$EVENT_DATA" | jq -r '.tool_input.questions[0].question')
MESSAGE="$PROJECT_NAME: Claude needs input - $QUESTION"
curl -X POST "$API_URL" -d "{\"message\": \"$MESSAGE\"}"
手机振动。通知显示问题。点击、回应、继续。
我以宽松模式运行 Claude Code。VM 是隔离的——无法访问生产系统,没有超出开发所需的秘密。最坏的情况:Claude 在一次性 VM 上做一些意想不到的事情。
成本控制增加了另一层保护。VM 的成本是 $0.29/小时。即使某些东西失控,每日上限是有限的。
Git worktree 让我同时运行多个功能:
~/Code/myproject/ # main
~/Code/myproject-sidebar/ # feature branch
~/Code/myproject-dark-mode/ # another feature
每个 worktree 都有自己的 tmux 窗口和一个 Claude agent。端口分配基于哈希——从分支名称确定性地分配,没有冲突:
hash_val = sum(ord(c) for c in branch_name)
django_port = 8001 + (hash_val % 99)
六个 agent,六个功能,一部手机。
在等咖啡时审查 PR。在火车上启动重构。在沙发上看电视时修复 bug。
模式是:启动一个将花费 Claude 10-20 分钟的任务,做其他事情,获得通知,回应,重复。开发融入一天的间隙,而不是需要专门的桌面时间。
设置花了一个 Claude Code 会话来构建——给了它我的 Vultr API 密钥和 gh 访问权限,要求一个安全的开发 VM。现在我从手机上编码。
在 Hacker News 上讨论这篇文章