手机上的 Codex,来自开源应用
openai/codex CLI 运行在你自己的硬件上,使用你自己的 ChatGPT 订阅或 API 密钥。Happier 是你在任何地方看向它的那扇窗。
How Happier runs Codex CLI
Codex 是 Happier 默认以 App Server 模式启动的智能体,由此带来的有用后果是拒绝:如果新会话用不了该模式,启动就会失败,而不是悄悄降到更弱的东西上;因此 ACP 或 MCP 是你有意做出的选择,而不是在你背后发生、让这次会话表现得与上一个不同的回退。
这个选择的代价是写下来的,而不是靠感觉的。在默认运行时上,Codex 对话可以被分叉、回滚到更早的某点,也可以被询问用量上限是否已经解除;改选 MCP 或 ACP 运行时,这个版本就把这三样全部去掉,这正是为什么悄悄降级会是错误的体贴。Codex 还保留着可以交还给你的供应商 TUI——happier attach 会把真正的 Codex 界面接到已经在运行的那个会话上,而当那个终端占着它时,你从应用发出的内容都会在队列里等待,而不是出现在你的光标下面。
它也是账户可以在会话中途更换的 2 个智能体之一。连接过 Codex 订阅或 OpenAI 密钥之后,某个会话在其中一个上撞到上限时,可以被带到同组里的另份配置上,而不是被放弃——每轮至多单次,每个会话小时内至多三次,所以这是恢复而不是轮换。登录本身仍然是供应商的:供应商页面会在你选定的电脑上运行 codex login,它写下的凭据也留在那里。
What Codex CLI does, and what Happier adds
Codex CLI 是 OpenAI 的终端编码智能体,以 openai/codex 仓库的发布可执行文件形式分发。happier codex 会在你指定的仓库里启动那个可执行文件——同样的审批提示,同样的工作目录,和你自己运行它时同样的账户。
变的是你能从哪里读它。对话记录、文件 diff 和审批请求会出现在手机上的 Happier 应用里、浏览器标签页里或桌面应用里,在离开你的电脑之前就已端到端加密。
happier codexRead, approve and answer Codex CLI from any device
iOS 和 Android 应用、面向 macOS、Windows 和 Linux 的桌面应用,以及 app.happier.dev,都是通向运行在你电脑上的 Codex CLI 进程的客户端 —— 而不是只读的镜像。回应一个权限请求、发送下一条指令、浏览仓库、阅读 diff。会话记录在离开你的电脑之前就已端到端加密,所以承载它的服务器持有的是密文。
Happier can install Codex CLI for you
Happier 安装在已经存放着你仓库的那台电脑上,而 happier codex 会在那里把 Codex CLI 作为一个普通子进程启动,在你指定的目录里,用你自己登录好的身份。智能体和 OpenAI 之间没有网关,你的源码在别处也没有任何副本。
Happier 会先在你的 PATH 上找 codex,运行你装的那份。如果没有,它可以把 openai/codex 的发行版可执行文件下载到 ~/.happier/tools/providers/codex/ 并留在那里。你自己的安装永远优先。
OpenAI 自己介绍 Codex CLI 的页面在 github.com/openai/codex。Happier 不会镜像一份,因为把别人的安装说明抄一份过来,抄的就是一份会过期的东西。
Happier 这一侧的配置参考 —— Happier 文档中的 Codex CLI。
Codex CLI 跑在哪个账号上
Codex CLI 是 Happier 可以指向“你连接过一次的凭据”的智能体之一,而不是指向那台电脑当下登录的账号。它接受 a Codex subscription or an OpenAI API key。
已连接服务是以凭据为键,而不是以智能体为键,所以同一份 Codex subscription 在每一台你连接过的电脑上,都能给任何接受它的智能体选用 — 这也正是把你自己的账号组成一个池、跨多台电脑使用会有帮助的原因。凭据的加密和解密都在你自己的设备上进行;文档页面 记载了各类配置档的规则,因为每个智能体接受哪些种类的配置档,正是会随版本变动的那类细节。
One app for Codex CLI and 12 other agents
Codex CLI 是 Happier 运行的 13 个命令行编码智能体之一,它们共用一份会话列表、一个权限收件箱、一套键盘快捷键和一份 MCP 配置。
You define an MCP server once and Codex CLI receives it as native MCP inventory, next to whatever MCP servers it already had of its own.
这在你同时跑不止一个的日子里最要紧:不同厂商的会话并排摆着,点一下通知打开的是发出该请求的那个会话,而不是应用的首页。完整名单在这里。
The same Codex CLI session in your terminal and in the app
在终端里输入 happier codex,会话就在你站着的地方启动,而同一个会话同时也在应用里。你在那个 shell 里读到的是 Happier 自己对会话的呈现 —— 会话记录、权限提示、工具输出 —— 而不是 Codex CLI 的界面。没有人需要为了拿到一个手机客户端而放弃终端。
当你想用 Codex CLI 自己的 TUI 时,在拥有该会话的电脑上运行 happier attach <session-id>,它就会在 tmux 里把会话交给你,而且历史记录已经在那里了。在默认运行时下这种交接是独占的:只要终端握着会话,你从应用发出的消息就会排在队列里等,而不是在你眼皮底下被打进去;等你把控制权交回来,它才会发出去。
attach 指南列出了具体适用的情形,而不是把所有情形都许诺下来。
关于通过 Happier 运行 Codex CLI 的问题
- 我必须自己安装 Codex 吗?
- 只有你想装才需要。如果
codex在你的 PATH 上,Happier 就用它。如果不在,Happier 可以从 openai/codex 取回发布可执行文件并放在~/.happier/tools/providers/codex/下——你自己安装的那份始终优先。 - 这是 ChatGPT 应用里的那个 Codex 吗?
- 不是,而且值得说准确:OpenAI 把 Codex 放进了 ChatGPT 移动应用,那是 OpenAI 自家为它做的遥控器。Happier 是另外的独立开源应用,它在你的电脑上运行
codexCLI,并把它和另外 12 个智能体并排显示在同个会话列表里。 - 它用的是哪个账户?
- 那台电脑上
codex已经登录的那一个——ChatGPT 订阅或 API 密钥。Happier 不代理模型调用,也从不把这些凭据存在服务器上。 - 我可以同时运行 Codex 和别的智能体吗?
- 可以。每个智能体都是自己的进程;Happier 把它们的会话并排列出,把它们的权限请求收进一个收件箱,并把通知的点击路由到发出它的那个会话。
- 我在哪里配置它?
- Codex 自家的配置仍然放在 Codex 放它的地方。Happier 添加的东西——引擎与模式选择、权限默认值、MCP 服务器、连接的服务——都记录在 Happier 文档的 Codex 页面上。
Get Codex CLI onto your phone in two commands
在存放你代码的那台电脑上执行一条命令,然后在你想工作的仓库里执行 happier codex。
curl -fsSL https://happier.dev/install | bash分步说明在指南里。这一切都是 MIT 许可的,而 relay 是你可以自己运行的。

