如何在手机上使用 Codex:监控、审批、查看 diff 全在移动端完成

在你信任的机器上启动 Codex 会话,然后在手机上监控、引导、审批、审查并继续会话,不必把手机变成终端。

基于版本
CLI
0.2.17
预览 ref
a2c45c8

Codex 很好用,但当会话运行时间超过“一次坐下来的工作量”时,默认的使用体验就不太顺手了。

一旦离开终端,你通常就失去了方便的控制循环:

  • 查看进度
  • 发送补充说明
  • 批准工具权限
  • 审查改动

在手机上,你可以用 SSH 硬撑,但手机并不适合当终端。

所以要解决的问题是:Codex 继续在拥有会话的机器上运行,你在手机上让会话继续推进(后续指令、审批、审查)。

Happier 是一款开源应用,让你在手机、桌面或网页上跨设备运行和编排 Codex、Claude Code 及其他代理。 取舍:你仍需要在拥有会话的机器上完成认证,并为需要的流程(attach / resume 等)配置正确的后端。

要点

  1. 安装 Happier,并在你的机器上完成 Codex 认证(CLI 或已连接的服务)。
  2. 从 Happier(手机 / 网页 / 桌面)启动 Codex 会话,并选择运行它的机器。
  3. 从 Happier 0.2.13 搭配 Codex CLI 0.131.0+ 起:原生 Codex TUI 和 Happier 应用连接到同一个 App Server 线程。你可以在终端里输入,同时在手机上审批,两边都在同一个会话里实时同步。
  4. 在手机上:跟进对话记录、发送后续指令、处理审批、审查 diff。
  5. 随时用 happier attach <session-id> 切回终端,会话保持共享(使用 App Server 的 macOS / Linux)。

如果你直接用 codex 启动了 Codex 线程(没有通过 Happier),那么它运行期间 Happier 无法加入,因为 Codex 每个线程只允许一个活跃的写入方。

问题所在

Codex 很擅长干活。

麻烦的是周边的一切:

  • “会话在哪里运行?”
  • “不在笔记本前时,怎么让它继续推进?”
  • “怎么切回终端而不让会话分叉?”

认证:让 Codex 顺利登录

Codex 支持在以下位置管理每台机器的认证:

  • 设置 → AI 提供商 → Codex(Settings → AI provider settings → Codex)

在这里你可以:

  • 查看所选机器上 Codex 是否已登录
  • 检测 Happier 识别到的是 CLI 登录还是 OPENAI_API_KEY
  • 直接在 Happier 中打开 codex login

你也可以通过 Happier 的已连接服务进行认证:

  • 订阅认证(设备 / 粘贴流程)
  • 或 API key

CLI 示例:

happier connect codex --device
happier connect codex --paste
happier connect codex --api-key

后端:Codex 上容易踩坑的地方

这是值得弄清楚的 Codex 特有细节。

在 Happier 中,Codex 可以通过多种后端运行:

  • Codex App Server(默认):如果你在意可恢复性和以应用为主的工作流,推荐用这个。
  • Codex ACP:显式选择时使用的备选方案。
  • Codex MCP:用于新会话没问题,但不是常规的厂商恢复路径。

实践中重要的两个行为:

  1. 对于新会话,Happier 默认使用 App Server,不可用时不会悄悄回退。
  2. 对于恢复,Happier 保持严格:会直接报错,而不是悄悄开启一个新会话。

理解这两条规则后,在手机上用 Codex 就不会再感觉“随机”。

如果你刚接触 Happier(它是什么,在哪里获取)

如果你之前没见过 Happier:它是一款面向 Claude Code、Codex 和 OpenCode 等 AI 编程代理的开源配套应用(移动端 / 网页 / 桌面)。

这里的工作流是:Codex 仍运行在拥有工作区的机器上,你在手机上用 Happier 监控、引导、审批和审查。

对本指南来说,这意味着你可以完成 Codex 的“会话监督”部分(后续指令、审批、diff 审查),而不用一直守在 SSH 里。

开始使用:

手机工作流:启动 Codex 会话并让它持续推进

1) 在手机上启动会话

在手机上(应用或移动端 Web UI):

  • 新建会话
  • 选择 Codex
  • 选择运行它的机器
  • 发送你的任务

2) 用手机完成监督循环

在手机上你可以:

  • 在对话记录中查看进度
  • 发送后续指令(“先停一下,解释你改了什么”“只改这些文件”)
  • 根据当前模式处理权限提示
  • 提交前审查 diff

3) 在终端和手机之间切换(两边都保持实时)

从 Happier 0.2.13 起,搭配 macOS / Linux 上的 Codex CLI 0.131.0 或更新版本:

通过 Happier 启动 Codex 会话时,原生 Codex TUI 和 Happier 应用会连接到同一个正在运行的 App Server 线程。两边同时保持实时:

  • 通过 SSH 在 TUI 中输入提示 → 它会出现在手机应用中
  • 在手机上批准一条命令 → TUI 继续执行
  • happier attach <session-id> 可以为从手机启动的会话打开 TUI

这是共享控制,不是交接。切换界面时会话不会停止。

限制:

  • 共享控制只适用于通过 Happier 启动的会话。如果你直接用 codex 启动线程,运行期间 Happier 无法加入(Codex 每个线程只允许一个活跃的写入方)。
  • 在 Windows、ACP 模式或较旧的 Codex CLI 上,控制是独占的:来自手机的消息会等到终端这一轮到达安全的边界后再处理。
  • 运行会话的机器必须在线。Happier 无法解决机器离线或服务商故障。

回到拥有会话的机器上的笔记本或终端时:

happier attach <session-id>

恢复不活跃的 Codex 会话(会发生什么)

Happier 中的 Codex 恢复通常使用默认的 App Server 路径。

满足以下条件时,可以恢复不活跃的 Codex 会话:

  • 会话有有效的 Codex 恢复元数据
  • 当前后端与机器的组合支持恢复(默认是 App Server,显式选择时也可以是 ACP)
  • 所选恢复路径需要的机器依赖已经安装

通过 CLI:

happier resume
# 或
happier resume <session-id>

通过手机 / 应用 / 网页:

  • 不活跃的会话只有在可恢复时才接受输入
  • 发送消息会先触发恢复

权限与模式(简要版)

如果你经常被提示阻塞:

  • 先从 默认(Default)开始
  • 想减少打断可以试试 安全 YOLO(Safe YOLO)
  • 有意识地使用 YOLO,事后检查 diff

故障排查

现象:Codex 会话无法恢复

可能原因:

  • 会话所在的后端路径不支持厂商恢复(如果你强制使用纯 MCP,这很常见)
  • 所选路径需要的依赖没有安装

解决:

  • 可恢复的会话优先使用默认的 App Server 路径
  • 在机器上保持 Codex 已认证且可用

现象:无法从终端 attach

可能原因:

  • 你所在的机器不是拥有该会话的机器
  • attach 行为因操作系统而异(Linux / macOS 使用 tmux,Windows 使用不同的宿主模式)

解决:

  • 在拥有会话的机器上运行 attach

常见问题

Codex 的连续性和 Claude 一样稳定吗?

它可以运行得很好,但文档明确指出,在某些路径上 Codex 的交接和连续性仍不如 Claude / OpenCode 成熟。

如果你现在想要跨机器交接尽可能稳定,优先选 Claude / OpenCode。如果要用 Codex,请在需要的机器上准备好认证和依赖。

相关指南

mobilecodexsessionsworkflows
最后更新: 2026-10-26