Platforms overview
خلاصههای HealthKit
خلاصههای HealthKit
OpenClaw میتواند خلاصهای فقطخواندنی از روز جاری تقویمی را از یک Node متصل در iPhone یا iPad درخواست کند. دستگاه دادههای تجمیعی را روی خود دستگاه محاسبه میکند و فقط تعداد گامها، مدت خواب، میانگین ضربان قلب در حالت استراحت و تعداد/مدت تمرینها را بازمیگرداند. نمونههای منفرد HealthKit، منابع، فرادادهها، سوابق بالینی، دریافت داده در پسزمینه و نوشتن داده پشتیبانی نمیشوند.
این قابلیت بهطور پیشفرض غیرفعال است. برای استفاده از آن، هم رضایت جداگانه روی دستگاه iOS و هم مجوز در Gateway لازم است.
الزامات
- یک iPhone یا iPad که برنامه iOS مربوط به OpenClaw را اجرا کند و HealthKit در آن، دادههای سلامت را در دسترس گزارش دهد.
- یک Node متصل و تأییدشده iOS. به راهاندازی برنامه iOS مراجعه کنید.
- یک Gateway بهروز که بتواند به Node دستگاه iOS دسترسی پیدا کند.
- دادههای خواندنی Health برای هر معیاری که انتظار دارید مشاهده کنید. Apple Watch میتواند دادهها را به مخزن Apple Health اضافه کند، اما برای خلاصههای HealthKit به برنامه watchOS مربوط به OpenClaw نیازی نیست.
فعالکردن دسترسی
1. مجازکردن فرمان Gateway
health.summary را به آرایه موجود gateway.nodes.commands.allow در
openclaw.json اضافه کنید. فرمانهای موجود را حفظ کنید:
{ gateway: { nodes: { commands: { allow: ["health.summary"] }, }, },}health.summary در رده موارد بسیار حساس از نظر حریم خصوصی قرار میگیرد و تنظیم پیشفرض پلتفرم iOS هرگز آن را مجاز نمیکند. وجود یک ورودی در gateway.nodes.commands.deny بر ورودی فهرست مجاز اولویت دارد. به سیاست فرمان Node مراجعه کنید.
2. فعالکردن اشتراکگذاری روی دستگاه iOS
در برنامه iOS:
- بخش Settings -> Permissions را باز کنید و Apple Health Summaries را در بخش همیشهنمایان Apple Health پیدا کنید.
- روی Enable Apple Health Summaries بزنید.
- متن افشا را بخوانید، سپس در صفحه مجوز Apple مشخص کنید OpenClaw مجاز به خواندن کدام دستههای Health باشد.
این کلید، انتخاب صریح شما برای اشتراکگذاری با OpenClaw را ثبت میکند. این کلید بهمعنای آن نیست که Apple دسترسی به همه دستههای درخواستی را اعطا کرده است.
فعالکردن خلاصههای Health، health.summary را به مجموعه فرمانهای اعلامشده Node اضافه میکند. بهروزرسانی حاصل در جفتسازی Node را تأیید کنید:
openclaw nodes pendingopenclaw nodes approve <requestId>سپس بررسی کنید که دستگاه متصل iOS یک فرمان مؤثر health.summary ارائه میکند:
openclaw nodes describe --node "<iOS device name>"درخواست خلاصه امروز
فقط today پشتیبانی میشود. این خلاصه بازه نیمهشب محلی تا زمان درخواست را بر اساس تقویم و منطقه زمانی فعلی دستگاه iOS پوشش میدهد.
openclaw nodes invoke \ --node "<iOS device name>" \ --command health.summary \ --params '{"period":"today"}' \ --jsonعاملها میتوانند همین فرمان را با ابزار nodes فراخوانی کنند:
{ "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 شما از دستگاه خارج میشود. هنگامی که یک عامل آن را درخواست کند، داده تجمیعی به ارائهدهنده هوش مصنوعی پیکربندیشده میرسد و ممکن است در تاریخچه گفتگو باقی بماند. فراخوانی مستقیم CLI آن را به اپراتور CLI بازمیگرداند.
- OpenClaw فقط دسترسی خواندن درخواست میکند. نمیتواند دادههای Health را اضافه یا تغییر دهد.
- OpenClaw فقط هنگام فراخوانی
health.summary، HealthKit را میخواند. هیچ دریافت داده سلامت در پسزمینهای وجود ندارد. - HealthKit عمداً مشخص نمیکند که آیا دسترسی خواندن رد شده است یا نه. نبودن یک معیار میتواند بهمعنای رد دسترسی، نبود نمونه منطبق یا در دسترس نبودن نوع داده باشد. OpenClaw نمیتواند این حالتها را از هم تشخیص دهد.
- این خلاصه برای زمینه شخصی سلامت و تناسب اندام است، نه تشخیص یا توصیه پزشکی.
برای توقف اشتراکگذاری، به Apple Health Summaries برگردید و روی Turn Off Summaries بزنید. سپس دستگاه iOS قابلیت Health و فرمان health.summary را از مجموعه قابلیتهای Node خود حذف میکند. همچنین میتوانید health.summary را از
gateway.nodes.commands.allow حذف کنید تا سمت Gateway این مسیر دسترسی نیز بسته شود.
عیبیابی
فرمان توسط Node اعلام نشده است
مطمئن شوید خلاصههای Apple Health در برنامه iOS فعال هستند و دستگاه متصل است. openclaw nodes pending را اجرا کنید و هرگونه بهروزرسانی قابلیت را تأیید کنید، سپس دوباره openclaw nodes describe --node "<iOS device name>" را بررسی کنید.
فرمان به فعالسازی صریح نیاز دارد
health.summary را به gateway.nodes.commands.allow اضافه کنید. همچنین بررسی کنید که
gateway.nodes.commands.deny شامل آن نباشد؛ فهرست منعشده اولویت دارد.
HEALTH_ACCESS_DISABLED
کلید اشتراکگذاری در برنامه خاموش است. Apple Health Summaries را در مسیر Settings -> Permissions -> Apple Health روی دستگاه iOS فعال کنید.
خلاصه با موفقیت دریافت میشود، اما معیارها وجود ندارند
برنامه Health مربوط به Apple را باز کنید و مطمئن شوید برای امروز دادهای وجود دارد. دسترسی OpenClaw را در تنظیمات Health مربوط به Apple بررسی کنید، اما نتیجه خالی را دلیل ردشدن دسترسی تلقی نکنید: HealthKit عمداً این تفاوت را پنهان میکند.
بازههای قدیمیتر ناموفق هستند
این فرمان فقط {"period":"today"} را میپذیرد. خلاصههای چندروزه و تاریخی پشتیبانی نمیشوند.