Skip to main content
Codex 的会话出现在同一个列表里、同一个灵动岛上,走同一份配对。但 Codex 和 Claude Code 向插件暴露的东西不一样,所以 Codex 这边少了几个选项。 Nomo 一以贯之的原则是:绝不提供一个 Mac 兑现不了的按钮。所以你拿到的不是一个会悄悄失效的控件,而是要么换一个控件,要么一句老实话——“这件事去 Mac 上做”。
Codex 没有单独的配对。同一台电脑上的两个智能体读的是同一份配置——你只需配对这台机器一次。在传输层面上,唯一的差别是一个标明它属于哪个智能体的标签。

与 Claude Code 相同的部分

  • 会话、状态、文件夹,以及灵动岛。
  • shell 命令、补丁和 MCP 工具的权限请求——在灵动岛或 App 里允许拒绝
  • 拒绝并附注…,用来说明原因或该怎么做。
  • 读计划。

没有“始终允许”

Claude Code 允许你把某个工具在本次会话余下的时间里都放行。而 Nomo 一旦给决定附上这类规则,Codex 就会把整个决定驳回,所以这个选项干脆不显示——一个被丢掉的拒绝,比一个缺失的按钮糟糕得多。 “允许”照常好用。你只是下次还会被问一遍。

计划只读

Codex 那句“要执行这份计划吗?”的提问活在它自己的终端界面里。它根本不会到达插件,也就是说 Nomo 没有可以接住的东西,你点一下也解决不了什么。 所以 Nomo 把计划给你看——完整的,而且每次打开都刷新,因为 Codex 是边写边输出的——然后写上 请在 Mac 终端中选择。如果你的手机能通过本地网络够到 Mac,在 Mac 上打开会替你把那个终端窗口调到最前。
一份计划在手机上全屏呈现,底栏写着“请在 Mac 终端中选择”

只读的计划阅读界面。要读的都在,底栏也老实交代了决定该在哪里做。

CLI 与桌面应用中的问题

要在手机上回答 Codex 的问题,需要 Codex 任务和 Nomo 的看门狗共用同一个 app-server 进程。
在启动 Codex 之前先启动共用的 app-server:
然后确认:
Codex Plan answers: bridge available 表示你准备好了——问题会连同选项一起到达你的手机,你点一个就行。Codex Plan answers: status-only 表示没有任何东西在监听。先启动守护进程,再启动 Codex。顺序很重要:先开的会话不会认到守护进程。
无论哪种情况,会话本身都会到达你的手机。没有这座桥时,你会看到 需要帮助在 Mac 上回答——问题就在那儿可以读,只是没有可点的选项,你得在 Codex 里回答它。

hook 需要信任

Codex 自带一道安全闸:插件的 hook 装好了,但在你信任它们之前是不生效的。运行 /hooks,信任那七条 Nomo 条目,具体见安装 最容易绊倒人的地方:升级到加入了“手机接管 Codex 审批”的那个版本时,引入了一条新的 hook,于是 Codex 会重新开启一次审核。在你信任它之前,Codex 的审批会悄悄退回终端,而且不会有任何报错。如果更新之后你的手机不再收到 Codex 的请求,先运行 /hooks $nomo-status 会报告 hook 的信任状态,所以用它来确认这一步是否真的生效。

不会送达手机的请求

当一轮 Codex 运行在自动审核或完全访问模式下时,hook 会在 Nomo 发出任何东西之前就把控制权交还给 Codex。这是正确的——是你告诉 Codex 别问的——但这也意味着请求不会出现在你手机上。 Codex 也没有 Claude Code 通知 hook 的对应物,所以来自 Codex 会话的“它在等你”提醒会比 Claude Code 会话少一些。

版本要求

Codex 0.142 或更高版本。更早的版本没有插件系统可供 Nomo 安装。