网关 CLI
网关是 Clawdbot 的 WebSocket 服务器(频道、节点、会话、钩子)。
本页面中的子命令位于 clawdbot gateway … 下。
相关文档:
运行网关
运行本地的网关进程: bash clawdbot gateway`````` 前景别名:```bash clawdbot gateway run
### 注意事项:
- 默认情况下,当 `~/.clawdbot/clawdbot.json` 中未设置 `gateway.mode=local` 时,网关将拒绝启动。可以在临时/开发环境中使用 `--allow-unconfigured` 参数来允许启动。
- 对于绑定到环回地址以外的地址且未经过认证的请求,将被阻止(安全防护)。
- 在授权后,`SIGUSR1` 信号将触发进程内重启(需要启用 `commands.restart` 或通过网关工具/配置进行应用/更新)。
- `SIGINT`/`SIGTERM` 处理器将停止网关进程,但不会恢复任何自定义终端状态。如果你使用 TUI 或原始模式包装了 CLI,请在退出前恢复终端。
### 选项
- `--port <port>`:WebSocket 端口(默认值来自配置/环境变量;通常为 `18789`)。
- `--bind <loopback|lan|tailnet|auto|custom>`:监听绑定模式。
- `--auth <token|password>`:覆盖认证模式。
- `--token <token>`:覆盖令牌(同时设置进程中的 `CLAWDBOT_GATEWAY_TOKEN`)。
- `--password <password>`:覆盖密码(同时设置进程中的 `CLAWDBOT_GATEWAY_PASSWORD`)。
- `--tailscale <off|serve|funnel>`:通过 Tailscale 暴露网关。
- `--tailscale-reset-on-exit`:关闭时重置 Tailscale 的 serve/funnel 配置。
- `--allow-unconfigured`:允许在配置中未设置 `gateway.mode=local` 的情况下启动网关。
- `--dev`:如果缺失则创建开发配置 + 工作区(跳过 BOOTSTRAP.md)。
- `--reset`:重置开发配置 + 凭据 + 会话 + 工作区(需要配合 `--dev` 使用)。
- `--force`:在启动前终止选定端口上的任何现有监听器。
- `--verbose`:详细日志。
- `--claude-cli-logs`:仅在控制台中显示 claude-cli 的日志(并启用其 stdout/stderr)。
- `--ws-log <auto|full|compact>`:WebSocket 日志样式(默认为 `auto`)。
- `--compact`:`--ws-log compact` 的别名。
- `--raw-stream`:将原始模型流事件记录为 jsonl 格式。
- `--raw-stream-path <path>`:原始流 jsonl 的路径。
## 查询正在运行的网关
所有查询命令都使用 WebSocket RPC。
输出模式:
- 默认:人类可读(在 TTY 中带颜色)。
- `--json`:机器可读的 JSON(无样式/加载动画)。
- `--no-color`(或 `NO_COLOR=1`):禁用 ANSI 颜色,同时保持人类可读的布局。
共享选项(适用于支持的命令):
- `--url <url>`:网关 WebSocket 地址。
- `--token <token>`:网关令牌。
- `--password <password>`:网关密码。
- `--timeout <ms>`:超时/预算(根据命令不同而变化)。
- `--expect-final`:等待“最终”响应(代理调用)。
### `gateway health`
bash
clawdbot gateway health --url ws://127.0.0.1:18789``````
### `gateway status`
`gateway status` 显示网关服务(launchd/systemd/schtasks)以及可选的 RPC 探针。```bash
clawdbot gateway status
clawdbot gateway status --json
选项:
--url <url>:覆盖探测的 URL。--token <token>:用于探测的令牌认证。--password <password>:用于探测的密码认证。--timeout <ms>:探测超时时间(默认为10000毫秒)。--no-probe:跳过 RPC 探测(仅显示服务视图)。--deep:同时扫描系统级服务。
gateway probe
gateway probe 是“调试所有内容”的命令。它始终会进行探测:
- 您配置的远程网关(如果已设置),以及
- 本地主机(回环地址)即使已配置远程网关。
如果存在多个可访问的网关,它会列出所有网关。当您使用隔离的配置文件/端口(例如救援机器人)时,支持多个网关,但大多数安装仍然只运行一个网关。 bash clawdbot gateway probe clawdbot gateway probe –json``````
通过 SSH 的远程连接(Mac 应用程序功能对等)
MacOS 应用程序“通过 SSH 的远程连接”模式使用本地端口转发,使得远程网关(可能仅绑定到环回地址)可以通过 ws://127.0.0.1:<端口> 访问。
CLI 对等命令:```bash clawdbot gateway probe –ssh user@gateway-host
选项:
- `--ssh <目标>`: `user@host` 或 `user@host:port`(端口默认为 `22`)。
- `--ssh-identity <路径>`: 身份文件。
- `--ssh-auto`: 自动选择第一个发现的网关主机作为 SSH 目标(仅限 LAN/WAB)。
配置(可选,用作默认值):
- `gateway.remote.sshTarget`
- `gateway.remote.sshIdentity`
### `gateway call <方法>`
低级 RPC 辅助工具。
bash
clawdbot gateway call status
clawdbot gateway call logs.tail --params '{"sinceMs": 60000}'``````
## 管理网关服务```bash
clawdbot gateway install
clawdbot gateway start
clawdbot gateway stop
clawdbot gateway restart
clawdbot gateway uninstall
说明:
gateway install支持--port、--runtime、--token、--force、--json参数。- 生命周期命令支持
--json用于脚本编写。
发现网关(Bonjour)
gateway discover 会扫描网关信标(_clawdbot-gw._tcp)。
- 多播 DNS-SD:
local. - 单播 DNS-SD(广域 Bonjour):
clawdbot.internal.(需要拆分 DNS + DNS 服务器;详见 /gateway/bonjour)
只有启用了 Bonjour 发现功能的网关(默认启用)会广播该信标。
广域发现记录包含(TXT):
role(网关角色提示)transport(传输提示,例如gateway)gatewayPort(WebSocket 端口,通常为18789)sshPort(SSH 端口;若未提供则默认为22)tailnetDns(MagicDNS 主机名,当可用时)gatewayTls/gatewayTlsSha256(TLS 是否启用 + 证书指纹)cliPath(远程安装的可选提示)
gateway discover
bash clawdbot gateway discover`````` 选项:
--timeout <ms>:每个命令的超时时间(浏览/解析);默认值为2000。--json:机器可读的输出(同时禁用样式/加载动画)。
示例:bash
clawdbot gateway discover --timeout 4000
clawdbot gateway discover --json | jq '.beacons[].wsUrl'