本文记录于 2026 年 7 月,2026 年 8 月已按项目新版更新:安装常驻托盘守护程序后,不再需要每次手动启动脚本。该方案面向部分受影响的 Windows 构建,并非 OpenAI 官方补丁。Codex Desktop 更新后,方案可能失效,请以项目最新说明和预检结果为准。

前言

Codex Desktop 的 Remote 功能可以让我们从手机或另一台受支持的电脑,继续处理运行在目标电脑上的 ChatGPT/Codex 任务,例如发送后续指令、审批操作和查看执行结果。

我已经可以通过手机远程连接 Windows 电脑上的 Codex,但在尝试用另一台电脑作为控制端时,发现 设置 → 连接 页面中只有“控制此电脑”和“SSH”,没有 Control other devices(控制其他设备) 入口。

这两个入口的作用并不相同:

  • 控制此电脑 / Allow other devices to connect:让当前电脑作为主机,接受其他设备连接。
  • Control other devices:让当前电脑作为控制端,访问另一台已经配对的主机。

OpenAI 的 Remote connections 官方文档 确实介绍了电脑之间的远程连接,但也明确说明:Control other devices 的可用性可能随功能发布范围而变化。因此,看不到该入口不一定代表软件损坏,也可能与客户端版本、账号、工作区或灰度发布状态有关。

问题表现

我遇到的情况比较具体:

  • 手机端已经能够远程连接这台 Windows 电脑;
  • 当前电脑可以开启“允许其他设备连接”;
  • SSH 入口正常显示;
  • 但 Windows 端没有“Control other devices”选项卡,无法把当前电脑作为另一台设备的控制端。

处理前:Windows 版 Codex Desktop 的连接设置中尚未显示“控制其他设备”入口

图 1:处理前,连接设置中只有“控制此电脑”和“SSH”。

先完成官方排查

在使用第三方方案前,建议先检查以下项目:

  1. 将 Codex Desktop 和 ChatGPT 移动端更新到最新版本。
  2. 确认两台设备登录的是同一个 ChatGPT 账号和工作区。
  3. 确认目标主机保持在线、唤醒,并已允许其他设备连接。
  4. 完成账号或工作区要求的 MFA、SSO 或 passkey 验证。
  5. 如果使用组织工作区,确认管理员已经允许使用 Remote Control。
  6. 如果打开 Remote Control 后点击“添加”报错,先重启 Codex Desktop 再试。

如果上述条件都满足,Windows 端仍然符合前面的具体症状,再考虑下面的社区兼容方案。

社区兼容方案

本文使用的项目是:

naipi11/Codex-Control-other-devices-Windows

根据项目 README,该方案不会修改 ChatGPT.exeapp.asarC:\Program Files\WindowsApps 中的应用文件。项目当前版本采用常驻托盘守护程序:安装后由计划任务自动启动,识别并接管 Codex 的运行时启动参数;旧版的手动脚本模式保留为保守回退。

截至本文更新时,项目 README 列出的已验证环境为 Windows 11、Codex Desktop 26.730.8199.0 和 Node.js 22.23.1。其他版本不能直接照搬结论,必须先执行项目提供的只读兼容性预检。

项目文档还给出了受影响 Windows 包的共同特征:控制器页面、字符串和后端调用已随包提供;Statsig 门 782640499 的语义相反(true 反而隐藏入口);主进程设备密钥入口只接受 process.platform === "darwin";Windows 包未附带 remote-control-device-key.node。本项目只补上本地 Windows 运行时缺口,不绕过账号授权、MFA/SSO/passkey、工作区策略或服务端权限。

使用前准备

请确认当前环境满足项目要求:

  • Windows 10 或 Windows 11;
  • Codex Desktop 通过 Microsoft Store/MSIX 安装;
  • 已安装 Node.js 22 或更高版本,并且 node.exe 已加入 PATH
  • 另一台主机使用相同账号和工作区登录,保持在线并允许 Remote Control;
  • 当前电脑和当前 Windows 用户会话可信。

可先在 PowerShell 中检查 Node.js:

Get-Command node.exe
node --version

操作步骤

1. 下载项目

在 PowerShell 中执行:

git clone https://github.com/naipi11/Codex-Control-other-devices-Windows.git
cd Codex-Control-other-devices-Windows

也可以从 GitHub 下载 ZIP,解压后在项目目录中打开 PowerShell。

2. 先执行只读预检

不要直接运行启动脚本,先检查当前 Codex 构建是否符合项目预期:

powershell -NoProfile -ExecutionPolicy Bypass `
  -File .\Test-CodexControlOtherDevices.ps1

只有以下三项同时满足时再继续:

  • Ready: True
  • Node.js 版本不低于 22
  • Heuristic match: True

如果预检失败,不要删除或绕过检查。失败可能意味着 Codex 已经更新、官方已调整相关实现,或者当前版本与该方案不兼容。

3. 保存工作并安装常驻守护程序

安装器会关闭当前 Codex Desktop,然后重新打开(首次接管时最多自动重开一次)。执行前请先保存正在编辑的内容。

powershell -NoProfile -ExecutionPolicy Bypass `
  -File .\Install-CodexControlOtherDevices.ps1 -EnableCandidateCompatibleUpdates

