OpenClaw 安裝完成後,下一道門檻多半是遠端鏈路:筆電、CI 堡壘或另一台 Mac 如何連到Vuncloud M4 雲主機上的 Gateway(或反過來:亞太操作者連北美上的 Gateway)。Direct(wss)在一跳內完成 TLS 與 WebSocket——路徑最短。SSH 隧道(常見為 -L 本機埠轉發)則把「跨公網 wss」換成「先 SSH 進主機,再在 loopback 上說話」。本文把兩種模式放在同一決策矩陣,並銜接美東、美西與亞太跟跑落位、M4 16GB 對 24GB、1TB/2TB與並聯資源、launchd daemon 持久化,以及 exit 127、Health、Web Chat 類失敗的 FAQ。事實敘述錨定 Install、onboard CLI、Remote gateway setup;前一篇安裝跟跑見 Mac 雲主機 從零安裝並驗收 OpenClaw(SSH/VNC)——區域、M4、儲存與並聯 FAQ。
搜尋意圖:先釐清出口限制再選傳輸
常把「SSH」與「wss」對立;更精準地說:wss 仍是 OpenClaw 客戶端與 Gateway 之間的應用協定,SSH 只替換公網路徑,或把遠端 loopback 埠搬到筆電 loopback。先用下表蒐證,再改設定。
| 你看到的現象 | 較可能主因 | 先試這步 |
|---|---|---|
| 公司 Wi‑Fi 上 wss 握手失敗;手機熱點正常 | 出口擋 WebSocket/TLS,或代理替換憑證 | 合規 allow-list;或核准的 SSH 隧道繞過被擋的直連段 |
| 跨洋直連能連但常斷 | 高 RTT 加上中間盒閒置逾時;或單機 CPU/I/O 飽和 | Gateway 區域貼近操作者;並聯拆角色;依官方 gateway 日誌指引 |
| 僅 launchd 失敗;互動 SSH 正常 | PATH 與 shell 初始化不一致(常見 exit 127) | plist 使用絕對路徑或單一安裝前綴;列印 launchctl 環境 |
| 瀏覽器 Web Chat 壞;CLI 正常 | 混合內容、擴充套件、或瀏覽器來源錯誤 | 對齊 wss URL、憑證與反向代理 Upgrade 設定 |
SSH 隧道 vs Direct(wss):對照與邊界
此處 Direct 指客戶端依官方 remote onboard 連到 wss:// 端點。SSH 隧道指維持 ssh -L(或等效),把遠端埠對映到本機後再連線。埠號示例沿用常見 CLI 文件型態——請替換為實際 Gateway 設定。
| 維度 | Direct(wss) | SSH 隧道(-L) |
|---|---|---|
| 跳數 | 少:TLS 直達 Gateway 或終止點 | 多一層 SSH;可繞過「筆電無法直連跨區 wss」 |
| 維運心智負擔 | 憑證、DNS、權杖與官方 doctor 輸出為準 | 另需監督隧道存活與本機埠漂移 |
| 安全與合規 | 遵循企業 TLS 與金鑰輪替基線 | SSH 亦需 MFA、跳板與稽核;避免兩端疊加明文 |
| 典型適用 | 出口允許;listen 位址與憑證已就緒 | 臨時分診、跨區 DNS 混亂、或政策僅允許 SSH |
Direct(wss):最小指令與文件錨點
官方 remote 模式示例見 onboard:
openclaw onboard --mode remote --remote-url wss://gateway-host:18789
明文 ws:// 與 OPENCLAW_ALLOW_INSECURE_PRIVATE_WS 僅能在文件化的威脅模型下使用;生產預設應遵循上游安全預設。
SSH 隧道:把遠端 Gateway 接到本機 loopback
當 Gateway 僅監聽遠端 127.0.0.1,而你想在筆電上當成本機服務使用時,本機轉發是常見型態(請替換實際埠):
# 筆電:將遠端 127.0.0.1:18789 對映到本機 18789
ssh -N -L 18789:127.0.0.1:18789 user@vuncloud-remote-host
接著將 remote-url 指到 wss://127.0.0.1:18789 或文件建議形式。若 TLS 在 SSH 外終止,仍應依官方檢查憑證——避免難以稽核的「自簽+全域關閉驗證」組合。
美東、美西、亞太:Gateway 與操作者的一張圖
區域細節亦見 Mac 雲主機 區域與租期決策 與 Mac 雲主機 接 CI/CD。對 OpenClaw 而言關鍵一句:wss 的 RTT 與遺失會在工具往返中被放大。跨洋可行,但高頻互動宜靠近人員,批次或對外通道宜靠近程式庫與 API。
M4 16GB 對 24GB;1TB/2TB;並聯拆分:當鏈路「看起來不穩」
記憶體與磁碟不改變 wss 協定本身,但會讓人把swap 抖動、系統卷寫滿或多工作爭用誤判成網路故障。經驗法則:常駐 Gateway 加上瀏覽器工具與並行索引時,24GB 較能壓住尾延遲;1TB/2TB 吸收日誌、快取與多版本工具鏈。並聯實例拆分角色、降低單機爭用,也減少 CPU 飢餓造成的假 Health 陽性。
| 拓樸 | 有助哪些「假鏈路」問題 | 成本 |
|---|---|---|
| 單機 Direct wss | 鏈路最簡;分診面最小 | 建置尖峰可能與 Gateway I/O 爭用 |
| 雙節點並聯:A Gateway/B 重工作 | 佇列與 Health 較平順 | 權杖、快取根與憑證須寫進 runbook |
| 筆電 SSH 隧道到北美 Gateway | 出口僅允許 SSH 時 | 隧道掛則全掛——留意 autossh、systemd 或終端機連線 |
Daemon 持久化(launchd)與「只有 SSH 正常」的裂縫
官方路徑含 openclaw onboard --install-daemon 與 gateway install 文件中的 launchd/LaunchAgent 指引。驗收清單:
- 重開機後立刻執行
openclaw gateway status——不要依賴手動啟動的記憶。 - launchd 與互動式 shell 使用相同絕對 Node/OpenClaw 路徑,或單一官方前綴安裝,以避免 exit 127。
- 依官方 macOS 日誌說明確認日誌目錄與工作區權限。
FAQ:exit 127、Health、Web Chat,與跨切的隧道/wss 分診
每一條:徵候 → 快速解讀 → 動作。與內嵌 FAQPage JSON-LD 對齊。
- launchd 或 cron 下 exit 127 → PATH 缺
openclaw/Node → plist 寫絕對路徑;與互動 SSH 的which openclaw比對。 - 僅子程序 exit 127 → shebang 或環境錯 → 明確呼叫
/usr/bin/env node或修正直譯器路徑。 - doctor/Health 指 Gateway 壞但隧道掛了 →
remote-url仍指 127.0.0.1 → 先啟 SSH-L再跑 status。 - Web Chat 無法連線 → 主機錯/混合內容/擴充套件 → DevTools 對齊 WebSocket;暫停阻擋器重試。
- 直連間歇 401/403 或權杖錯 → 多重設定來源 → 收斂到單一檔案與單一環境來源。
- 企業 TLS MITM → OS 不信任自訂根 → 依政策匯入或使用文件化的終止型態。
ws://、關閉憑證驗證與應急環境變數僅能在明確威脅模型與變更工單下使用;預設應遵循官方安全預設。
收尾與延伸閱讀
建議順序:先定區域與 Gateway 落點 → 再選 Direct 或以 SSH 包裝 → 修 daemon 與 PATH → 以 doctor/status 建基線 → 最後調 16/24GB、磁碟與並聯拆分。規格見 https://vuncloud.com/zh-TW/mac-yun-zu-yong.html;自助說明見 https://vuncloud.com/zh-TW/bangzhu-zhongxin.html。