远程网关与节点
远程网关与节点¶
命令如何在 Telegram、网关和节点之间传播?
Telegram 消息由网关处理,网关运行代理,只有在需要节点工具时,才会通过 Gateway WebSocket 调用节点:
Telegram -> Gateway -> Agent -> node.* -> Node -> Gateway -> Telegram
节点不会看到入站提供商流量;它们只接收节点 RPC 调用。
如果网关托管在远程,我的代理如何访问我的电脑?
将你的电脑配对为节点。网关在其他地方运行,但可以通过 Gateway WebSocket 在你本地机器上调用 node.* 工具(screen、camera、system)。
- 在常开主机(VPS/家庭服务器)上运行网关。
- 将网关主机和你的电脑置于同一个 tailnet 中。
- 确保 Gateway WS 可达(tailnet 绑定或 SSH 隧道)。
- 在本地打开 macOS 应用,并以 Remote over SSH 模式(或直接 tailnet)连接,这样它就会注册为节点。
- 批准节点:
不需要单独的 TCP 桥接;节点通过 Gateway WebSocket 连接。
安全提醒:配对 macOS 节点将允许在该机器上执行 system.run。只配对受信任的设备;请查阅安全。
文档:节点、网关协议、macOS 远程模式、安全。
Tailscale 已连接,但我没有收到任何回复。怎么办?
检查基本情况:
然后验证身份验证和路由:如果你使用 Tailscale Serve,请确认 gateway.auth.allowTailscale 已正确设置;如果你通过 SSH 隧道连接,请确认隧道已启动并指向正确的端口;确认你的私信/群组允许列表包含你的账户。
两个 OpenClaw 实例可以相互通信吗(本地 + VPS)?
可以,尽管没有内置的机器人到机器人桥接。
最简单:使用两个机器人都能访问的常规聊天频道(Slack/Telegram/WhatsApp)。让机器人 A 给机器人 B 发送消息,然后让机器人 B 像平常一样回复。
CLI 桥接(通用):运行一个脚本,使用 openclaw agent --message ... --deliver 调用另一个网关,目标是另一个机器人监听的聊天。如果某个机器人在远程 VPS 上,通过 SSH/Tailscale 将 CLI 指向该远程网关(参见远程访问):
添加一个护栏,避免两个机器人无限循环(仅提及、频道允许列表,或“不回复机器人消息”规则)。
文档:远程访问、Agent CLI、Agent send。
多个代理是否需要独立的 VPS?
不需要。一个网关可以托管多个代理,每个代理都有自己的工作区、模型默认值和路由——这是常规设置,比每个代理一个 VPS 更便宜、更简单。只有在需要严格隔离(安全边界)或不想共享的非常不同的配置时,才使用独立的 VPS。
与从 VPS 使用 SSH 相比,在我的个人笔记本电脑上使用节点有什么好处?
是的:节点是从远程网关访问笔记本电脑的一等公民方式,而且解锁的不只是 shell 访问权限。网关支持在 macOS、Linux 和 Windows(原生或 WSL2)上运行,并且很轻量(小型 VPS 或树莓派级别的盒子就足够了;4 GB 内存绰绰有余),因此常见的设置是常开主机加上你的笔记本电脑作为节点。
- 无需入站 SSH - 节点通过设备配对向外连接到 Gateway WebSocket。
- 更安全的执行控制 -
system.run由该笔记本电脑上的节点允许列表/批准来控制。 - 更多设备工具 - 节点除了
system.run之外还暴露camera和screen;Mac 还暴露小组件面板。 - 本地浏览器自动化 - 将网关保留在 VPS 上,但通过节点主机在本地运行 Chrome,或通过 Chrome MCP 附加到本地 Chrome。
SSH 适用于临时 shell 访问;对于持续的代理工作流和设备自动化,节点更简单。
节点会运行网关服务吗?
不会。每个主机只应运行一个网关,除非你有意运行隔离的配置文件(参见多个网关)。节点是连接到网关的外围设备(iOS/Android 节点,或菜单栏应用中的 macOS“节点模式”)。对于无头节点主机和 CLI 控制,请参阅节点主机 CLI。
网关绑定、端口和其他启动设置需要完全重启。 托管的插件界面可以通过插件热重载更新。有关各设置的规则,请参阅配置热重载。
有 API / RPC 方式应用配置吗?
有:
config.schema.lookup:在写入前检查一个配置子树,包括其浅层 schema 节点、匹配的 UI 提示和直接子节点摘要。config.get:获取当前快照及哈希值。config.patch:安全的部分更新(大多数 RPC 编辑首选);尽可能热重载,必要时重启。config.apply:验证并替换整个配置;尽可能热重载,必要时重启。- 面向代理的
gateway运行时工具仍然拒绝重写tools.exec.ask/tools.exec.security;旧的tools.bash.*别名会规范化为相同的受保护路径。
首次安装的最小合理配置
设置你的工作区,并限制谁可以触发该机器人。
如何在 VPS 上设置 Tailscale 并从我的 Mac 连接?
- 在 VPS 上安装并登录:
- 在你的 Mac 上安装并登录,使用 Tailscale 应用,加入同一个 tailnet。
- 在 Tailscale 管理控制台中启用 MagicDNS,以便 VPS 拥有稳定的名称。
- 使用 tailnet 主机名:SSH
ssh user@your-vps.tailnet-xxxx.ts.net;Gateway WSws://your-vps.tailnet-xxxx.ts.net:18789。
如果要在不使用 SSH 的情况下访问 Control UI,请在 VPS 上使用 Tailscale Serve:
这会将 gateway 绑定到 loopback,并通过 Tailscale 暴露 HTTPS。参见 Tailscale。
如何将 Mac 节点连接到远程 Gateway(Tailscale Serve)?
Serve 会暴露 Gateway Control UI + WS;节点通过同一个 Gateway WS 端点连接。
- 确保 VPS 和 Mac 位于同一个 tailnet。
- 在 macOS 应用中使用 Remote 模式(SSH 目标可以是 tailnet 主机名)——它会为 Gateway 端口建立隧道,并作为节点连接。
- 批准该节点:
文档:Gateway 协议、发现、macOS 远程模式。
我应该安装在第二台笔记本电脑上,还是只添加一个节点?
如果第二台笔记本电脑只需要 本地工具(screen/camera/exec),请将其添加为 节点——一个 Gateway,无需重复配置。节点暴露的本地工具取决于其平台。有关各平台的默认设置,请参见 节点。仅在需要 硬性隔离 或两个完全独立的机器人时,才安装第二个 Gateway。
文档:节点、节点 CLI、多个 Gateway。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw