---
summary: "将 Codex 本机执行放在配对设备或云工作线程上"
read_when:
- "您希望 Codex 命令在另一台机器上运行"
- "您正在批准 Codex 节点 exec-server 命令"
- "您正在云工作线程上放置 Codex 会话"
title: "在另一台机器上运行Codex"
sidebarTitle: "远程安置"
---
Codex 会话如何将本机执行置于网关之外,同时应用程序服务器、模型连接和脚本仍由网关拥有。 [Codex harness](/plugins/codex-harness) 指南的一部分; [ 每个部分移动的位置](/plugins/codex-harness#where-each-section-moved) 列出每个部分。
## 在配对设备上运行 Codex
Codex 会话可以在符合条件的配对设备上放置本机命令、文件系统、功能发现和 HTTP 执行,而 Codex 应用程序服务器、模型推理、提供者身份验证和会话脚本保留在网关上。这是会话范围内的 `remote-exec` 放置,而不是 `node_exec` 或 `tools.exec.host: "node"`。
在网关的配置和配对节点自己的本地配置中安装并启用 Codex 插件。如果任一计算机使用 `plugins.allow`,请将 `codex` 包含在该计算机的允许列表中。在网关上,明确允许高风险节点命令:
```json5
{
gateway: {
nodes: {
commands: {
allow: ["codex.exec-server.stdio.v1"],
},
},
},
plugins: {
entries: {
codex: {
enabled: true,
},
},
},
}
```
配对节点必须启用会话托管并通告 `codex.exec-server` 功能和 `codex.exec-server.stdio.v1` 命令。如果启用插件会更改现有节点的命令界面,请重新连接该节点,检查 `openclaw nodes pending`,并批准与 `openclaw nodes approve ` 的更新配对。持久命令白名单不会取代启动授权。关键提示提供两个批准范围:
- **允许一次** 授权一个执行服务器启动。
- **始终允许** 仅当确切的会话放置在同一节点、配对生成、环境、所有者纪元、放置生成、命令风险和工作目录上保持活动状态时才授权稍后启动。
网关仅在其当前进程中保留常设放置授权,并在每个节点传输调度之前立即重新验证它。因此,重新启动网关会返回到正常提示,而无需迁移或重新加载批准状态。移动或回收会话、更换环境、在新配对下重新连接、更改工作空间或达到 30 天的最长生命周期也会使重用失效。如果网关无法得出确切的放置权限,则它仅提供 **允许一次**。拒绝不启动任何进程。
如果启动批准过期或被拒绝,OpenClaw 将显示执行批准消息并保持模型的身份验证配置文件正常运行。重试该操作并批准新请求以继续;再次登录并不能解决启动拒绝的问题。
显式选择的会话 **完全访问** 只能在确切的许可轮次和放置期间替代提示,并且仅当节点自己的 `tools.exec` 策略和执行批准楼层都允许 full/off 执行时。 Node-local Deny 始终阻止。本地询问或许可名单限制需要人工决定;完全访问不会删除它们。如果本地策略拒绝Full启动,请使用普通会话权限模式请求批准,或者故意更改节点的本地策略并重新连接。发射准备期间的政策收紧拒绝了陈旧的发射。
Codex 直接启动其节点执行服务器,而不是启动 OpenClaw 工作程序,因此当所有工作程序插槽都被占用时,配对主机仍然符合资格。该命令仍必须可有效调用:在没有批准的配对表面和网关白名单的情况下声明它是不够的。
批准将授予对节点操作系统帐户可用的任何进程或文件的访问权限。验证的放置工作区设置工作目录和协调范围;它不会沙箱或限制该访问。仅配对可信设备,并在需要隔离时在单独的最低权限 OS 帐户下运行节点。
在 Control UI **Place** 选择器中选择配对设备,或显式分派现有的托管工作树会话:
```bash
openclaw gateway call sessions.dispatch \
--params '{"key":"agent:main:device-work","deviceId":""}'
```
该节点在放置工作区中启动与 `codex exec-server --listen stdio` 相同的托管固定 Codex 二进制文件。节点在宣布执行准备就绪之前等待本机进程开始侦听,因此冷盘启动不会消耗 Codex 的初始化握手预算。在现有的尝试生命周期中,启动仍然可以取消。网关通过现有的经过身份验证、批准门控的双工节点通道中继完整的 Codex JSON-RPC 消息,每条消息限制为 64 个 MiB。它不会启动 OpenClaw 工作子级、打开反向隧道或将提供商、云或 GitHub 凭据复制到设备。经过身份验证的远程 HTTP 不可用:网关在将包含 bearer/OAuth 授权、cookie、API 密钥或其他敏感身份验证标头的请求发送到节点之前拒绝这些请求。在网关上运行经过身份验证的 HTTP,或使用故意无凭据的端点。节点进程使用新的私有 `HOME` 和 `CODEX_HOME`,它们在尝试后被删除,并且其启动环境和请求的子进程环境都被清理。已完成的文件系统更改将协调到网关拥有的托管工作树中,或者对于仅存储库的会话,协调到网关保留的不可变检查点。
本机任务进程继承 Codex 默认环境策略下的 exec-server 启动 `RUST_LOG` 过滤器。当程序需要不同的日志级别时,在命令中显式设置 `RUST_LOG`。
断开节点连接、关闭应用程序服务器连接、取消轮次或退出插件会明显结束 Codex 的尝试并终止其远程执行服务器进程。每个配对设备尝试都拥有一个隔离的网关应用程序服务器客户端,从而防止远程环境注册在尝试之间累积。重新连接相同的配对设备可以进行新的尝试;它永远不会恢复断开的 stdio 连接或其进程。支持正常的 Codex 轮次,但 `/btw` 附带问题尚未绑定到配对设备放置,并且会失败并提供可行的解释。请参阅 [ 云工作人员和配对设备放置 ](/gateway/cloud-workers) 和 [ 节点命令策略 ](/nodes/command-policy#command-policy)。
## 在云工作线程上运行 Codex
捆绑的 Crabbox 提供程序支持 OpenClaw `worker-turn` 和 Codex `remote-exec`,因此可以为任一工具选择一个配置的云工作人员配置文件。选择 Codex 模型后,在新会话或移动会话中选择相同的 **Cloud · profile** 目标。配置文件放置需要 `operator.admin`。从 GitHub 存储库 URL 和可选参考开始,无需网关签出,或放置现有的网关托管工作树会话。仅存储库会话获取其源并将其固定在所选节点上。存储库会话需要受管节点; SSH-only 提供者无法创建它们。
启用受信任的 Codex 插件安装并在网关上显式允许 `codex.exec-server.stdio.v1`,如 [ 在配对设备上运行 Codex](#run-codex-on-a-paired-device) 中所示。 Crabbox 自动从正在运行的 Gateway 的内置安装引导云节点,包括 Codex 插件及其固定的本机依赖项。 Bootstrap安装云机操作系统和CPU的依赖项,然后在节点的隔离状态下启用插件。将配置文件设置重点放在机器先决条件和项目工具上,包括受支持的 Node.js 版本和 npm。有关构建和注册表访问要求,请参阅 [ 捆绑包安装 ](/gateway/cloud-workers#bundle-installation)。
网关在启动 Codex 进程之前检查云节点的当前配对和有效调用命令。应用相同的放置范围批准或明确选择的完全访问规则,包括云节点的本地执行策略和批准楼层。
Codex 通过注册节点的经过身份验证的出站连接运行其托管执行服务器,而无需启动 OpenClaw 工作子子级或消耗工作器插槽。其应用程序服务器、模型连接、提供者身份验证和转录内容仍归网关所有。进程和文件系统访问仍然具有节点操作系统帐户的权限,并且仅转发无凭据的 HTTP。工作区更改与网关拥有的工作树或不可变存储库检查点相一致。失败或断开连接的尝试已结束,需要重新尝试;它永远不会恢复远程进程或回退到网关本地或 SSH 执行。
请参阅 [Cloud 工作人员](/gateway/cloud-workers) 了解配置文件配置、放置生命周期和清理。