交接(Handoff)
将项目发送到你自己的某台机器上,即使合上笔记本,智能体也能继续工作;用手机随时查看运行进度,并通过 Take back 把成果带回本机。
**交接(handoff)**会把项目迁移到你的某台机器上,在你合上笔记本期间,由智能体在那里持续工作。等你回来后,Take back 会把项目按智能体离开时的状态带回本机。
这与 远程控制 不同:在远程控制中,手机只是查看这台桌面的窗口。而交接是在另一台机器上运行,你的桌面端完全不需要保持唤醒。
首次交接之前
打开 Settings → Machines,选择一台机器并点击 Handoff。弹出的面板会检查这台机器,并列出仍然缺少的内容,每一项旁边都附有修复方式:
| 需要 | 原因 |
|---|---|
git | 携带你的历史记录和未提交的工作。 |
rsync | 将项目来回复制,只传输有变化的部分。 |
node 18 or newer | 运行智能体的命令行工具。 |
| systemd 用户服务 | 即使 SSH 会话结束,运行也不会中断。 |
| Stay running after logout | 如果不开启,最后一个会话结束时所有进程都会停止,且无人重新启动。 |
tmux (可选) | 让普通 shell 标签页保持存活。智能体不使用它。 |
Install all missing 会一次装齐,你也可以逐项安装。每条命令在运行前都会完整展示,并带有 Copy 按钮,方便你粘贴到自己的终端中执行。

该面板还会检测机器的剩余资源——可用内存、可用磁盘、核心数和负载——如果资源紧张,会直接告诉你,而不是等到之后你才纳闷为什么构建这么慢。
智能体登录刻意设计为手动操作
你需要在那台机器上的真实终端里登录 Claude 或 Codex。1DevTool 不会从这台电脑复制任何凭据,面板上也明确写着:在机器上登录,绝不从此处复制。你的智能体配置会一并传过去,其中仅限本地的路径和 MCP 命令会针对目标机器重写。
交接项目
在项目的侧边栏菜单中选择 Hand off to a machine…。它同样出现在 Settings → Machines 中该机器所在的行,以及交接任务视图中。
面板会要求你填写四项内容:
- 机器和智能体:用来运行任务。
- 对话:继续已有对话,或新建一个。智能体在无界面模式下运行,你通过日志查看它的工作。
- 接下来要做什么,用你自己的话描述——"完成迁移,运行测试,并修复失败的部分。"
- 确认本机上没有任何东西正在运行此项目,以免复制到编辑到一半的内容。项目在远端期间,本地编辑会被暂停。
如果没有人在场批准提示,请勾选 Run without asking;不勾选的话,智能体会在遇到第一个提示时停下。该选项只影响那台机器,绝不影响这台电脑。
任何仍然阻碍交接的事项都会以标签(chip)的形式列出,点击即可直接跳转到对应字段。
会复制哪些内容
整个项目、它的 Git 历史以及对话,都通过 rsync 传输:
- 已跟踪和未跟踪的文件
- 已暂存和未暂存的更改
- 删除操作、可执行权限位和符号链接
.git本身
因此无需"先推送到 GitHub"——机器上的起点就是你磁盘上的当前内容,包括写到一半的修改。
Left out 以可取消勾选的标签形式显示被跳过的模式,Also leave out 则可以添加额外的排除项。名为 build、dist 或 target 的文件夹会被特意保留:它们里面常常包含真正的源码。
你的 .env 也会一并传输——通过 stdin 写入、设置为 chmod 600,并以原子方式替换。文件名和变量名称会展示给你,变量的值绝不会被记录到日志。
内容到达后,智能体会作为 systemd --user 单元运行,这正是让笔记本可以合上的原因。
后续指令在机器上排队
你可以随时输入下一条指令,包括当前运行仍在进行时。机器会先保存它,并在当前运行结束的那一刻立即开始执行——无论你的笔记本是合上还是已退出。队列保存在那台机器上,而不是你的应用里。
任务视图会把机器的日志实时回传:智能体文本、工具调用、结果和退出状态,每次运行都有编号。
在手机上打开
Open on phone 出现在交接成功页面、任务视图和机器所在的行中。用手机相机扫描二维码,页面就会在 Safari 或 Chrome 中打开——无需安装任何应用,页面由那台机器通过 Cloudflare 快速隧道提供服务,所以即使你的笔记本合上,它也能继续工作。
在手机上你可以:
- 查看实时日志——与桌面任务视图显示的条目相同。
- 发送下一条指令——如果有运行正在进行就排队,否则立即开始。
- 停止当前运行。
- 打开 shell。 一个 6 位数的 Admin PIN 可以在手机浏览器中打开机器上的
tmuxshell。关闭标签页后它依然存在,并会随屏幕大小调整。 - 在运行结束时收到推送通知——每次运行结束都会推送一条,队列推进到下一项时也会推送。目前 Android Chrome 已支持;在 iPhone 上需要先将该页面添加到主屏幕。
扫码页面会列出所有已打开的手机会话,并提供 Sign out all,而 Turn off 会彻底关闭该链接。New code 会签发新的二维码和 PIN,且不会让现有手机退出登录。当某台机器上的最后一个交接被取回时,手机访问会自动关闭。
机器上的 cloudflared 在运行前会对照其 GitHub 发布版本的摘要(digest)进行校验。
Take back
Take back 会按一个绝不会丢失任何内容的顺序把成果带回:
- 机器上的队列被冻结,因此不会有新的运行在你不知情时启动。
- 当前运行被停止。
- 项目通过 rsync 带着智能体的更改同步回本机。
- 在机器上创建的单元被清理掉。
去程时被排除的模式在回程时同样适用,因此 Take back 绝不会删除从未发送过的内容。
Related
- Machines — 交接可选择的机器列表,也是智能体运行的位置
- 用手机控制 1DevTool — 另一种手机端入口,指向这台桌面
- SSH Keys