Platforms overview

สรุปข้อมูล HealthKit

ข้อมูลสรุป HealthKit

OpenClaw สามารถขอข้อมูลสรุปแบบอ่านอย่างเดียวของวันปฏิทินปัจจุบันจาก Node ของ iPhone หรือ iPad ที่เชื่อมต่ออยู่ อุปกรณ์จะคำนวณข้อมูลรวมภายในอุปกรณ์และส่งคืนเฉพาะจำนวนก้าว ระยะเวลานอนหลับ อัตราการเต้นของหัวใจขณะพักโดยเฉลี่ย และจำนวน/ระยะเวลาการออกกำลังกาย ไม่รองรับตัวอย่างข้อมูล HealthKit แต่ละรายการ แหล่งที่มา เมทาดาทา เวชระเบียน การนำเข้าข้อมูลเบื้องหลัง และการเขียนข้อมูล

ฟีเจอร์นี้ปิดอยู่โดยค่าเริ่มต้น โดยต้องให้ความยินยอมแยกต่างหากบนอุปกรณ์ iOS และให้สิทธิ์บน Gateway

ข้อกำหนด

  • iPhone หรือ iPad ที่ใช้งานแอป OpenClaw สำหรับ iOS ซึ่ง HealthKit รายงานว่ามีข้อมูลสุขภาพพร้อมใช้งาน
  • Node iOS ที่เชื่อมต่อและได้รับการอนุมัติแล้ว โปรดดู การตั้งค่าแอป iOS
  • Gateway เวอร์ชันปัจจุบันที่สามารถเข้าถึง Node iOS ได้
  • ข้อมูล Health ที่อ่านได้สำหรับเมตริกที่ต้องการดู Apple Watch สามารถเพิ่มข้อมูลลงในคลัง Apple Health ได้ แต่ไม่จำเป็นต้องใช้แอป OpenClaw สำหรับ watchOS เพื่อรับข้อมูลสรุป HealthKit

เปิดใช้การเข้าถึง

1. ให้สิทธิ์คำสั่ง Gateway

เพิ่ม health.summary ลงในอาร์เรย์ gateway.nodes.allowCommands ที่มีอยู่ใน openclaw.json โดยคงคำสั่งทั้งหมดที่มีอยู่แล้วไว้:

json5
{  gateway: {    nodes: {      allowCommands: ["health.summary"],    },  },}

health.summary ถูกจัดประเภทว่ามีความอ่อนไหวด้านความเป็นส่วนตัวสูง และค่าเริ่มต้นของแพลตฟอร์ม iOS จะไม่อนุญาตคำสั่งนี้ รายการใน gateway.nodes.denyCommands จะมีผลเหนือกว่ารายการอนุญาต โปรดดู นโยบายคำสั่งของ Node

2. เปิดใช้การแชร์บนอุปกรณ์ iOS

ในแอป iOS:

  1. เปิด Settings -> Permissions และค้นหา Apple Health Summaries ในส่วน Apple Health ที่แสดงอยู่เสมอ
  2. แตะ Enable Apple Health Summaries
  3. อ่านคำชี้แจง จากนั้นเลือกหมวดหมู่ Health ที่ OpenClaw สามารถอ่านได้ในหน้าต่างสิทธิ์ของ Apple

สวิตช์นี้จะบันทึกตัวเลือกการแชร์กับ OpenClaw ที่ให้ไว้อย่างชัดแจ้ง แต่ไม่ได้หมายความว่า Apple ได้ให้สิทธิ์ทุกหมวดหมู่ที่ร้องขอ

การเปิดใช้ข้อมูลสรุป Health จะเพิ่ม health.summary ลงในชุดคำสั่งที่ Node ประกาศไว้ ให้อนุมัติการอัปเดตการจับคู่ Node ที่เกิดขึ้น:

bash
openclaw nodes pendingopenclaw nodes approve <requestId>

จากนั้นตรวจสอบว่าอุปกรณ์ iOS ที่เชื่อมต่อแสดงคำสั่ง health.summary ที่มีผลใช้งาน:

bash
openclaw nodes describe --node "<iOS device name>"

ขอข้อมูลสรุปของวันนี้

รองรับเฉพาะ today โดยครอบคลุมตั้งแต่เที่ยงคืนตามเวลาท้องถิ่นจนถึงเวลาที่ส่งคำขอ โดยใช้ปฏิทินและเขตเวลาปัจจุบันของอุปกรณ์ iOS

bash
openclaw nodes invoke \  --node "<iOS device name>" \  --command health.summary \  --params '{"period":"today"}' \  --json

Agent สามารถเรียกคำสั่งเดียวกันด้วยเครื่องมือ nodes:

json
{  "action": "invoke",  "node": "<iOS device name>",  "invokeCommand": "health.summary",  "invokeParamsJson": "{\"period\":\"today\"}"}

เพย์โหลดข้อมูลสรุปประกอบด้วย:

