openclaw node

執行無頭節點主機,透過 Gateway WebSocket 連線,在本機上提供 system.run / system.which 能力。

為什麼要使用節點主機?

當你需要讓代理在網路中的其他機器上執行指令,又不想在那些機器上安裝完整的 macOS 輔助程式時,節點主機就派上用場了。

常見使用情境:

  • 在遠端 Linux/Windows 機器上執行指令(建置伺服器、實驗室主機、NAS)。
  • 將指令執行沙箱化在 Gateway 上,但將核准的執行委派給其他主機。
  • 為自動化或 CI 節點提供輕量的無頭執行目標。

執行仍受指令核准機制與節點主機上的代理允許清單保護, 因此你可以精確控制指令存取範圍。

瀏覽器代理(零設定)

節點主機會自動公告瀏覽器代理能力(除非在節點上設定 browser.enabled 為停用)。 這讓代理無需額外設定就能在該節點上使用瀏覽器自動化。

如需在節點上停用:

{
  nodeHost: {
    browserProxy: {
      enabled: false,
    },
  },
}

前景執行

openclaw node run --host <gateway-host> --port 18789

選項:

  • --host <host>:Gateway WebSocket 主機(預設:127.0.0.1
  • --port <port>:Gateway WebSocket 埠號(預設:18789
  • --tls:對 Gateway 連線使用 TLS
  • --tls-fingerprint <sha256>:預期的 TLS 憑證指紋(sha256)
  • --node-id <id>:覆寫節點 ID(會清除配對權杖)
  • --display-name <name>:覆寫節點顯示名稱

節點主機的 Gateway 驗證

openclaw node runopenclaw node install 從設定/環境變數解析 Gateway 驗證(節點指令沒有 --token/--password 旗標):

  • 優先檢查 OPENCLAW_GATEWAY_TOKEN / OPENCLAW_GATEWAY_PASSWORD
  • 接著嘗試本機設定:gateway.auth.token / gateway.auth.password
  • 本機模式下,節點主機刻意不繼承 gateway.remote.token / gateway.remote.password
  • gateway.auth.token / gateway.auth.password 透過 SecretRef 明確設定但未解析,節點驗證解析會直接失敗(不會退回遠端)。
  • gateway.mode=remote 下,遠端客戶端欄位(gateway.remote.token / gateway.remote.password)也符合遠端優先順序規則。
  • 舊版 CLAWDBOT_GATEWAY_* 環境變數在節點主機驗證解析中會被忽略。

服務(背景執行)

將無頭節點主機安裝為使用者服務。

openclaw node install --host <gateway-host> --port 18789

選項:

  • --host <host>:Gateway WebSocket 主機(預設:127.0.0.1
  • --port <port>:Gateway WebSocket 埠號(預設:18789
  • --tls:對 Gateway 連線使用 TLS
  • --tls-fingerprint <sha256>:預期的 TLS 憑證指紋(sha256)
  • --node-id <id>:覆寫節點 ID(會清除配對權杖)
  • --display-name <name>:覆寫節點顯示名稱
  • --runtime <runtime>:服務執行環境(nodebun
  • --force:若已安裝則強制重新安裝/覆寫

管理服務:

openclaw node status
openclaw node stop
openclaw node restart
openclaw node uninstall

使用 openclaw node run 可在前景執行節點主機(不透過服務)。

服務指令支援 --json 以取得機器可讀的輸出。

配對

首次連線會在 Gateway 上建立待審核的裝置配對請求(role: node)。 透過以下指令核准:

openclaw devices list
openclaw devices approve <requestId>

節點主機會將節點 ID、權杖、顯示名稱及 Gateway 連線資訊儲存在 ~/.openclaw/node.json

指令核准

system.run 受本機指令核准機制控管:

  • ~/.openclaw/exec-approvals.json
  • Exec approvals
  • openclaw approvals --node <id|name|ip>(從 Gateway 編輯)