Android 應用程式(節點)
支援快照
- 角色:配套節點應用程式(Android 不主持 Gateway)。
- 需要 Gateway:是(在 macOS、Linux 或 Windows via WSL2 上執行)。
- 安裝:開始使用 + 配對。
- Gateway:Runbook + 設定。
- 協定:Gateway 協定(節點 + 控制平面)。
系統控制
系統控制(launchd/systemd)位於 Gateway 主機上。請見 Gateway。連線 Runbook
Android 節點應用程式 ⇄(mDNS/NSD + WebSocket)⇄ Gateway Android 直接連線至 Gateway WebSocket(預設ws://<host>:18789)並使用裝置配對(role: node)。
先決條件
- 你可以在「主」機器上執行 Gateway。
- Android 裝置/模擬器可到達 gateway WebSocket:
- 相同 LAN 具有 mDNS/NSD,或
- 使用 Tailscale tailnet 的廣域 Bonjour / unicast DNS-SD(見下文),或
- 手動 gateway 主機/連接埠(退備)
- 你可以在 gateway 機器上(或透過 SSH)執行 CLI(
openclaw)。
1)啟動 Gateway
listening on ws://0.0.0.0:18789
- 在 gateway 主機的
~/.openclaw/openclaw.json中設定gateway.bind: "tailnet"。 - 重啟 Gateway/macOS 選單列應用程式。
2)驗證探索(選用)
從 gateway 機器:Tailnet 透過 unicast DNS-SD 探索
Android NSD/mDNS 探索不會跨網路。若你的 Android 節點和 gateway 位於不同網路但透過 Tailscale 連線,請改用廣域 Bonjour / unicast DNS-SD:- 在 gateway 主機上設定 DNS-SD 區域(例如
openclaw.internal.)並發布_openclaw-gw._tcp記錄。 - 為選擇的網域設定 Tailscale split DNS,指向該 DNS 伺服器。
3)從 Android 連線
在 Android 應用程式中:- 應用程式透過前景服務(持久通知)保持 gateway 連線。
- 開啟 Connect 分頁。
- 使用 Setup Code 或 Manual 模式。
- 若探索被封鎖,在進階控制中使用手動主機/連接埠(以及需要時的 TLS/token/密碼)。
- 手動端點(若已啟用),否則
- 最後探索到的 gateway(盡力而為)。
4)核准配對(CLI)
在 gateway 機器上:5)驗證節點已連線
-
透過節點狀態:
-
透過 Gateway:
6)聊天 + 歷程
Android 聊天分頁支援 session 選擇(預設main,加上其他現有 session):
- 歷程:
chat.history - 傳送:
chat.send - 推播更新(盡力而為):
chat.subscribe→event:"chat"
7)Canvas + 相機
Gateway Canvas Host(建議用於網頁內容)
若你想讓節點顯示 agent 可在磁碟上編輯的實際 HTML/CSS/JS,將節點指向 Gateway canvas host。 注意:節點從 Gateway HTTP 伺服器(與gateway.port 相同的連接埠,預設 18789)載入 canvas。
-
在 gateway 主機上建立
~/.openclaw/workspace/canvas/index.html。 - 將節點導覽至此(LAN):
.local,例如 http://<gateway-magicdns>:18789/__openclaw__/canvas/。
此伺服器將即時重新載入客戶端注入 HTML,並在檔案變更時重新載入。
A2UI host 位於 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)
8)語音 + 擴充的 Android 指令介面
- 語音:Android 在語音分頁中使用單一麥克風開/關流程,具有轉錄擷取和 TTS 播放(已設定時使用 ElevenLabs,退備至系統 TTS)。應用程式離開前景時語音停止。
- 語音喚醒/talk 模式切換目前已從 Android UX/執行階段移除。
- 額外的 Android 指令族(可用性取決於裝置 + 權限):
device.status、device.info、device.permissions、device.healthnotifications.list、notifications.actionsphotos.latestcontacts.search、contacts.addcalendar.events、calendar.addmotion.activity、motion.pedometer