Codex Remote

在手机上用 Codex:Codex Remote 与 Happier 对比

OpenAI 把 Codex 放进了 ChatGPT 手机应用,并把这项功能称为 Remote:你把手机与一台 Mac 或 Windows PC 配对,然后驱动运行在它上面的 Codex 会话。以下是它覆盖到的范围、OpenAI 自己的文档给它附加的条件,以及它从来就不是为之而建的那种工作流。

OpenAI 为 Codex 提供了一套远程控制,而且做得不错。它自己的文档称之为 Remote,并用一句话描述它:在手机上跟进进度、批准操作、发送指令,而 Codex 在你连接的电脑上运行每个任务。设置就是扫一次二维码 —— 在你的 Mac 或 Windows PC 上打开 ChatGPT 桌面应用,进入 Settings → Connections → “Control this Mac or PC”,批准远程访问,再用登录了同一账号和同一工作区的手机扫码。从此 OpenAI 列出的四件事都在手机上:启动任务、在工作进行时引导它、批准请求的操作、查看结果。Codex 本身包含在 ChatGPT 订阅中,所以对大多数人来说这一切都不是一笔新账单。如果 Codex 就是你工作流的全部,而放着你代码的那台电脑是 Mac 或 Windows PC,那这就是一个完整的答案,本页后面的内容都不是在论证它不是。

本页讲的是其余的部分:OpenAI 文档给 Remote 附加的条件、Codex 中运行在 OpenAI 云上而非你自己电脑上的那一部分,以及这两个入口都不是为之而建的另外 12 个智能体。

Codex 自己的远程控制具体做得好在哪里

本区块中的每一条陈述都是在复述 OpenAI 公开的文档,包括他们的云做了 Happier 完全不做的事这一部分。其中没有一句是含糊其辞的,因为一句模糊的让步算不上让步。

在手机上启动、引导、批准和查看
OpenAI 的 Remote 页面列出了手机的用途:启动任务、在工作进行时引导它、批准请求的操作、查看结果。工作本身不会挪动 —— “Codex 在你连接的电脑上运行每个任务” —— 所以手机是一个控制界面,而不是你的代码落脚的第二个地方。
配对是在 ChatGPT 桌面应用里扫一次二维码
在 ChatGPT 桌面应用里进入 Settings → Connections → “Control this Mac or PC”,批准远程访问,扫码。手机必须登录同一账号和同一工作区,而 OpenAI 自己的步骤清单以最实在的一条收尾:让你的电脑保持唤醒并在线。
它能连到你 ~/.ssh/config 里已有的 SSH 主机
据 OpenAI 的远程连接页面,Codex 会从 `~/.ssh/config` 读取具体的主机别名,用 OpenSSH 解析它们,并忽略只有通配模式的主机项。已经写在你 SSH 配置里的开发机可以被直接发现,而不是要再配置一遍的东西。
Codex cloud 在隔离环境中并行运行任务
与 Remote 分开来说,Codex 会在隔离的云环境中并行运行任务,带有按仓库配置的初始化步骤、依赖和变量 —— 可以从网页、从 GitHub、从 Linear 或从 Slack 启动。Happier 没有对应的东西,也不会假装有:每个 Happier 会话都运行在你自己的电脑上。在一个你还没克隆到任何地方的仓库上干活,正是云环境的用途。
Codex 包含在 ChatGPT 订阅中
OpenAI 的定价页面写明,ChatGPT Work 和 Codex 包含在 Free、Go、Plus、Pro、Business、Edu 和 Enterprise 套餐中。同一份文档还补充了两点:Remote 是否可用取决于分批推送和你的工作区设置;在受管理的工作区里,管理员可能需要先启用 Remote Control 访问权限,手机才能连上。

它运行所依赖的五个条件

这些不是我们测试出来的限制。每一条都是 OpenAI 公布的要求,其中一条以完全相同的方式适用于 Happier —— 这一点写在下面,而不是悄悄略去。

  1. 1. 链路里没有 Mac 或 Windows PC。

    据 OpenAI 文档,Remote 支持在 macOS 和 Windows 上运行 ChatGPT 桌面应用的主机,手机配对的正是这个桌面应用。Linux 电脑可以作为 SSH 目标从它那里连上 —— OpenAI 的远程连接页面要求你确认能从运行该应用的电脑 SSH 到那台主机,并且远程主机的 PATH 上有 `codex` —— 所以即使代码不在 Mac 或 PC 上,它仍留在链路里。

    Happier CLI 可以装在 macOS、Linux 和 Windows 上,你装上它的每一台电脑都成为可以直接在上面启动会话的机器。角落里那台 Linux 机器本身就是一台机器,而不是要通过另一台同样得醒着的笔记本才能连上的东西。

  2. 2. 你常驻终端,想要的是你已经启动的那个会话。

    据 OpenAI 文档,手机端的设置要从应用开始:“你无法从 Codex CLI 或 IDE 扩展进行设置。”配对是一个桌面应用的流程。

    在仓库里用 `happier codex` 启动一个会话,它就已经能从应用、网页和手机访问 —— 每个会话不需要第二次配对,因为配对发生在你和你自己的机器之间,而不是两个应用之间。

  3. 3. 你的电脑睡着了。

    OpenAI 的设置步骤说要让你的电脑保持唤醒并在线,主机也必须始终登录同一账号和同一工作区。

    Happier 解决不了这一点,声称能解决的页面是在骗你:会话运行在真实的电脑上,而睡着的电脑什么也不运行。变的是哪一台电脑必须醒着。会话是针对某台机器创建的,所以那台常开的机器可以承接长时间的运行,而你包里的笔记本是合着的。

  4. 4. 你在一个受管理的 ChatGPT 工作区里。

    据 OpenAI 文档:“如果你通过 ChatGPT 工作区使用 Codex,在你能从手机连接之前,管理员可能需要启用 Remote Control 访问权限。”

    对应的开关是你的组织自己掌握的,而不是要去申请的:`happier relay host install` 把 relay 装在你自己的硬件上,由你的 GitHub 组织或 OIDC 群组把关,而且会话记录在到达它之前就已经过端到端加密。

  5. 5. 你想把正在运行的任务挪到云上,或者从云上挪回来。

    据 OpenAI 文档:“不支持移交到 Codex 云环境。”Remote 驱动的是你连接的那台电脑;Codex cloud 是另一个入口,有自己的一套环境。

    Happier 没有可供移交的云环境。它挪动的是在你自己的电脑之间迁移的活动会话,并保持同一个会话 id —— 这在 Claude Code 和 OpenCode 上可用,在 Codex 上是实验性的。

Remote 驱动 Codex。Happier 驱动 13 个智能体。

Remote 驱动 Codex,而 Codex cloud 运行 Codex。厂商的远程控制本来就是这样:每家推出远程控制的厂商都是为自家的智能体而做,这没什么奇怪的。跨厂商的场景则建立在开放协议之上 —— Zed 通过 ACP 在编辑器里运行 Claude、Codex、OpenCode、Copilot、Cursor 和 Pi Coding Agent,而 Happier 也讲 ACP,只不过是横跨你的各台设备,而不是在一个编辑器里。用手机连上某一家厂商的智能体,和在一个收件箱里运行 13 家厂商的智能体,是两件不同的事。Happier 是为后者而做的。

这一条单独列出,而不是作为上面列表里的第六项,因为它是另一类陈述。那五个条件是要求:满足它们,东西就能用。而这一条是产品的形态,再怎么满足要求也改变不了它。

它在你的环境里能用吗?

决定这两样东西在你的环境里能否用的八个事实。其中三个归 OpenAI。正是这三个,让另外五个值得一读。

Codex 那一列复述的是 OpenAI 公开的文档,出自 learn.chatgpt.com/docs/remote、/docs/remote-connections、/docs/cloud 和 /docs/pricing。核实于 2026 年八月。
事实Codex Remote 与 Codex cloudHappier
它驱动的智能体Codex13 个智能体 + 任意 ACP CLI
它在哪些操作系统上运行工作macOS 或 Windows 上的宿主应用,以及它的 SSH 目标(据 OpenAI 文档)macOS、Windows 和 Linux,每台各自独立
在哪里设置连接桌面应用;不是 CLI 或 IDE 扩展(据 OpenAI 文档)每台电脑安装一次,然后在仓库里执行 `happier codex`
远程 SSH 主机从 `~/.ssh/config` 中发现(据 OpenAI 文档)在主机上安装 Happier,它就和其他机器一样成为一台机器
在托管环境中运行工作Codex cloud:隔离的云环境(据 OpenAI 文档)不提供 —— 每个会话都运行在你自己的电脑上
在组织里由谁掌握这个开关工作区管理员可能需要启用 Remote Control 访问权限(据 OpenAI 文档)由你掌握,在你可以自托管的 relay 上
价格Codex 包含在 ChatGPT 订阅中(据 OpenAI 文档)免费,采用 MIT 许可
由该智能体的厂商开发是 —— 第一方否 —— 独立客户端

