已经让 OpenClaw 在团队里铺开、却希望「笔记本只负责聊天、真正一直在线的 Gateway 跑在独占云 Mac 上」的负责人,需要把架构从隐式单机 gateway.mode=local,升级成云上单一事实源 + 多台工作机 gateway.mode=remote 指向同一 gateway.remote.url 与鉴权的可审计拓扑。本文写清服务端与客户端的职责边界、最小迁移顺序(哪些键改完必须重启监督进程)、远端模式下「进程仍在但 RPC 探针失败」的诊断分叉(先把探针 URL 与 bind 对齐,再走频道)、以及高配 M4 Pro 常驻与美东或新加坡等区域近源组合的注意点;并与站内 全天候常驻升级与隧道诊断梯子 三篇互链——本篇刻意少复读命令流水线,而把 remote 拓扑的决策与排错短路写在前排。
01

2026 年五条典型误判:把 remote 当成「多装几个 CLI」而不是「单一控制面」

OpenClaw 的 Gateway 是控制面:通道、会话与工具路由都依赖它长期稳定在线。把 gateway.mode 切成 remote 的意义,是让唯一的 Gateway 进程跑在具备固定出口、可写 launchd 合同、以及可预测 CPU 与统一内存水位的机器上——典型就是 KVMNODE 独占云 Mac;而工程师的笔记本只保留 CLI 与 UI,把 gateway.remote.url 指到受保护 WebSocket 端点。若仍习惯「每个开发者本机都起一个 Gateway 再互相同步配置」,你会得到多份 token、多个 supervisor 单位、以及探针目标随 DHCP 漂移的组合故障,夜间值班无法对齐同一套日志签名。

下面五条在 remote 落地前必须逐条排除;否则会在「Runtime running 但 Connectivity probe failed」上无限循环,却误以为是模型或频道 API 不稳定。

01

服务端仍 local、客户端已 remote:云主机 gateway.mode 未改或 plist 未重载,外部 URL 实际没有 listener,探针永远红。

02

URL 写内网 IP 却从公网客户端探:探针走笔记本默认路由,目标不可达,与 Gateway 是否 healthy 无关。

03

token 只写进用户 shell 配置、未进入监督环境:服务侧实际 token 为空,远程客户端携正确值仍 401。

04

混用两个 state 目录:OPENCLAW_STATE_DIR 或 profile 在服务端与客户端不一致,doctor 通过而探针读错文件。

05

跳过后切回 local 的回归步骤:试点结束未清理 remote 键,CI 与人工机各自 half-remote,排障时输出互相矛盾。

若初装尚未完成,请先 安装排障清单 再进入 remote;若已运行 local 生产,请至少做一次配置快照再改 mode,避免与 升级 token 迁移 类问题叠乘。

02

对照表:local 全栈、remote 客户端、以及云上「仅 Gateway 节点」三种职责切分

把「谁跑 launchd」「谁持有 token 真值」「谁对外暴露 WS」写进变更单第一行,财务与审计才能理解为何要多一台常驻云节点。下表刻意不把 Tailscale 绑死为唯一方案——你可以用 SSH 本地转发或受控边缘代理——但**无论哪条路径,探针目标必须与工程师实际点击的 URL 同源**。

拓扑Gateway 进程位置典型客户端第一约束
local 全栈与 CLI 同机单用户调试机器必须从不睡眠且网络稳定
remote 客户端独占云 Mac(launchd)多台笔记本 CLI / UIWS URL 与 token 在两侧 profile 对齐
混合(过渡期)灰度中双机部分用户仍 local必须命名空间化 profile,禁止同一用户双模式并存
观测优先怀疑下一动作
服务端 status 绿、客户端探针红remote URL 或 TLS 终端与探针不一致在客户端执行带 --url 的 status 对照官方文档
两侧 doctor 结果矛盾PATH 或 binary 版本分裂对齐 openclaw --version 与 plist ProgramArguments
频道间歇断云端 CPU 尖峰或 cron 与峰值重叠回到 诊断梯子 的 channels 与 cron 段

remote 的价值是「一个写进合同的 Gateway 地址」,不是「很多个本地实验进程」。

区域上,若团队主体在新加坡或美东协作、模型与工具 API 也有区域亲和,可把常驻节点落在对应 KVMNODE 区域以减少长肥 RTT;这与 多地区选区与租期 中的「最热三跳」叙事一致,只是本文把第三跳换成 Gateway WebSocket 而非 Git。

03

最小迁移序列:服务端先稳、再切客户端 remote(含需重启项)

推荐顺序是「云节点完成 local 健康证明 → 固定对外可达 URL(隧道或受控 bind)→ 笔记本批量改 remote」。不要在 Gateway 仍只监听 127.0.0.1 且未建立隧道时,先把团队笔记本改成 remote,否则你会在无效 URL 上浪费半天频道调试。

Shell
openclaw config set gateway.mode local
openclaw gateway status
openclaw doctor
openclaw config set gateway.mode remote
openclaw config set gateway.remote.url "wss://your-edge.example/gateway"
openclaw gateway restart

提示:真实键名与 profile 以你安装渠道与官方 schema 为准;上图是「顺序意图」而非可逐字粘贴的神谕。改 gateway 段后通常需要重启监督进程才能被 launchd 子进程继承。

隧道与 bind 细节仍建议与 升级与远程访问 对照阅读:本篇强调长期拓扑,那篇强调升级后 token 与分裂修复。

04

六步:从 POC 到团队默认 remote 工作流

01

在云节点跑通 local health:Runtime running 与探针均 ok,再谈外网可达。

02

冻结 URL 与证书策略:写明 wss 终端由谁运维、续期与吊销流程。

03

gateway.auth.token 写入监督可见存储:避免仅存在于交互 shell。

04

选一台试点笔记本改 remote:验证完整读写路径再扩面。

05

文档化「谁可以旋转 token」:与内部访问审批同一套工单。

06

把监控接到 Gateway 进程与 WS 握手:不仅 ping 公网 IP。

05

可引用口径:常驻算力、统一内存与「单控制面」预算字段

A

常驻 vCPU 与统一内存:Gateway 与模型侧车并存时,为峰值 concurrent tool 调用预留 headroom;M4 Pro 64GB 档常见用于多会话与本地缓存。

B

WS RTT 目标:交互式调试路径尽量与团队主体同区;跨洲仅适合批处理或异步任务。

C

单一控制面计数:预算表写「1× Gateway + N× remote client」,避免把 N 台笔记本的隐形 Gateway 算成零成本。

注意:把 Gateway 绑到公网而不完成应用层鉴权与审计,会在合规审查时直接否决;远程访问应优先隧道或零信任边缘。

纯本地 Mac 或家用线路难以提供 7×24 的进程监督与可预测出口;虚拟化嵌套层也会放大时钟与 IO 抖动。需要在新加坡、日本、韩国、香港与美东美西等点位获得可写进合同的独占 Apple Silicon、透明档位与按天到按月的租期弹性时,把 Gateway 落在云端节点通常比堆叠个人设备更符合运维与采购叙事。对要把 AI Agent 控制面写进变更系统、减少「谁笔记本又睡了」类事故的团队,KVMNODE 的 Mac Mini 云端租赁通常是更优解:独占硬件、区域可选、并与长期 remote 拓扑天然契合。