Gateway CLI
Gateway 是 OpenClaw 的 WebSocket 伺服器(頻道、節點、工作階段、hooks)。
本頁的子指令都位於 openclaw gateway ... 之下。
相關文件:
執行 Gateway
執行本地 Gateway 處理程序:
openclaw gateway
前景模式別名:
openclaw gateway run
注意事項:
- 預設情況下,除非
~/.openclaw/openclaw.json中設定了gateway.mode=local,否則 Gateway 拒絕啟動。臨時/開發執行可使用--allow-unconfigured。 - 綁定至非迴路位址但未啟用驗證時會被阻擋(安全防護)。
SIGUSR1會在授權時觸發進程內重啟(commands.restart預設啟用;設定commands.restart: false可阻擋手動重啟,但 gateway 工具/設定套用/更新仍然允許)。SIGINT/SIGTERM處理器會停止 Gateway 處理程序,但不會恢復任何自訂終端機狀態。如果你用 TUI 或 raw-mode 輸入包裝 CLI,請在離開前恢復終端機。
選項
--port <port>:WebSocket 連接埠(預設來自設定/環境變數;通常為18789)。--bind <loopback|lan|tailnet|auto|custom>:監聽器綁定模式。--auth <token|password>:覆蓋驗證模式。--token <token>:覆蓋 token(同時為處理程序設定OPENCLAW_GATEWAY_TOKEN)。--password <password>:覆蓋密碼。注意:內嵌密碼可能透過本地處理程序列表暴露。--password-file <path>:從檔案讀取 Gateway 密碼。--tailscale <off|serve|funnel>:透過 Tailscale 公開 Gateway。--tailscale-reset-on-exit:關閉時重設 Tailscale serve/funnel 設定。--allow-unconfigured:允許在設定中未設定gateway.mode=local的情況下啟動 Gateway。--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 路徑。
查詢執行中的 Gateway
所有查詢指令使用 WebSocket RPC。
輸出模式:
- 預設:人類可讀(TTY 中有色彩)。
--json:機器可讀 JSON(無樣式/旋轉圖示)。--no-color(或NO_COLOR=1):停用 ANSI 但保留人類可讀版面。
共用選項(支援時):
--url <url>:Gateway WebSocket URL。--token <token>:Gateway token。--password <password>:Gateway 密碼。--timeout <ms>:逾時/預算(因指令而異)。--expect-final:等待「最終」回應(agent 呼叫)。
注意:設定 --url 時,CLI 不會退回使用設定檔或環境變數的憑證。請明確傳入 --token 或 --password。缺少明確憑證會視為錯誤。
gateway health
openclaw gateway health --url ws://127.0.0.1:18789
gateway status
gateway status 顯示 Gateway 服務(launchd/systemd/schtasks)加上選用的 RPC 探測。
openclaw gateway status
openclaw gateway status --json
選項:
--url <url>:覆蓋探測 URL。--token <token>:探測的 token 驗證。--password <password>:探測的密碼驗證。--timeout <ms>:探測逾時(預設10000)。--no-probe:跳過 RPC 探測(僅服務檢視)。--deep:同時掃描系統層級的服務。
注意事項:
gateway status會在可能時解析已設定的驗證 SecretRef 用於探測。- 如果必要的驗證 SecretRef 在目前指令路徑中無法解析,探測驗證可能失敗;請明確傳入
--token/--password或先解析密碼來源。 - 在 Linux systemd 安裝中,服務驗證飄移檢查會讀取 unit 中的
Environment=和EnvironmentFile=值(包含%h、引號路徑、多個檔案和選用的-檔案)。
gateway probe
gateway probe 是「偵錯一切」的指令。它一律探測:
- 你設定的遠端 Gateway(若已設定),以及
- localhost(迴路),即使已設定遠端也會探測。
如果有多個 Gateway 可連線,它會全部列出。使用隔離的 profile/連接埠(例如救援機器人)時支援多個 Gateway,但多數安裝仍只執行單一 Gateway。
openclaw gateway probe
openclaw gateway probe --json
透過 SSH 遠端連線(Mac app 對等)
macOS app 的「Remote over SSH」模式使用本地連接埠轉發,讓遠端 Gateway(可能只綁定至迴路)可在 ws://127.0.0.1:<port> 連線。
CLI 對等指令:
openclaw gateway probe --ssh user@gateway-host
選項:
--ssh <target>:user@host或user@host:port(port 預設為22)。--ssh-identity <path>:身分檔案。--ssh-auto:自動選取第一個探索到的 Gateway 主機作為 SSH 目標(僅限 LAN/WAB)。
設定(選用,作為預設值):
gateway.remote.sshTargetgateway.remote.sshIdentity
gateway call <method>
底層 RPC 輔助工具。
openclaw gateway call status
openclaw gateway call logs.tail --params '{"sinceMs": 60000}'
管理 Gateway 服務
openclaw gateway install
openclaw gateway start
openclaw gateway stop
openclaw gateway restart
openclaw gateway uninstall
注意事項:
gateway install支援--port、--runtime、--token、--force、--json。- 當 token 驗證需要 token 且
gateway.auth.token是 SecretRef 管理的,gateway install會驗證 SecretRef 是否可解析,但不會將已解析的 token 寫入服務環境的中繼資料。 - 如果 token 驗證需要 token 但已設定的 token SecretRef 無法解析,install 會直接拒絕而非寫入後備明文。
- 使用密碼驗證執行
gateway run時,建議使用OPENCLAW_GATEWAY_PASSWORD、--password-file或 SecretRef 支持的gateway.auth.password,優於內嵌的--password。 - 在推斷的驗證模式下,僅存在於 shell 中的
OPENCLAW_GATEWAY_PASSWORD/CLAWDBOT_GATEWAY_PASSWORD不會放寬 install 的 token 要求;安裝受管理的服務時請使用持久化設定(gateway.auth.password或 configenv)。 - 如果
gateway.auth.token和gateway.auth.password都已設定但gateway.auth.mode未設定,install 會被阻擋,直到明確設定 mode。 - 生命週期指令支援
--json以便在腳本中使用。
探索 Gateway(Bonjour)
gateway discover 掃描 Gateway 信標(_openclaw-gw._tcp)。
- 多播 DNS-SD:
local. - 單播 DNS-SD(廣域 Bonjour):選擇一個網域(例如
openclaw.internal.)並設定 split DNS + DNS 伺服器;參閱 /gateway/bonjour
只有啟用了 Bonjour 探索(預設啟用)的 Gateway 才會廣告信標。
廣域探索記錄包含(TXT):
role(Gateway 角色提示)transport(傳輸提示,例如gateway)gatewayPort(WebSocket 連接埠,通常為18789)sshPort(SSH 連接埠;未指定時預設為22)tailnetDns(MagicDNS 主機名稱,可用時)gatewayTls/gatewayTlsSha256(TLS 啟用 + 憑證指紋)cliPath(選用的遠端安裝提示)
gateway discover
openclaw gateway discover
選項:
--timeout <ms>:每指令逾時(瀏覽/解析);預設2000。--json:機器可讀輸出(同時停用樣式/旋轉圖示)。
範例:
openclaw gateway discover --timeout 4000
openclaw gateway discover --json | jq '.beacons[].wsUrl'