安装目录固定为 %LOCALAPPDATA%\CodexControlOtherDevices。安装完成后,登录 Windows 时计划任务 Codex Control Other Devices Supervisor 会自动启动托盘守护程序。托盘图标为绿色时,当前会话已生效,此时打开:

设置 → 连接 → Control other devices

4. 完成设备授权

  1. 点击“添加”或“设置”。
  2. 使用与目标主机相同的 ChatGPT 账号和工作区完成授权。
  3. 按提示完成 MFA、SSO 或 passkey 验证。
  4. 确认目标 Mac/Windows 主机在线,并已开启“允许其他设备连接”。
  5. 新建远程项目时,选择对应的目标设备。

处理后:Windows 版 Codex Desktop 已显示“控制其他设备”入口并连接目标设备

图 2:处理后,“控制其他设备”入口已经显示,并成功连接目标设备。

如果想让 Codex 协助操作

原文中“把项目交给 GPT,让它自己修复”的说法过于宽泛。更稳妥的做法是先让 Codex 审查,再由你确认是否执行。可以直接使用下面这段提示词:

请阅读以下仓库的 README 和脚本:
https://github.com/naipi11/Codex-Control-other-devices-Windows

先不要执行启动或修改操作。请先:
1. 检查我的 Windows、Codex Desktop 安装方式和 Node.js 版本是否满足要求;
2. 说明将执行哪些命令、影响哪些文件或进程;
3. 说明安全风险、停用方法和回滚步骤;
4. 只运行项目提供的只读兼容性预检,并把结果解释给我。

只有在我明确确认后,才运行安装脚本。不要绕过预检,不要修改登录凭据,也不要执行与该项目无关的命令。

这样既能利用 Codex 帮助检查环境,也能在真正执行第三方脚本前看清修改范围和回退方法。

使用结果与限制

在我的测试环境中,通过安装器安装常驻守护程序后,原本缺失的 Control other devices 入口已经显示,并能够继续进行设备授权。

需要注意:

  • 安装后由计划任务自动启动托盘守护程序,登录后即可自动接管,不需要每次手动运行脚本;
  • 托盘图标为绿色时表示当前会话已生效,灰色表示等待 Codex 或自动化已暂停;
  • 新版 Codex 正常启动自带 --remote-debugging-port(没有 --inspect),守护程序已能识别这种启动方式并自动完成接管;
  • 升级本项目或 Codex 后,无需重装守护程序本体,但仍建议每次 Codex 更新后重新执行预检;
  • 入口成功显示不等于账号一定拥有服务端权限,最终仍取决于账号、工作区、认证和功能发布状态。

停用与回滚

最简单的停用方式是退出 Codex,再从开始菜单正常启动。由于应用安装文件没有被修改,因此不需要恢复安装包。

需要彻底停用时,使用项目提供的安全卸载脚本:

powershell -NoProfile -ExecutionPolicy Bypass `
  -File .\Uninstall-CodexControlOtherDevices.ps1

卸载默认保留本地设备密钥;如需备份或显式删除,可分别使用 -BackupDeviceKeyStore-RemoveDeviceKeyStore(两者互斥)。旧版手动启动/回滚脚本仍保留为保守回退:

powershell -NoProfile -ExecutionPolicy Bypass `
  -File .\Start-CodexControlOtherDevices.ps1
powershell -NoProfile -ExecutionPolicy Bypass `
  -File .\Reset-CodexControlOtherDevices.ps1

如果还要处理设备密钥,应先在 Codex 中撤销该控制器的访问权限,再按照项目 README 执行可恢复备份;仅移动本地密钥文件不会自动撤销服务端授权。

安全提醒

这是非官方、与客户端内部实现相关的第三方兼容方案,不是 OpenAI 官方补丁。项目会在本机 127.0.0.1 上启用 Chromium 调试接口,启动过程中还会短暂使用 Node Inspector,因此请注意:

  • 只在可信任的电脑和 Windows 用户会话中使用;
  • 执行前阅读 README 和脚本,逐条确认 Codex 将运行的命令;
  • 不要为了强行运行而绕过兼容性预检;
  • Codex 更新后重新预检,官方入口恢复后优先使用官方功能;
  • 提交日志前先清理本机路径等环境信息;
  • 不要公开上传登录令牌、设备私钥或 app.asar 文件。

总结

如果 Windows 版 Codex Desktop 已经可以被手机远程连接,但设置中始终缺少 Control other devices,应先完成官方排查,并确认这不是账号、工作区或灰度发布状态导致的差异。

对于项目明确支持的受影响构建,可以使用 Codex-Control-other-devices-Windows 做兼容处理。它的优点是不修改应用安装文件、安装后由托盘守护程序自动接管、停用方式直接;代价是这仍是非官方方案,依赖本机调试接口,而且客户端更新后必须重新检查兼容性。

参考资料

更多推荐