你已经把 Gateway 稳定跑在 VPS 或云端 Mac,却在本机执行 openclaw 时看到「连得上但工具不可用」或 RPC 探针失败,而服务端日志其实安静得像假阳性。本文给要把 OpenClaw 当生产网关 的团队:先用七条清单拆穿 gateway.mode=remote 与 Tailscale 暴露、SSH 隧道 的常见混淆,再用一张四象限对照表收敛「进程在哪、客户端指哪、TLS 与 Token 谁校验」,然后给出六步可交接 Runbook(远端 URL、wss、双端 gateway status、gateway install --force、doctor、健康探针),并链到站内 Tailscale 私网暴露、全平台安装排错、gateway closed(1000) 的分工阅读。
官方 FAQ 把 local / remote 写得很短,但生产里消耗时间的,往往是探针 URL 与真实监听地址不一致以及systemd 用户服务与交互 shell 的配置分叉。下面七条用于把争论从「我 ping 通了」收敛成「可签字的验收表」。
把远程模式当成 SSH 端口转发别名:SSH -L 只解决「浏览器到 UI」的路径;远程模式改变的是 CLI 默认探针目标,两者可叠加但语义不同。
把 Tailscale Serve 当成 remote mode:Tailscale 让本机 Gateway在 tailnet 可达;remote mode 让笔记本 CLI去连另一台机器上的 Gateway——读 Tailscale 篇 的边界表。
只改 gateway.remote.url 却忘了 gateway.mode:mode 仍为 local 时,CLI 可能继续探本机空端口,表现为「神秘超时」。
混用 http 与 wss:反向代理若终止 TLS,客户端 URL 与 trusted-proxy 声明不一致时会出现 401/重连风暴;应与安全加固清单一起评审。
忽略 Config (cli) / Config (service) 双行:升级日常见:你在 root 下改了文件,服务却跑在 --profile dev 的另一份 state dir。
令牌只写在一端:Gateway 已轮换 gateway.auth.token,笔记本 Control UI 仍缓存旧值;与 gateway closed(1000) 的 Token 表一起读。
没有「最小远程验收用例」:只测聊天不测工具链时,会在模型侧升级后才发现 RPC scope 漂移;应固定一条只读命令做金丝雀。
这些假设的共同根因,是把 OpenClaw 当成单体 Web 服务,而不是带本地监督进程与远程会话路由的双端系统。平台工程需要像管理 kubeconfig 上下文一样,给每台开发机维护profile、state dir、远端 URL 与轮换时间的可审计记录。
与 全平台安装排错 联动:首次安装若未跑通 openclaw doctor,不要急于切 remote;否则排障会同时夹杂「装坏了」与「指错实例」两类变量。
若组织在 2026 年推行「Gateway 上云、IDE 在本地」的分层,应把远程模式的断网降级策略写清:CLI 是否允许回退只读、是否禁止隐式切换 mode 以免误连生产。
与独占远程 Mac 组合时,常见拓扑是 Gateway 跑在 Linux VPS、工具执行在租用的 macOS 节点:此时 remote URL 仍指向 VPS,不要把 SSH 到 Mac 的地址误写成 Gateway 地址,除非你真的在 Mac 上起了第二套 Gateway。
最后,企业代理对 WebSocket 的长连接闲置断开会放大「偶发掉线」:应在 Runbook 里写明心跳、重连与客户端缓存清理策略,而不是让业务以为模型「变笨了」。
评审时用「进程在哪」与「客户端默认连哪」两轴切分,能快速对齐安全与运维责任。
| 模式 | Gateway 进程位置 | 典型客户端 | 主要风险 |
|---|---|---|---|
| local(默认) | 本机 | 本机 CLI / UI | 本机端口、Token、个人会话纠缠 |
| remote | 远端主机 | 本机 CLI / UI 指 wss://… | URL 漂移、双配置、代理断连 |
| Tailscale / 隧道暴露 | 仍在目标机本机回环或绑定 | tailnet 或隧道后的浏览器/CLI | ACL、MagicDNS、令牌与 bind 组合 |
| SSH 本地转发 | 目标机 | 把远端端口映射到笔记本 127.0.0.1 | 会话存活、跳板权限、与 remote URL 的拼接错误 |
「远程模式」解决的是控制平面指向:让同一套 CLI 在笔记本上稳定对话另一台机器上的监督者与工具注册表,而不是替代 TLS 或 Token 模型本身。
当你需要同时满足「Gateway 必须 7×24 在机房/VPS」与「工程师只想装轻量 CLI」时,remote 是合理默认;若还需要零信任内网访问 UI,再在远端机上叠 Tailscale Serve,而不是把两件事混成一个开关。
与 RPC/1000 排错篇 联动:远程模式下调试时,务必先确认「当前 CLI 会话到底连哪台 Gateway」,再讨论 scope 与工具白名单,否则会反复修改错误实例上的配置。
下列顺序强调「先确认远端健康,再改客户端 mode,最后做金丝雀命令」;与上游 troubleshooting 文档的推荐顺序一致。
在远端机以目标用户运行:openclaw gateway status,确认 Runtime: running 与 RPC 探针 OK。
记录远端 WebSocket URL 与 TLS 终止点:若经反向代理,写明路径前缀与健康检查 URL,避免手写错一层 path。
在笔记本备份当前 profile:导出 openclaw.json 或等价 state 路径,便于一键回滚 local。
设置 gateway.mode=remote 与 gateway.remote.url:使用官方 openclaw config set 或受控模板,禁止手改散落多份。
运行 openclaw status / openclaw health:核对输出中的探针目标与延迟;若显示双配置不一致,执行下一步。
在与服务相同上下文执行 openclaw gateway install --force 后 openclaw gateway restart:仅当你确实在维护「本机服务」时执行;纯远程客户端可跳过 install,改以 doctor 清 drift。
openclaw config set gateway.mode remote openclaw config set gateway.remote.url "wss://gateway.example.internal/v1/ws" openclaw config get gateway.mode openclaw config get gateway.remote.url openclaw status openclaw doctor
提示:若远端同时启用 Tailscale Serve,请阅读 Tailscale 私网暴露 的 ACL 与令牌段落,确认 wss 终端与内网 DNS 一致。
回滚点应写进变更单:保留旧 local 配置快照与切换时间窗;重大版本升级日先冻结 remote URL,待远端金丝雀通过后再批量推送客户端配置。
若团队使用多套 profile(staging/prod),建议在 shell 启动脚本打印当前 OPENCLAW_PROFILE,避免「以为连 staging 其实在 prod」的人因事故。
把现象映射到「客户端 / 网关 / 代理」三层,能显著减少无效重启。
401 / unauthorized:优先核对 Control UI 与 CLI 的 Token 是否同源;远程模式下常见是笔记本侧缓存了旧设备令牌,需按官方设备列表流程轮换或重新授权。
Runtime running 但 RPC probe failed:先对照 gateway closed(1000):区分「连错实例」与「连对实例但 scope 不足」;再用 openclaw logs --follow 在远端机抓取同一时间窗。
注意:不要在未确认远端监听地址前,在笔记本上反复 gateway restart:那只会折腾本机空转进程,污染排障日志。
升级后「昨天还能用」:检查 release note 是否收紧默认 auth 或修改 WebSocket path;把远端与近端版本号与 digest 一并记入工单,避免只升级一端。
与渠道类「无消息」问题相比,远程模式更偏连接与会话层:若怀疑消息流,应转读 channels 探针专文,而不是在 remote URL 上反复试错。
对 7×24 生产团队,建议把「探针失败率」与「重连间隔」接入现有监控栈:即便 OpenClaw 自身健康,企业网络抖动也应可观测。
下列条目用于内部对齐;阈值以你们用户规模与区域为准。
wss 端点的握手失败应能在 60 秒内用分层 ping(DNS/TCP/TLS/WSS)定位到哪一跳。Config (cli) / Config (service) 不一致时,默认执行路径为 同用户 install --force → restart → doctor,并记录 state dir。纯本地笔记本跑 Gateway 常受睡眠与会议软件抢占端口影响;纯远程 CLI 若没有稳定可达的远端平面,又会在 VPN 抖动时集体失联。把 Gateway 落在独占、长期在线、可 SSH 运维的云端 Mac 或 VPS,再把工程师终端统一成 remote 客户端,是 2026 年团队最常见的折中。相比在不稳定容器或黑盒虚拟化里硬跑监督进程,NodeMini 的 Mac Mini 云端租赁在固定 SSH、清晰资源档位与可复制的节点画像上更利于把 OpenClaw 当生产组件治理;需要对比规格与价格时,可先阅读 租赁价格说明,再结合 帮助中心 完成接入。OpenClaw 相关博文可按 OpenClaw 分类 系统阅读。
落地时建议把本 Runbook 与内部「环境等级」绑定:开发、预发、生产对应不同远端 URL 与令牌轮换节奏,禁止手工拷贝生产 URL 到个人配置。
远程模式让 CLI 连接另一台机器上的 Gateway;Tailscale 多解决「如何把已在本机监听的 Gateway 安全暴露到 tailnet」。可组合使用。更多 OpenClaw 主题见 博客 OpenClaw 筛选。
在与服务相同用户与 state dir 下执行 openclaw gateway install --force 与 restart,再用 openclaw doctor 校验。节点与账单问题也可查看 帮助中心。
检查环境变量覆盖、shell profile 残留、以及 gateway.mode 是否仍为 local。需要算力把 Gateway 常驻在云端时,可先对照 租赁价格说明。