> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nomo.gg/llms.txt
> Use this file to discover all available pages before exploring further.

# 搭配 Codex 使用

> 会话功能支持 Codex，但和 Claude Code 不完全一样。哪些能在手机上做、哪些不能，以及为什么。

Codex 的会话出现在同一个列表里、同一个灵动岛上，走同一份配对。但 Codex 和 Claude Code 向插件暴露的东西不一样，所以 Codex 这边少了几个选项。

Nomo 一以贯之的原则是：绝不提供一个 Mac 兑现不了的按钮。所以你拿到的不是一个会悄悄失效的控件，而是要么换一个控件，要么一句老实话——“这件事去 Mac 上做”。

<Note>
  Codex 没有单独的配对。同一台电脑上的两个智能体读的是同一份配置——你只需[配对这台机器](/zh-Hans/setup/pairing)一次。在传输层面上，唯一的差别是一个标明它属于哪个智能体的标签。
</Note>

<h2 id="what-works-the-same">
  与 Claude Code 相同的部分
</h2>

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

<h2 id="no-always-allow">
  没有“始终允许”
</h2>

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

“允许”照常好用。你只是下次还会被问一遍。

<h2 id="plans-are-read-only">
  计划只读
</h2>

Codex 那句“要执行这份计划吗？”的提问活在它自己的终端界面里。它根本不会到达插件，也就是说 Nomo 没有可以接住的东西，你点一下也解决不了什么。

所以 Nomo 把计划给你看——完整的，而且每次打开都刷新，因为 Codex 是边写边输出的——然后写上 `请在 Mac 终端中选择`。如果你的手机能通过本地网络够到 Mac，**在 Mac 上打开**会替你把那个终端窗口调到最前。

<Frame caption="只读的计划阅读界面。要读的都在，底栏也老实交代了决定该在哪里做。">
  <div className="device-frame">
    <img src="https://mintcdn.com/nomo-ba73b2e6/tvqjCmRnpqBaYpOW/images/view-plan-drawer.png?fit=max&auto=format&n=tvqjCmRnpqBaYpOW&q=85&s=8bb91265128066d756acac01e3cd0f35" alt="一份计划在手机上全屏呈现，底栏写着“请在 Mac 终端中选择”" width="1206" height="2622" data-path="images/view-plan-drawer.png" />
  </div>
</Frame>

<h2 id="questions-in-the-cli-and-the-desktop-app">
  CLI 与桌面应用中的问题
</h2>

要在手机上回答 Codex 的问题，需要 Codex 任务和 Nomo 的看门狗共用同一个 app-server 进程。

<Tabs>
  <Tab title="Codex CLI" icon="terminal">
    在启动 Codex **之前**先启动共用的 app-server：

    ```bash theme={null}
    codex app-server daemon start
    ```

    然后确认：

    ```bash theme={null}
    $nomo-status
    ```

    `Codex Plan answers: bridge available` 表示你准备好了——问题会连同选项一起到达你的手机，你点一个就行。

    `Codex Plan answers: status-only` 表示没有任何东西在监听。先启动守护进程，再启动 Codex。顺序很重要：先开的会话不会认到守护进程。
  </Tab>

  <Tab title="Codex 桌面应用" icon="window">
    **桌面应用会话里的问题没法在手机上回答。**

    上面那个守护进程监听的是一个共用套接字，谁都可以接上去。桌面应用不用它——它为每个任务单独派生一个私有的 app-server，没有套接字可以加入。没有任何开关或设置能改变这一点，所以不管你事先启动了什么，`$nomo-status` 都会一直说 `status-only`。

    其余一切照常：会话会出现，命令和补丁的权限请求可以在手机上答复，计划也能读。问题也会显示出来——只是你在手机上读，在应用里答。
  </Tab>
</Tabs>

无论哪种情况，会话本身都会到达你的手机。没有这座桥时，你会看到 `需要帮助` 和 `在 Mac 上回答`——问题就在那儿可以读，只是没有可点的选项，你得在 Codex 里回答它。

<h2 id="hooks-have-to-be-trusted">
  hook 需要信任
</h2>

Codex 自带一道安全闸：插件的 hook 装好了，但**在你信任它们之前是不生效的**。运行 `/hooks`，信任那七条 Nomo 条目，具体见[安装](/zh-Hans/setup/install)。

最容易绊倒人的地方：升级到加入了“手机接管 Codex 审批”的那个版本时，引入了一条**新的** hook，于是 Codex 会重新开启一次审核。在你信任它之前，Codex 的审批会悄悄退回终端，而且不会有任何报错。如果更新之后你的手机不再收到 Codex 的请求，先运行 `/hooks`。

`$nomo-status` 会报告 hook 的信任状态，所以用它来确认这一步是否真的生效。

<h2 id="prompts-that-never-reach-you">
  不会送达手机的请求
</h2>

当一轮 Codex 运行在自动审核或完全访问模式下时，hook 会在 Nomo 发出任何东西之前就把控制权交还给 Codex。这是正确的——是你告诉 Codex 别问的——但这也意味着请求不会出现在你手机上。

Codex 也没有 Claude Code 通知 hook 的对应物，所以来自 Codex 会话的“它在等你”提醒会比 Claude Code 会话少一些。

<h2 id="version-floor">
  版本要求
</h2>

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