แอป iOS (โหนด)¶
สถานะความพร้อมใช้งาน: พรีวิวภายใน สถานะการใช้งาน: ตัวอย่างภายใน แอป iOS ยังไม่เปิดแจกจ่ายสาธารณะ
ทำอะไรได้บ้าง¶
- เชื่อมต่อกับ Gateway ผ่าน WebSocket (LAN หรือ tailnet)
- เปิดเผยความสามารถของโหนด: Canvas, ภาพหน้าจอ, การจับภาพจากกล้อง, ตำแหน่งที่ตั้ง, โหมดสนทนา, การปลุกด้วยเสียง
- รับคำสั่ง
node.invokeและรายงานอีเวนต์สถานะของโหนด
ข้อกำหนด¶
- Gateway ต้องรันอยู่บนอุปกรณ์อื่น (macOS, Linux หรือ Windows ผ่าน WSL2)
- เส้นทางเครือข่าย:
- LAN เดียวกันผ่าน Bonjour หรือ
- tailnet ผ่าน unicast DNS-SD (ตัวอย่างโดเมน:
openclaw.internal.) หรือ - ระบุโฮสต์/พอร์ตด้วยตนเอง (ทางเลือกสำรอง)
เริ่มต้นอย่างรวดเร็ว (จับคู่ + เชื่อมต่อ)¶
- เริ่มต้น Gateway:
openclaw gateway --port 18789
-
ในแอป iOS เปิด Settings และเลือกGatewayที่ค้นพบ (หรือเปิดใช้ Manual Host และกรอกโฮสต์/พอร์ต)
-
อนุมัติคำขอการจับคู่บนโฮสต์Gateway:
openclaw nodes pending
openclaw nodes approve <requestId>
- ตรวจสอบการเชื่อมต่อ:
openclaw nodes status
openclaw gateway call node.list --params "{}"
เส้นทางการค้นหา¶
Bonjour (LAN)¶
Gateway จะประกาศ _openclaw-gw._tcp บน local. แอป iOS จะแสดงรายการเหล่านี้โดยอัตโนมัติ
Tailnet (ข้ามเครือข่าย)¶
หาก mDNS ถูกบล็อก ให้ใช้โซน unicast DNS-SD (เลือกโดเมน; ตัวอย่าง: openclaw.internal.) และ Tailscale split DNS
ดู Bonjour สำหรับตัวอย่าง CoreDNS
ดู Bonjour สำหรับตัวอย่าง CoreDNS
ระบุโฮสต์/พอร์ตด้วยตนเอง¶
ใน Settings ให้เปิด Manual Host และกรอกโฮสต์Gatewayพร้อมพอร์ต (ค่าเริ่มต้น 18789)
Canvas + A2UI¶
โหนด iOS เรนเดอร์แคนวาสด้วย WKWebView ใช้ node.invoke เพื่อควบคุม: ใช้ node.invoke เพื่อควบคุมการทำงาน:
openclaw nodes invoke --node "iOS Node" --command canvas.navigate --params '{"url":"http://<gateway-host>:18793/__openclaw__/canvas/"}'
หมายเหตุ:
- โฮสต์แคนวาสของGatewayให้บริการ
/__openclaw__/canvas/และ/__openclaw__/a2ui/ - โหนด iOS จะนำทางไปยัง A2UI โดยอัตโนมัติเมื่อเชื่อมต่อ หากมีการประกาศ URL ของโฮสต์แคนวาส
- กลับไปยัง scaffold ที่มีมาให้ด้วย
canvas.navigateและ{"url":""}
Canvas eval / snapshot¶
openclaw nodes invoke --node "iOS Node" --command canvas.eval --params '{"javaScript":"(() => { const {ctx} = window.__openclaw; ctx.clearRect(0,0,innerWidth,innerHeight); ctx.lineWidth=6; ctx.strokeStyle=\"#ff2d55\"; ctx.beginPath(); ctx.moveTo(40,40); ctx.lineTo(innerWidth-40, innerHeight-40); ctx.stroke(); return \"ok\"; })()"}'
openclaw nodes invoke --node "iOS Node" --command canvas.snapshot --params '{"maxWidth":900,"format":"jpeg"}'
Voice wake + โหมดสนทนา¶
- Voice wake และโหมดสนทนาสามารถเปิดใช้ได้ใน Settings
- iOS อาจระงับเสียงพื้นหลัง ให้ถือว่าฟีเจอร์เสียงเป็นแบบ best-effort เมื่อแอปไม่ได้ทำงานอยู่เบื้องหน้า
ข้อผิดพลาดที่พบบ่อย¶
NODE_BACKGROUND_UNAVAILABLE: นำแอป iOS ขึ้นมาที่เบื้องหน้า (คำสั่งแคนวาส/กล้อง/หน้าจอต้องการสิ่งนี้)A2UI_HOST_NOT_CONFIGURED: Gateway ไม่ได้ประกาศ URL ของโฮสต์แคนวาส ให้ตรวจสอบcanvasHostใน การกำหนดค่าGateway- ไม่ปรากฏหน้าต่างจับคู่: รัน
openclaw nodes pendingและอนุมัติด้วยตนเอง - เชื่อมต่อใหม่ไม่สำเร็จหลังติดตั้งใหม่: โทเคนการจับคู่ใน Keychain ถูกลบแล้ว ให้จับคู่โหนดใหม่