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 ที่แม่นยำ ปิดสวิตช์เพื่อแชร์ตำแหน่งโดยประมาณ"