一个客户端管住 13 个智能体,能给你带来什么

这些都不是某家厂商的远程控制没做好本职工作。它们是只有当客户端不绑在某一家厂商的智能体上时才成为可能的事。

所有智能体都在一个收件箱里。
Codex 通过 ChatGPT 应用连到你的手机。Claude Code 的远程控制在 claude.ai/code 或 Claude 应用里打开。每家厂商的远程控制都落在自家产品内部,这没什么问题,直到你同时用了其中两家,而你正在等的那个批准在另一家里。Happier 是一个收件箱:所有会话、所有智能体、你连接过的所有电脑,都在同一个地方回应它们全都卡着等待的权限请求。
在一个工作区里混搭多个智能体。
一个 Codex 会话可以把评审交给运行在 Claude Code 上的委派任务,同时第三个智能体在读堆栈跟踪,而你可以在其中任何一个运行到一半时介入引导。Happier 的计划、评审和委派运行接受一份明确的服务方目标列表,而不是你恰好所在的那个服务方。某一家厂商做的远程控制驱动的是这家厂商的智能体;它本来就是干这个的。
选择会话运行在哪个账号上,或把多个账号组成池以便回退。
每项服务可以连接不止一个配置档 —— 一个个人 Codex 订阅和一个工作用的、一个 OpenAI 密钥 —— 并在启动会话时选择它运行在哪一个上。池是账号的池,而不是智能体的池:同一个 Codex 订阅可以被任何运行在它之上的智能体使用,包括 OpenCode。在启用了配额界面的地方,Codex、Claude 和 Gemini 的配置档会在认证选择器里带上用量快照,这样你在把一段长时间运行交给它之前就能看到还剩多少。当一个池确实把正在运行的会话切到另一个账号时,这是有上限的 —— 默认每轮最多一次、每个会话小时最多三次 —— 而且会话中途切换只有 Claude Code 和 Codex 支持。
在会话进行途中,在终端和应用之间切换。
从手机启动一个 Codex 会话,然后在那台电脑上运行 `happier attach <session-id>`,你就进入了 Codex 自己的 TUI,还是同一个会话,历史记录已经在那里。或者在终端里启动,再到应用里接手。Codex 的本地控制是独占的,所以当 TUI 持有该会话时,来自应用的消息会在待处理队列里等待,直到这一轮结束、中止或退出 —— Happier 不会往正在运行的一轮里打字,因为那样会让你丢掉本来想要的成果。
在你自己的任意一台电脑上启动会话。
会话是针对某台机器创建的,所以你人在笔记本前时,Codex 会话可以在 VPS 上启动,而笔记本上的会话可以给它发消息并等它完成。活动会话也可以在同一个会话 id 下在电脑之间迁移,带着它的服务方状态和项目目录 —— Claude Code 和 OpenCode 已支持,Codex 上是实验性的。
标出那几行。发给任意智能体。
打开一个文件或一份 diff —— 变更文件的评审视图,或者智能体刚写进会话记录的那份 diff —— 在确切的那一行上留下评论。Happier 会保存路径、行号、一段片段和该行内容的哈希,所以在文件在底下挪动之后,这条备注仍能找到它对应的代码。挑出要发送的评论,它们会作为结构化的评审上下文送进去:回到同一个会话,或者进入另一个智能体上的新会话,因为这些评论是挂在工作区上的,你在那里打开的任何会话都会发现它们在等着。

另一个区别在于对话存在哪里。Happier 账号默认端到端加密 —— 同步服务器持有的是它读不了的密文 —— 而 happier relay host install 会把 relay 本身放在你自己的硬件上。

Codex 在这里有自己的页面,讲了安装路径、认证模型和那些脾气 —— Happier 中的 Codex。同样的问题如果是问 Anthropic 的远程控制,答案在 Claude Code Remote Control 页面

试一试

安装在存放你代码的那台电脑上。在那台电脑设置好之前,你手机上的一切都无关紧要,这就是为什么这是第一步,而不是一个应用商店徽章。

curl -fsSL https://happier.dev/install | bash

然后在一个仓库里执行 happier codex。会话从启动的那一刻起就在你的手机上,而它同时仍在你的终端里 —— happier attach 会把你放回 Codex 自己的 TUI,而不会另起一个。