Codex 太牛了!一台 Mac 直接操控另一台的 Codex 项目
上一篇讲了 Codex 上手机、手机变成桌面的遥控器。这篇讲同一波更新里桌面端的另一半:让一台 Mac 去指挥另一台 Mac 跑 Codex。

上一篇讲了 Codex 上手机、手机变成桌面的遥控器。这篇讲同一波更新里桌面端的另一半:让一台 Mac 去指挥另一台 Mac 跑 Codex。
场景很具体。你有一台 MacBook Air,还有一台始终插电的 Mac mini。之前要远程进去操作 Codex ,现在不需要了,你可以直接在主机操作远程 Mac 的 Codex。
或者你的项目根本不在本机,在公司的 devbox 上,那就走 SSH 那条路。
连接设置里的三个标签
Codex app 升级到最新版后,设置里多了一个连接项,进去有三个标签:
- Control this Mac:开启后,允许别的设备来控制这台 Mac。手机遥控用的就是它。
- Control other devices:开启后,允许这台 Mac 去控制别的设备。本文主角。
- SSH:把 Codex 连到 SSH 远程主机,在远程机器上跑。
这里有一件事一定要先记住:控制是单向的。 Control this Mac 管的是这台机器能不能被控制,Control other devices 管的是这台机器能不能去控制别人,两个开关互相独立。
要让 A 控制 B,得同时满足两件事:B 在自己的 Control this Mac 里开启被发现,A 在自己的 Control other devices 里加上 B。这只配通了 A 控制 B 一个方向。想让 B 反过来也能控制 A,得把这套动作再反着做一遍。一台设备同时扮演两个角色没问题,但两个角色要分别配。
让一台 Mac 控制另一台
先说清楚两个角色:
- 控制端:你人在用的这台,发指令的
- 被控端:实际跑 Codex 的那台
前置条件:两台 Mac 都装了最新版 Codex app,登录同一个 ChatGPT 账户。
第 1 步:控制端发起授权
在控制端打开 设置 → 连接 → Control other devices,会弹出引导窗。点底部的 Authorize on chatgpt.com。
第 2 步:网页确认授权
浏览器会跳到一个授权页,确认是你本人操作、设备可信,点授权。
网页端授权 Codex
第 3 步:去被控端开启被发现
授权完回到 App,会弹 Add device 窗口。这时候大概率显示 No signed-in devices available,一台设备都没有。
Add device 弹窗显示没有可用设备
别慌,不是 bug。回想前面说的控制是单向的:你在控制端做的授权,只解决了这台 Mac 有资格去控制别人,被控端那台还没开启被发现。Add device 弹窗里的提示也写得很清楚,去被控端的 Codex app,打开连接标签,让设备可被发现。
所以切到被控端那台 Mac,打开它的 Codex → 连接 → Control this Mac → 点 Set up,开启允许本机被发现和控制。
到这里,控制端到被控端这个方向才算配齐:控制端在 Control other devices 授权过了,被控端在 Control this Mac 开了被发现。
实测踩到的坑,一定注意方向:这两个动作是有方向的,配反了不会报错,但结果是反的。如果你在 A 上开了 Control this Mac、在 B 上开了 Control other devices,那配通的是 B 控制 A,结果是 B 能控制 A,但 A 在自己列表里死活搜不到 B,还以为是 bug。想让 A 控制 B,必须反过来:B 开 Control this Mac 被发现,A 在 Control other devices 里加 B。两台机器要互控,就是把这套动作按两个方向各做一遍。
第 4 步:回控制端,添加设备
被控端 set up 完,回到控制端的 Add device 窗口刷新一下,那台机器就出现了,状态是 Online。勾选它,点 Add。
Add device 里出现了 MacBook Air
顶部会弹出远程控制授权成功。Control other devices 列表里也能看到这台设备,状态已连接,开关是打开的。
设备已连接,开关打开
到这里设备就组好了。
第 5 步:在远程主机上开项目
光连上设备还不够,得告诉 Codex 在远程机器的哪个文件夹干活。
新建一个对话,点输入框下方的 进入项目工作,下拉菜单里选 添加远程项目。
对话里选择添加远程项目
弹窗里选刚才连上的远程主机,再浏览它的文件系统,选中要干活的项目文件夹,点 添加项目。
选择远程主机和项目文件夹
这个远程文件夹会作为一个独立项目出现在侧边栏。之后你在控制端对它发指令,Codex 实际是在被控端那台机器上读文件、跑命令、改代码。控制端只负责发号施令和看结果。
SSH 远程主机:连 devbox 和服务器
如果你的项目不在另一台 Mac 上,而在公司的 devbox 或者一台 Linux 服务器上,走连接设置里的 SSH 标签。这条路我没实操截图,按官方文档把步骤列清楚:
前置条件:远程主机已配进你的 ~/.ssh/config,能从本机直接 ssh 通,并且远程主机上装了 codex、codex 命令在登录 shell 的 PATH 里。
步骤:
- 配好 SSH config,例如:
Host devbox
HostName devbox.example.com
User you
IdentityFile ~/.ssh/id_ed25519
-
本机验证 ssh devbox 能连通
-
远程主机装好 Codex 并完成登录
-
Codex App 里 设置 → 连接 → SSH,App 会自动从你的 SSH config 里发现主机,添加后选远程项目文件夹
连上之后,仓库文件、shell 命令全在远程主机上跑,还能用上远程主机的插件、MCP 服务器、浏览器和 computer use。等于把 Codex 整个搬到了 devbox 上,本机只当入口。
安全和限制
安全:跨设备通信走 OpenAI 的 secure relay,不会把你的机器直接暴露在公网上。但如果是跨公网的场景,OpenAI 建议再叠一层 VPN 或 Tailscale,SSH 那条路也保持标准的密钥管理和最小权限账户。
限制:被控端必须始终在线、唤醒、联网。拿笔记本当被控端的话,记得开启 Keep this Mac awake,否则它一睡,远程连接就断了。这也是为什么这个功能跟一台始终插电的 Mac mini 是绝配。
写在最后
把这篇和上一篇连起来看,Codex 这一波更新的全貌就清楚了:
- 手机当遥控器:地铁上审批命令、看 diff
- 另一台 Mac当算力主机:笔记本调度,mini 干活
- SSH 远程主机当工作区:项目在 devbox,Codex 搬过去跑
Codex 正在从一个装在某台电脑上的工具,变成一张跨设备的工作台网络。你的手机、笔记本、台式机、公司服务器,都可以是这张网里的一个节点。人在哪里不重要,活在哪里跑也不重要,重要的是任务在推进。
参考链接: