OpenAI Codex 团队近期上线了 Handoff(接力)功能。这个名字来自苹果生态的 Handoff——手机上打开的网页,可以在 Mac 上无缝继续浏览。Codex 的 Handoff 原理类似:当前会话任务未完成,关机合盖前,自动推送到远程主机继续执行。

与传统的 Git 同步不同,Handoff 不仅同步代码提交,还会同步整个会话历史,恢复到关机前的完整状态。操作方式很简单——在聊天框输入:
"我要离开了,把正在跑的任务迁到远程主机上,让它在那边继续。"
Codex 会自动完成迁移,你可以直接合盖走人。
配置步骤
前置条件
- • 一台可访问的远程主机
- • 远程主机已安装 Codex(
npm install -g @openai/codex) - • 本地和远程使用同一个 ChatGPT 账号
第一步:配置 SSH 连接
Handoff 使用 SSH 连接远程主机。可以请 Codex 帮你生成配置:
"帮我在 /.ssh/config 里加一段配置,远程主机的 IP 是 xxx.xxx.xxx.xxx,登录用户名是 ubuntu,SSH 密钥文件放在 /.ssh/id_ed25519,给它起个别名叫 tokyo,另外加上断线重连的参数。"
验证连接:
ssh tokyo 'hostname'
能返回远程机器名称说明连接正常。

第二步:在 Codex 中识别远程主机
进入 Codex App 设置界面搜索 ssh,正常情况下会自动识别已配置的远程连接。

第三步:登录远程 Codex
点击远程主机的"登录 Codex"按钮,完成账号授权。Handoff 要求本地和远程在同一账号下使用。


远程主机环境准备
远程机器上需要安装两个 Codex 运行依赖:
- • bubblewrap——Codex 隔离运行环境所需
- • git——开发必备工具
可以请 AI 生成安装命令:
"帮我写一条命令,检查远程 Linux 机器上有没有装 bubblewrap 和 git,没有的话自动安装,最后输出安装结果。"

另外,远程机器上要有和本地相同的代码仓库,并在 Codex 中存为项目。如果本地打开的是仓库的某个子目录,远程也要存同样的路径——Codex 靠这个匹配目标。
实际使用
配置完成后,操作非常简单:
在任务窗口底部选择当前运行位置,选择目标主机,确认分支和目标即可。

也可以在对话中直接告诉 Codex 把某个任务迁移到某台机器上。迁回本地时选择 "This computer" 即可。

同步完成后,Codex 会提示如何在左侧找到远程会话,包括会话标题和会话 ID。连接远程主机后即可继续工作。
局限性
Handoff 目前的配置流程仍有一定复杂度,需要手动设置 SSH、安装依赖、确保路径一致。相比之下,WARP 的 Cloud 功能在同步体验上更加丝滑无缝。
苏米注:Handoff 解决了一个真实的开发场景痛点——长时间任务无法在关机后继续。虽然配置门槛不低,但配置完成后,Codex 可以直接接管远程主机的操作,很多以往需要手动完成的服务器运维和本地优化工作,现在可以交给 AI 自动执行。对于有远程开发习惯的开发者来说,这是一个值得尝试的功能。