Nodes and media
คำสั่งตำแหน่งที่ตั้ง
สรุปสั้น ๆ
location.getเป็นคำสั่งของโหนด (ผ่านnode.invoke)- ปิดโดยค่าเริ่มต้น
- การตั้งค่าแอป Android ใช้ตัวเลือก: ปิด / ขณะใช้งาน
- สวิตช์แยกต่างหาก: ตำแหน่งที่แม่นยำ
ทำไมจึงใช้ตัวเลือก (ไม่ใช่แค่สวิตช์)
สิทธิ์ของระบบปฏิบัติการมีหลายระดับ เราสามารถแสดงตัวเลือกในแอปได้ แต่ระบบปฏิบัติการยังคงเป็นผู้ตัดสินการอนุญาตจริง
- iOS/macOS อาจแสดง ขณะใช้งาน หรือ เสมอ ในพรอมป์/การตั้งค่าของระบบ
- แอป Android ปัจจุบันรองรับเฉพาะตำแหน่งขณะใช้งานเบื้องหน้าเท่านั้น
- ตำแหน่งที่แม่นยำเป็นสิทธิ์แยกต่างหาก (iOS 14+ "แม่นยำ", Android "ละเอียด" เทียบกับ "คร่าว ๆ")
ตัวเลือกใน UI กำหนดโหมดที่เราขอ ส่วนการอนุญาตจริงอยู่ในการตั้งค่าของระบบปฏิบัติการ
โมเดลการตั้งค่า
ต่ออุปกรณ์โหนด:
location.enabledMode:off | whileUsinglocation.preciseEnabled: bool
พฤติกรรมของ UI:
- การเลือก
whileUsingจะขอสิทธิ์เบื้องหน้า - หากระบบปฏิบัติการปฏิเสธระดับที่ขอ ให้ย้อนกลับไปยังระดับสูงสุดที่ได้รับอนุญาตและแสดงสถานะ
การแมปสิทธิ์ (node.permissions)
ไม่บังคับ โหนด macOS รายงาน location ผ่านแมปสิทธิ์; iOS/Android อาจไม่รายงาน
คำสั่ง: location.get
เรียกผ่าน node.invoke
พารามิเตอร์ (แนะนำ):
{ "timeoutMs": 10000, "maxAgeMs": 15000, "desiredAccuracy": "coarse|balanced|precise"}เพย์โหลดการตอบกลับ:
{ "lat": 48.20849, "lon": 16.37208, "accuracyMeters": 12.5, "altitudeMeters": 182.0, "speedMps": 0.0, "headingDeg": 270.0, "timestamp": "2026-01-03T12:34:56.000Z", "isPrecise": true, "source": "gps|wifi|cell|unknown"}ข้อผิดพลาด (โค้ดแบบเสถียร):
LOCATION_DISABLED: ตัวเลือกถูกปิดLOCATION_PERMISSION_REQUIRED: ไม่มีสิทธิ์สำหรับโหมดที่ขอLOCATION_BACKGROUND_UNAVAILABLE: แอปอยู่เบื้องหลัง แต่อนุญาตเฉพาะขณะใช้งานLOCATION_TIMEOUT: ไม่พบตำแหน่งทันเวลาLOCATION_UNAVAILABLE: ระบบล้มเหลว / ไม่มีผู้ให้บริการ
พฤติกรรมเบื้องหลัง
- แอป Android ปฏิเสธ
location.getขณะอยู่เบื้องหลัง - เปิด OpenClaw ค้างไว้เมื่อขอตำแหน่งบน Android
- แพลตฟอร์มโหนดอื่นอาจแตกต่างออกไป
การผสานรวมกับโมเดล/เครื่องมือ
- พื้นผิวเครื่องมือ: เครื่องมือ
nodesเพิ่มแอ็กชันlocation_get(ต้องระบุโหนด) - CLI:
openclaw nodes location get --node <id> - แนวทางสำหรับเอเจนต์: เรียกใช้เฉพาะเมื่อผู้ใช้เปิดใช้งานตำแหน่งและเข้าใจขอบเขตแล้ว
ข้อความ UX (แนะนำ)
- ปิด: "การแชร์ตำแหน่งถูกปิดใช้งาน"
- ขณะใช้งาน: "เฉพาะเมื่อ OpenClaw เปิดอยู่"
- แม่นยำ: "ใช้ตำแหน่ง GPS ที่แม่นยำ ปิดสวิตช์เพื่อแชร์ตำแหน่งโดยประมาณ"