ฟิลด์ ความหมาย
period เป็น today เสมอ
startISO เวลาเริ่มต้นของวันตามเวลาท้องถิ่น ซึ่งเข้ารหัสเป็นเวลาแบบ ISO
endISO เวลาที่ส่งคำขอ ซึ่งเข้ารหัสเป็นเวลาแบบ ISO
timeZoneIdentifier ตัวระบุเขตเวลาของอุปกรณ์ iOS
stepCount จำนวนก้าวสะสมที่ปัดเศษแล้ว
sleepDurationMinutes เวลานอนหลับที่ตัดข้อมูลซ้ำออกและจำกัดเฉพาะวันนี้
restingHeartRateBpm อัตราการเต้นของหัวใจขณะพักโดยเฉลี่ย
workoutCount การออกกำลังกายที่เริ่มในวันนี้
workoutDurationMinutes ระยะเวลารวมของการออกกำลังกายเหล่านั้น

ฟิลด์เมตริกเป็นฟิลด์เสริมและจะไม่รวมอยู่เมื่อ HealthKit ไม่ส่งคืนค่าที่อ่านได้ ระบบจะรวมช่วงการนอนหลับและแหล่งข้อมูลที่ทับซ้อนกันก่อนคำนวณระยะเวลา จึงไม่นับนาทีเดียวกันซ้ำสองครั้ง

ลักษณะการทำงานด้านความเป็นส่วนตัว

  • การรวมข้อมูลเกิดขึ้นบนอุปกรณ์ iOS ตัวอย่างข้อมูลดิบจะไม่ออกจากอุปกรณ์
  • ข้อมูลรวมที่ร้องขอจะออกจากอุปกรณ์ผ่าน Gateway เมื่อ Agent ร้องขอ ข้อมูลรวมจะส่งไปถึงผู้ให้บริการ AI ที่กำหนดค่าไว้และอาจคงอยู่ในประวัติการแชต การเรียกใช้ CLI โดยตรงจะส่งข้อมูลกลับไปยังผู้ดำเนินการ CLI
  • OpenClaw ขอเฉพาะสิทธิ์การอ่านเท่านั้น จึงไม่สามารถเพิ่มหรือแก้ไขข้อมูล Health ได้
  • OpenClaw จะอ่าน HealthKit เฉพาะเมื่อมีการเรียกใช้ health.summary เท่านั้น ไม่มีการนำเข้าข้อมูลสุขภาพเบื้องหลัง
  • HealthKit ไม่เปิดเผยโดยเจตนาว่าสิทธิ์การอ่านถูกปฏิเสธหรือไม่ เมตริกที่ขาดหายไปอาจหมายถึงถูกปฏิเสธสิทธิ์ ไม่มีตัวอย่างข้อมูลที่ตรงกัน หรือชนิดข้อมูลไม่พร้อมใช้งาน OpenClaw ไม่สามารถแยกแยะกรณีเหล่านี้ได้
  • ข้อมูลสรุปนี้มีไว้เพื่อบริบทด้านสุขภาพและการออกกำลังกายส่วนบุคคล ไม่ใช่เพื่อการวินิจฉัยหรือคำแนะนำทางการแพทย์

หากต้องการหยุดแชร์ ให้กลับไปที่ Apple Health Summaries แล้วแตะ Turn Off Summaries จากนั้นอุปกรณ์ iOS จะนำความสามารถ Health และคำสั่ง health.summary ออกจากชุดคำสั่งของ Node นอกจากนี้ยังสามารถนำ health.summary ออกจาก gateway.nodes.allowCommands เพื่อปิดการอนุญาตฝั่ง Gateway ได้

การแก้ไขปัญหา

Node ไม่ได้ประกาศคำสั่ง

ยืนยันว่าเปิดใช้ข้อมูลสรุป Apple Health ในแอป iOS และอุปกรณ์เชื่อมต่ออยู่ เรียกใช้ openclaw nodes pending และอนุมัติการอัปเดตความสามารถทั้งหมด จากนั้นตรวจสอบ openclaw nodes describe --node "<iOS device name>" อีกครั้ง

คำสั่งต้องเปิดใช้อย่างชัดแจ้ง

เพิ่ม health.summary ลงใน gateway.nodes.allowCommands และตรวจสอบด้วยว่า gateway.nodes.denyCommands ไม่มีรายการดังกล่าว เนื่องจากรายการปฏิเสธมีผลเหนือกว่า

HEALTH_ACCESS_DISABLED

สวิตช์การแชร์ฝั่งแอปปิดอยู่ เปิดใช้ Apple Health Summaries ภายใต้ Settings -> Permissions -> Apple Health บนอุปกรณ์ iOS

ขอข้อมูลสรุปสำเร็จแต่ไม่มีเมตริกบางรายการ

เปิดแอป Health ของ Apple และยืนยันว่ามีข้อมูลของวันนี้ ตรวจสอบสิทธิ์การเข้าถึงของ OpenClaw ในการตั้งค่า Health ของ Apple แต่อย่าถือว่าผลลัพธ์ว่างเปล่าเป็นหลักฐานว่าสิทธิ์ถูกปฏิเสธ เนื่องจาก HealthKit จงใจซ่อนความแตกต่างดังกล่าว

ช่วงเวลาที่เก่ากว่าใช้ไม่ได้

คำสั่งยอมรับเฉพาะ {"period":"today"} ไม่รองรับข้อมูลสรุปหลายวันและข้อมูลย้อนหลัง

ที่เกี่ยวข้อง

Was this useful?
On this page

On this page