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 اضافه کنید. همه فرمانهای موجود را حفظ کنید:
{ gateway: { nodes: { allowCommands: ["health.summary"], }, },}health.summary در دسته موارد دارای حساسیت بالای حریم خصوصی قرار دارد و پیشفرض پلتفرم iOS هرگز آن را مجاز نمیکند. وجود یک ورودی در gateway.nodes.denyCommands، ورودی مجازکننده را لغو میکند. سیاست فرمان Node را ببینید.
2. فعالکردن اشتراکگذاری در iPhone
در برنامه iOS:
- مسیر Settings -> Permissions -> Privacy & Access -> Health Summaries را باز کنید.
- روی Enable & Share Summaries بزنید.
- متن افشای اطلاعات را بخوانید، سپس در برگه مجوز Apple انتخاب کنید که OpenClaw اجازه خواندن کدام دستههای Health را داشته باشد.
این کلید، انتخاب صریح شما برای اشتراکگذاری با OpenClaw را ثبت میکند. فعالبودن آن به این معنا نیست که Apple همه دستههای درخواستی را مجاز کرده است.
فعالکردن خلاصههای Health، health.summary را به سطح فرمانهای اعلامشده Node اضافه میکند. بهروزرسانی حاصل در جفتسازی Node را تأیید کنید:
openclaw nodes pendingopenclaw nodes approve <requestId>سپس بررسی کنید که iPhone متصل، فرمان مؤثر health.summary را ارائه میکند:
openclaw nodes describe --node "<iPhone name>"درخواست خلاصه امروز
فقط today پشتیبانی میشود. این خلاصه بازه نیمهشب محلی تا زمان درخواست را بر اساس تقویم و منطقه زمانی فعلی iPhone پوشش میدهد.
openclaw nodes invoke \ --node "<iPhone name>" \ --command health.summary \ --params '{"period":"today"}' \ --jsonعاملها میتوانند همین فرمان را با ابزار nodes فراخوانی کنند:
{ "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"} را میپذیرد. خلاصههای چندروزه و تاریخی پشتیبانی نمیشوند.