Platforms overview

خلاصه‌های HealthKit

خلاصه‌های HealthKit

OpenClaw می‌تواند خلاصه‌ای فقط‌خواندنی از روز تقویمی جاری را از یک Node متصل iPhone درخواست کند. iPhone داده‌های تجمیعی را روی دستگاه محاسبه می‌کند و فقط تعداد قدم‌ها، مدت خواب، میانگین ضربان قلب در حالت استراحت و تعداد/مدت تمرین‌ها را برمی‌گرداند. نمونه‌های منفرد HealthKit، منابع، فراداده‌ها، سوابق بالینی، دریافت داده در پس‌زمینه و نوشتن داده پشتیبانی نمی‌شوند.

این قابلیت به‌طور پیش‌فرض غیرفعال است. استفاده از آن به رضایت جداگانه در iPhone و مجوز در Gateway نیاز دارد.

الزامات

  • یک iPhone که برنامه iOS ‏OpenClaw را اجرا کند و HealthKit داده‌های سلامت را در آن دردسترس گزارش دهد.
  • یک Node ‏iPhone متصل و تأییدشده. راه‌اندازی برنامه iOS را ببینید.
  • یک Gateway به‌روز که بتواند به Node ‏iPhone دسترسی پیدا کند.
  • داده‌های خواندنی Health برای همه معیارهایی که انتظار دارید مشاهده کنید. Apple Watch می‌تواند داده‌هایی را به مخزن Health در iPhone اضافه کند، اما برای خلاصه‌های HealthKit به برنامه watchOS ‏OpenClaw نیازی نیست.

فعال‌کردن دسترسی

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. متن افشای اطلاعات را بخوانید، سپس در برگه مجوز Apple انتخاب کنید که OpenClaw اجازه خواندن کدام دسته‌های Health را داشته باشد.

این کلید، انتخاب صریح شما برای اشتراک‌گذاری با 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

عامل‌ها می‌توانند همین فرمان را با ابزار 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 انجام می‌شود. نمونه‌های خام دستگاه را ترک نمی‌کنند.
  • داده تجمیعی درخواستی از طریق Gateway شما از iPhone خارج می‌شود. وقتی عاملی آن را درخواست کند، داده تجمیعی به ارائه‌دهنده هوش مصنوعی پیکربندی‌شده می‌رسد و ممکن است در تاریخچه گفت‌وگو باقی بماند. فراخوانی مستقیم CLI آن را به اپراتور CLI برمی‌گرداند.
  • OpenClaw فقط دسترسی خواندن درخواست می‌کند. این برنامه نمی‌تواند داده‌های Health را اضافه یا اصلاح کند.
  • OpenClaw فقط هنگام فراخوانی health.summary داده‌های HealthKit را می‌خواند. هیچ دریافت داده سلامت در پس‌زمینه‌ای انجام نمی‌شود.
  • 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

کلید اشتراک‌گذاری در سمت برنامه خاموش است. در بخش Privacy & Access در iPhone، گزینه Health Summaries را فعال کنید.

خلاصه با موفقیت دریافت می‌شود، اما معیارها وجود ندارند

برنامه Health ‏Apple را باز کنید و مطمئن شوید داده‌های امروز وجود دارند. دسترسی OpenClaw را در تنظیمات Health ‏Apple بررسی کنید، اما نتیجه خالی را مدرکی برای ردشدن دسترسی ندانید؛ HealthKit عمداً این تفاوت را پنهان می‌کند.

بازه‌های قدیمی‌تر ناموفق هستند

این فرمان فقط {"period":"today"} را می‌پذیرد. خلاصه‌های چندروزه و تاریخی پشتیبانی نمی‌شوند.

مرتبط

Was this useful?
On this page

On this page