- CLI
- 0.2.17
- 预览 ref
- a2c45c8
Codex 很好用,但当会话运行时间超过“一次坐下来的工作量”时,默认的使用体验就不太顺手了。
一旦离开终端,你通常就失去了方便的控制循环:
- 查看进度
- 发送补充说明
- 批准工具权限
- 审查改动
在手机上,你可以用 SSH 硬撑,但手机并不适合当终端。
所以要解决的问题是:Codex 继续在拥有会话的机器上运行,你在手机上让会话继续推进(后续指令、审批、审查)。
Happier 是一款开源应用,让你在手机、桌面或网页上跨设备运行和编排 Codex、Claude Code 及其他代理。 取舍:你仍需要在拥有会话的机器上完成认证,并为需要的流程(attach / resume 等)配置正确的后端。
要点
- 安装 Happier,并在你的机器上完成 Codex 认证(CLI 或已连接的服务)。
- 从 Happier(手机 / 网页 / 桌面)启动 Codex 会话,并选择运行它的机器。
- 从 Happier 0.2.13 搭配 Codex CLI 0.131.0+ 起:原生 Codex TUI 和 Happier 应用连接到同一个 App Server 线程。你可以在终端里输入,同时在手机上审批,两边都在同一个会话里实时同步。
- 在手机上:跟进对话记录、发送后续指令、处理审批、审查 diff。
- 随时用
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:用于新会话没问题,但不是常规的厂商恢复路径。
实践中重要的两个行为:
- 对于新会话,Happier 默认使用 App Server,不可用时不会悄悄回退。
- 对于恢复,Happier 保持严格:会直接报错,而不是悄悄开启一个新会话。
理解这两条规则后,在手机上用 Codex 就不会再感觉“随机”。
如果你刚接触 Happier(它是什么,在哪里获取)
如果你之前没见过 Happier:它是一款面向 Claude Code、Codex 和 OpenCode 等 AI 编程代理的开源配套应用(移动端 / 网页 / 桌面)。
这里的工作流是:Codex 仍运行在拥有工作区的机器上,你在手机上用 Happier 监控、引导、审批和审查。
对本指南来说,这意味着你可以完成 Codex 的“会话监督”部分(后续指令、审批、diff 审查),而不用一直守在 SSH 里。
开始使用:
- 如何在手机上使用 Happier
- GitHub: https://github.com/happier-dev/happier
- 安装 / 下载: https://github.com/happier-dev/happier#how-it-works
- Discord(社区与支持): https://discord.gg/W6Pb8KuHfg
手机工作流:启动 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,请在需要的机器上准备好认证和依赖。