一、AI 编程把「等待」变成了新的瓶颈
用上 agent 之后,很多人发现效率没涨多少,人倒是被绑在了椅子上。
原因很朴素:agent 干活的时候,你得看着。 一段重构它要跑十几分钟,中途随时可能停下来问你一句------
- 「这个文件我要改,确认吗?」
- 「两个方案,选哪个?」
- 「测试挂了,要我修还是你自己看?」
这些恰恰是不能替你答的问题。于是你没法真的走开:去倒杯水都要算着时间,开会时手机隔两分钟刷一次,晚上躺下了还在想「它是不是卡在那儿等我」。
更糟的是,它可能真的卡住了。你回来一看,那个问题已经挂了四十分钟,agent 一动不动,像在等你开会回来签字。
AI 让你能同时推进更多活,代价是你得守在那儿当审批人。 如果能把「守」这件事从椅子上解放出来------去通勤、去开会、去吃饭------那才是真的省时间。
下面讲 DevAgent 的手机端(Beta)怎么做到这一点,以及它明确做不到什么。
二、机制:手机是遥控器,桌面才是干活的那个
先把最容易误解的一点说透。
「手机遥控 AI 编程」听起来像是手机上跑了个 agent,或者云端替你跑。都不是。 实际结构是:
bash
手机 ──配对──▶ 你的桌面(DevAgent + agent 进程 + 你的仓库 + 你的密钥)
│
└── 真正的活在这里干
- 执行体永远是你的桌面。 屏幕关着、你人不在------只要那台机器还醒着、agent 进程还活着,活就还在跑。
- 手机只做两件事:读状态、发指令。 它按需向桌面要终端回放和文件内容,但不在手机上执行任何东西,也没有你的模型凭据。
- 配对是一次性的。 桌面生成一个配对码,手机输一次,之后建立的是这台手机对这台桌面的设备凭据。桌面可以随时吊销,吊销后那台手机立刻断开。
- 连接走两条路 :同一网络下直连(默认端口
6768,局域网 / Tailscale 都行),或者走 Relay 中继------手机和桌面不在同一个网络时用这条。Relay 只做端到端加密的中转,执行侧不变。
这个结构决定了两件事,都很重要:
- 手机断网,活不会停。 你进隧道丢了几分钟信号,agent 照跑,回来重连上继续看。
- 桌面关机,手机就是个空壳。 这是它的边界,不是 bug------见第五节。
也就是说,手机端不是一个「更小的 DevAgent」,它是你桌面的一个远程面板 。官方文档里那句原话是:"The mobile app is intentionally not a full editor --- it's a remote control for the desktop you already have running."
三、它到底能从手机上干什么
不是「什么都能干」,是恰好把卡住你的那几个动作搬到了手机上。
3.1 一眼看清谁在等你
首页有一块 Jump back in 区,专门挑需要你出手的 worktree,按这个优先级排:
- 卡住了(等你授权 / 出错了)------最急;
- 跑完了但你没看过(有未读);
- 还在跑。
同一档内按最近有输出的排前面,避免半年前的老 worktree 赖在榜首。每台主机最多取 6 行候选,首页只显示最靠前的几行------所以它不是「所有 worktree 的清单」,而是排队等你签字的那几张单子。

点进某个 worktree,每一行 agent 会直接标状态:Working / Waiting for input / Blocked / Done 。你不用点进去猜------Waiting for input 就是在叫你;Blocked 是它在等你授权。
这一条听起来平淡,实际最省心:以前回家打开笔记本要逐个标签页翻一遍,现在解锁手机就知道今天有几个待签字的。
3.2 回一句话就走
agent 等你确认时,手机上有两个视图可选:
- Chat UI:聊天式的对话记录,读起来像微信,适合快速理解它在问什么。
- 终端:原始终端回放,保留了颜色和排版,适合你想看真实输出的场景。
哪个是默认,你在手机设置里定;单个标签页也能长按临时切换。
回复支持几档,怎么快怎么来:
- 短回复 :
continue、yes,或自己打的任意一句话; - 语音:点麦克风直接说,口述转成文字发过去;
- 附件:拍张照片发过去------白板、报错截图、需求草图,都能直接给 agent 看。

那个「挂在那儿四十分钟」的问题,现在变成:你在电梯里掏出手机看一眼,打两个字,收起手机。agent 继续跑。
有个容易踩的小坑:发图要走 Chat UI。 图片附件是 Chat UI 输入框的能力------图片以缩略图挂在你的消息上,可以只发图不发文字。终端视图那边是纯键盘通道(带 Tab、Shift+Tab 和 Live 逐字上屏),适合回一句命令或贴一段文本,不适合甩截图。所以「拍张报错截图给它」这条路,得先把会话切到 Chat UI。
3.3 常用指令一键发出
如果你反复打同一句话(「跑一遍测试」「按刚才的建议改」),存成 Quick Command 就行。手机和桌面共享同一份快捷指令列表,任一边改了另一边同步。从会话标签条里调出来,点一下发出去。
3.4 收尾也能在手机上做
活干完了不一定非要回到电脑前才知道成不成:
- 源代码管理:看改了哪些文件、暂存 / 取消暂存、提交。小改动直接手机上收掉。
- 文件树:整个工作区的目录树都能翻,深处嵌套的路径也可以,随时跳进某个文件看。
- 账号与用量:切 agent 账号、看额度与限流状态。Codex 有 earned reset 的时候,也能从手机上花掉一次。
3.5 它不会在你手里的时候偷偷休眠
这条值得单说,因为它说明手机端是真的接进了调度逻辑,不是套了层界面。
桌面有个「agent 休眠」机制:空闲够久的后台 agent 会被暂停,腾出内存,下次回到那个标签页再自动恢复同一会话。
而休眠的判定条件里明确写着一条:当前有手机端会话正在驱动这个终端时,不休眠。 也就是说,你在手机上正跟某个 agent 聊着,桌面不会因为「它看起来闲着」把你的会话掐掉。
四、几个具体场景
机制讲完了,看几个真实的用法:
通勤。早上把三件活派给三个 agent,出门。地铁上刷手机,一个在等确认(改哪个方案),你选一个;一个跑完了(测试全绿),你看一眼 diff,提交;第三个还在跑,不管它。到公司时,三件事都推进了。
开会。会前一分钟把 agent 放出去跑重构,会上手机静音,结束后看一眼有没有卡住。卡住了当场回一句,接着开会。
吃饭 / 睡前 。丢一个长任务出去,不用守着。它等你输入 或跑完时都会推通知到你手机。推送默认只在「桌面没人在用」时发------你正坐在电脑前时,手机不会跟着一起震。
远程机器上的活 。如果你的 agent 是跑在远程 DevAgent Server 上的(关掉笔记本也不断线的那套),手机能同时列出你连着的所有主机上的 worktree------本机、远程服务器,一个列表。出差时只看一台手机就够。
最后这条也顺带说明了一件事:手机端能连的不止「你面前这台电脑」,而是你配对过的执行主机。这也是为什么它的价值不在「小屏」,而在你不用坐在执行体前面。
五、边界:Beta,以及它明确不做的
写这篇文章时手机端是 Beta,把该说的都说清楚:

- 桌面必须在跑、必须在线。 关掉桌面应用,直连会断(重新打开会自动重连)。走 Relay 的话跟着桌面那条连接走。它不是云端托管,桌面不在就没有执行体。
- 不是编辑器。 手机没有完整的代码编辑体验------它是遥控器。你在手机上做的是「看、答、发指令、收尾」,不是「写一天代码」。
- 网络路径要对。 同网直连(局域网 / Tailscale),或者走 Relay。公司网络封端口时,走 Relay 更省事。默认端口
6768,桌面改了端口要放行对应端口。 - 手机和桌面版本要对得上。 两边说的是带版本号的协议,一端太旧,手机端会拦住那台主机并提示更新------不会默默降级成半残状态。
- 状态以桌面为准。 手机上的 worktree 心跳来自桌面 agent 进程;偶尔出现「桌面说空闲、手机显示在跑」的错位,下拉刷新那行就同步了。
- iOS 走 TestFlight,Android 走 APK。 Beta 期间分发渠道不是应用商店,装法见文档站。
六、试一下
最短的验证路径,十分钟能走完:
- 桌面端打开配对入口(账号 / 状态菜单里),出现一次性配对码。
- 手机装 DevAgent 手机端,选 Pair 输入配对码。同网络优先直连;不在一个网络就选 Relay(Relay 需要登录)。
- 手机上确认能看到你的 worktree 列表和每个的状态。派一个新任务给某个 agent,然后把手机放下,去干别的。
- 等它跑到需要你确认的地方------手机上那行会变成「等待输入」,同时有推送。回一句话,看它继续往下走。
做完第 4 步,你就知道这东西到底是噱头还是真能把你从椅子上解放出来。
桌面端下载与安装(Windows / macOS / Linux):https://docs.devagent.clouditera.com/guide/installation?utm_source=zhihu&utm_campaign=pmf-launch