部署 OpenClaw Android 節點:快速連接 Gateway 指南
想要讓你的 Android 裝置變成強大的 AI 節點,但總是被網路設定和配對搞得頭大嗎?要把行動裝置整合進自動化流程中,穩定性跟連線機制通常是最難搞的部分。
如果你正打算把 Android 裝置變成你系統的一部分,這篇指南會幫你快速搞定連線與設定,讓你的裝置乖乖聽話。
Android App (Node)
Section titled “Android App (Node)”注意: Android App 尚未正式公開發布。原始碼可以在 OpenClaw repository 的
apps/android目錄下找到。你可以使用 Java 17 和 Android SDK 自行編譯 (./gradlew :app:assembleDebug)。編譯說明請參考 apps/android/README.md。
- 角色:伴隨節點 App(Android 不會託管 Gateway)。
- 需要 Gateway:是(請在 macOS、Linux 或經由 WSL2 在 Windows 上執行)。
- 安裝:Getting Started + Pairing。
- Gateway:Runbook + Configuration。
- 協定:Gateway protocol (nodes + control plane)。
系統控制 (launchd/systemd) 位於 Gateway 主機上。請參閱 Gateway。
連線操作指南
Section titled “連線操作指南”Android 節點 App ⇄ (mDNS/NSD + WebSocket) ⇄ Gateway
Android 會直接連線到 Gateway WebSocket(預設為 ws://<host>:18789)並使用裝置配對 (role: node)。
- 你可以在「主要」機器上執行 Gateway。
- Android 裝置或模擬器可以連線到 Gateway 的 WebSocket:
- 在同一個區域網路 (LAN) 並使用 mDNS/NSD,或者
- 使用 Tailscale tailnet 並搭配 Wide-Area Bonjour / unicast DNS-SD(見下文),或者
- 手動輸入 Gateway 主機/連接埠(備用方案)
- 你可以在 Gateway 機器上(或透過 SSH)執行 CLI (
openclaw)。
1) 啟動 Gateway
Section titled “1) 啟動 Gateway”openclaw gateway --port 18789 --verbose確認日誌中出現類似以下的內容:
listening on ws://0.0.0.0:18789
如果是僅限 tailnet 的設定(推薦用於維也納 ⇄ 倫敦這類跨區連線),請將 Gateway 綁定到 tailnet IP:
- 在 Gateway 主機的
~/.openclaw/openclaw.json中設定gateway.bind: "tailnet"。 - 重啟 Gateway 或 macOS 選單列 App。
2) 驗證發現機制(選填)
Section titled “2) 驗證發現機制(選填)”在 Gateway 機器上執行:
dns-sd -B _openclaw-gw._tcp local.更多除錯筆記:Bonjour。
透過 unicast DNS-SD 進行 Tailnet (維也納 ⇄ 倫敦) 發現
Section titled “透過 unicast DNS-SD 進行 Tailnet (維也納 ⇄ 倫敦) 發現”Android 的 NSD/mDNS 發現機制無法跨網路運作。如果你的 Android 節點和 Gateway 位於不同網路但透過 Tailscale 連接,請改用 Wide-Area Bonjour / unicast DNS-SD:
- 在 Gateway 主機上設定 DNS-SD 區域(例如
openclaw.internal.)並發佈_openclaw-gw._tcp紀錄。 - 為你選擇的網域設定 Tailscale split DNS,並指向該 DNS 伺服器。
詳細資訊與 CoreDNS 設定範例:Bonjour。
3) 從 Android 連線
Section titled “3) 從 Android 連線”在 Android App 中:
- App 會透過 前景服務 (foreground service)(持續性通知)來保持與 Gateway 的連線。
- 開啟 Connect 分頁。
- 使用 Setup Code 或 Manual 模式。
- 如果發現機制被阻擋,請在 Advanced controls 中使用手動輸入主機/連接埠(以及需要的 TLS/token/密碼)。
第一次成功配對後,Android 會在啟動時自動重新連線:
- 手動端點(如果已啟用),否則
- 使用最後一次發現的 Gateway(盡力而為)。
4) 核准配對 (CLI)
Section titled “4) 核准配對 (CLI)”在 Gateway 機器上執行:
openclaw devices listopenclaw devices approve <requestId>openclaw devices reject <requestId>配對細節:Pairing。
5) 驗證節點已連線
Section titled “5) 驗證節點已連線”-
透過節點狀態:
Terminal window openclaw nodes status -
透過 Gateway:
Terminal window openclaw gateway call node.list --params "{}"
6) 對話與紀錄
Section titled “6) 對話與紀錄”Android 的 Chat 分頁支援選取工作階段(預設為 main,以及其他現有的工作階段):
- 紀錄:
chat.history - 發送:
chat.send - 推送更新(盡力而為):
chat.subscribe→event:"chat"
7) 畫布與相機
Section titled “7) 畫布與相機”Gateway Canvas 主機(推薦用於網頁內容)
Section titled “Gateway Canvas 主機(推薦用於網頁內容)”如果你想讓節點顯示 Agent 可以在磁碟上編輯的真實 HTML/CSS/JS,請將節點指向 Gateway 的 canvas 主機。
注意:節點會從 Gateway HTTP 伺服器載入畫布(連接埠與 gateway.port 相同,預設為 18789)。
-
在 Gateway 主機上建立
~/.openclaw/workspace/canvas/index.html。 -
將節點導向該位址 (LAN):
openclaw nodes invoke --node "<Android Node>" --command canvas.navigate --params '{"url":"http://<gateway-hostname>.local:18789/__openclaw__/canvas/"}'Tailnet(選填):如果兩台裝置都在 Tailscale 上,請使用 MagicDNS 名稱或 tailnet IP 來取代 .local,例如 http://<gateway-magicdns>:18789/__openclaw__/canvas/。
此伺服器會將 live-reload 用戶端植入 HTML,並在檔案變更時自動重新載入。
A2UI 主機位於 http://<gateway-host>:18789/__openclaw__/a2ui/。
Canvas 指令(僅限前景):
canvas.eval,canvas.snapshot,canvas.navigate(使用{"url":""}或{"url":"/"}回到預設鷹架)。canvas.snapshot會回傳{ format, base64 }(預設format="jpeg")。- A2UI:
canvas.a2ui.push,canvas.a2ui.reset(canvas.a2ui.pushJSONL為舊版別名)
相機指令(僅限前景;需經權限核准):
camera.snap(jpg)camera.clip(mp4)
參數與 CLI 輔助工具請參閱 Camera node。
8) 語音與擴充 Android 指令集
Section titled “8) 語音與擴充 Android 指令集”- 語音:Android 在 Voice 分頁中使用單一的麥克風開關流程,具備逐字稿擷取與 TTS 播放功能(設定後使用 ElevenLabs,否則回退至系統 TTS)。當 App 離開前景時,語音會停止。
- 語音喚醒/對話模式切換目前已從 Android 的使用者體驗與執行環境中移除。
- 額外的 Android 指令家族(可用性取決於裝置與權限):
device.status,device.info,device.permissions,device.healthnotifications.list,notifications.actionsphotos.latestcontacts.search,contacts.addcalendar.events,calendar.addcallLog.searchmotion.activity,motion.pedometer
有任何設定上的問題嗎?試試我們的 AI Setup Assistant。
OpenClaw Expert
還是卡住了?
如果這篇文件沒有解決你的情境,直接問 OpenClaw Expert,拿到可執行步驟。