Platforms overview

สรุปข้อมูล HealthKit

ข้อมูลสรุป HealthKit

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

ฟีเจอร์นี้ปิดอยู่โดยค่าเริ่มต้น โดยต้องได้รับความยินยอมแยกต่างหากบน iPhone และการอนุญาตบน Gateway

ข้อกำหนด

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

ในแอป iOS:

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

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

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

bash
openclaw nodes pendingopenclaw nodes approve <requestId>

จากนั้นตรวจสอบว่า iPhone ที่เชื่อมต่ออยู่เปิดเผยคำสั่ง health.summary ที่มีผลอยู่:

bash
openclaw nodes describe --node "<iPhone name>"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

คำสั่งต้องเลือกเข้าร่วมอย่างชัดแจ้ง

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

HEALTH_ACCESS_DISABLED

สวิตช์การแชร์ฝั่งแอปปิดอยู่ ให้เปิดใช้งาน Health Summaries ภายใต้ Privacy & Access บน iPhone

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

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

ช่วงเวลาก่อนหน้านี้ล้มเหลว

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

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

Was this useful?
On this page

On this page