Nodes and media
การแก้ปัญหา Node
ใช้หน้านี้เมื่อมองเห็น Node ในสถานะแล้ว แต่เครื่องมือของ Node ล้มเหลว
ลำดับคำสั่ง
openclaw status
openclaw gateway status
openclaw logs --follow
openclaw doctor
openclaw channels status --probe
จากนั้นรันการตรวจสอบเฉพาะของ Node:
openclaw nodes status
openclaw nodes describe --node <idOrNameOrIp>
openclaw approvals get --node <idOrNameOrIp>
สัญญาณที่ดี:
- Node เชื่อมต่ออยู่และจับคู่แล้วสำหรับ role
node nodes describeมี capability ที่คุณกำลังเรียกใช้- Exec approval แสดงโหมด/allowlist ตามที่คาดไว้
ข้อกำหนดการทำงานเบื้องหน้า
canvas.*, camera.* และ screen.* ใช้งานได้เฉพาะเมื่ออยู่เบื้องหน้าบน Node ของ iOS/Android
ตรวจแบบเร็วและแก้ไข:
openclaw nodes describe --node <idOrNameOrIp>
openclaw nodes canvas snapshot --node <idOrNameOrIp>
openclaw logs --follow
หากคุณเห็น NODE_BACKGROUND_UNAVAILABLE ให้นำแอป Node ขึ้นมาไว้เบื้องหน้าแล้วลองใหม่
เมทริกซ์สิทธิ์
| Capability | iOS | Android | แอป Node บน macOS | โค้ดข้อผิดพลาดที่พบบ่อย |
|---|---|---|---|---|
camera.snap, camera.clip |
กล้อง (+ ไมค์สำหรับเสียงใน clip) | กล้อง (+ ไมค์สำหรับเสียงใน clip) | กล้อง (+ ไมค์สำหรับเสียงใน clip) | *_PERMISSION_REQUIRED |
screen.record |
การบันทึกหน้าจอ (+ ไมค์แบบไม่บังคับ) | พรอมป์จับภาพหน้าจอ (+ ไมค์แบบไม่บังคับ) | การบันทึกหน้าจอ | *_PERMISSION_REQUIRED |
location.get |
ขณะใช้งานหรือตลอดเวลา (ขึ้นกับโหมด) | ตำแหน่งแบบ Foreground/Background ตามโหมด | สิทธิ์ตำแหน่ง | LOCATION_PERMISSION_REQUIRED |
system.run |
n/a (เส้นทาง node host) | n/a (เส้นทาง node host) | ต้องใช้ exec approval | SYSTEM_RUN_DENIED |
การจับคู่เทียบกับ approvals
สิ่งเหล่านี้เป็นเกตคนละชั้นกัน:
- การจับคู่อุปกรณ์: Node นี้เชื่อมต่อกับ gateway ได้หรือไม่?
- นโยบายคำสั่ง Node ของ Gateway: อนุญาต command ID ของ RPC หรือไม่ตาม
gateway.nodes.allowCommands/denyCommandsและค่าเริ่มต้นของแพลตฟอร์ม? - Exec approvals: Node นี้สามารถรันคำสั่ง shell เฉพาะรายการหนึ่งในเครื่องได้หรือไม่?
ตรวจแบบเร็ว:
openclaw devices list
openclaw nodes status
openclaw approvals get --node <idOrNameOrIp>
openclaw approvals allowlist add --node <idOrNameOrIp> "/usr/bin/uname"
หากยังไม่ได้จับคู่ ให้อนุมัติอุปกรณ์ Node ก่อน
หาก nodes describe ไม่มีคำสั่งนั้น ให้ตรวจนโยบายคำสั่ง Node ของ gateway และตรวจว่า Node ประกาศคำสั่งนั้นตอนเชื่อมต่อจริงหรือไม่
หากการจับคู่ปกติแต่ system.run ล้มเหลว ให้แก้ exec approval/allowlist บน Node นั้น
การจับคู่ Node เป็นเกตด้านตัวตน/ความเชื่อถือ ไม่ใช่พื้นผิวการอนุมัติรายคำสั่ง สำหรับ system.run นโยบายราย Node จะอยู่ในไฟล์ exec approval ของ Node นั้น (openclaw approvals get --node ...) ไม่ได้อยู่ในระเบียนการจับคู่ของ gateway
สำหรับการรัน host=node ที่อาศัย approval, gateway ยังผูกการรันเข้ากับ
systemRunPlan แบบ canonical ที่เตรียมไว้ด้วย หากผู้เรียกในภายหลังแก้ command/cwd หรือ
metadata ของเซสชันก่อนส่งต่อการรันที่ได้รับอนุมัติ gateway จะปฏิเสธ
การรันนั้นในฐานะ approval mismatch แทนที่จะเชื่อใจ payload ที่ถูกแก้ไขแล้ว
โค้ดข้อผิดพลาดของ Node ที่พบบ่อย
NODE_BACKGROUND_UNAVAILABLE→ แอปอยู่เบื้องหลัง; ให้นำขึ้นมาไว้เบื้องหน้าCAMERA_DISABLED→ ปิด toggle ของกล้องใน settings ของ Node*_PERMISSION_REQUIRED→ ไม่มี/ถูกปฏิเสธสิทธิ์ของ OSLOCATION_DISABLED→ ปิดโหมดตำแหน่งอยู่LOCATION_PERMISSION_REQUIRED→ ยังไม่ได้สิทธิ์สำหรับโหมดตำแหน่งที่ร้องขอLOCATION_BACKGROUND_UNAVAILABLE→ แอปอยู่เบื้องหลัง แต่มีเพียงสิทธิ์แบบ While UsingSYSTEM_RUN_DENIED: approval required→ คำขอ exec ต้องได้รับการอนุมัติอย่างชัดเจนSYSTEM_RUN_DENIED: allowlist miss→ คำสั่งถูกบล็อกโดยโหมด allowlist บน Windows node host รูปแบบ shell-wrapper เช่นcmd.exe /c ...จะถูกมองเป็น allowlist miss ใน โหมด allowlist เว้นแต่จะได้รับการอนุมัติผ่าน ask flow
ลูปกู้คืนแบบเร็ว
openclaw nodes status
openclaw nodes describe --node <idOrNameOrIp>
openclaw approvals get --node <idOrNameOrIp>
openclaw logs --follow
หากยังติดอยู่:
- อนุมัติการจับคู่อุปกรณ์ใหม่อีกครั้ง
- เปิดแอป Node ใหม่ (ให้อยู่เบื้องหน้า)
- ให้สิทธิ์ของ OS ใหม่
- สร้าง/ปรับนโยบาย exec approval ใหม่
ที่เกี่ยวข้อง: