Зведення 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. Збережіть усі наявні команди:
health.summary класифікується як команда з високим рівнем доступу до приватних даних і ніколи не дозволяється типовими налаштуваннями платформи iOS. Запис у gateway.nodes.denyCommands має перевагу над записом дозволу. Див. політику команд Node.
2. Увімкніть поширення даних на iPhone
У застосунку для iOS:- Відкрийте Settings -> Permissions -> Privacy & Access -> Health Summaries.
- Натисніть Enable & Share Summaries.
- Прочитайте повідомлення про розкриття даних, а потім у вікні дозволів Apple виберіть категорії Health, які OpenClaw може читати.
health.summary до оголошеного набору команд Node. Схваліть відповідне оновлення сполучення Node:
health.summary:
Запит сьогоднішнього зведення
Підтримується лишеtoday. Період охоплює час від місцевої опівночі до моменту запиту відповідно до поточного календаря й часового поясу iPhone.
nodes:
Поля показників необов’язкові й не додаються, якщо HealthKit не повертає доступного для читання значення. Стадії сну та джерела, що перекриваються, об’єднуються до обчислення тривалості, тому та сама хвилина не враховується двічі.
Поведінка щодо приватності
- Агрегування відбувається на iPhone. Необроблені зразки не залишають пристрій.
- Запитані агреговані дані залишають iPhone через ваш Gateway. Коли їх запитує агент, вони надходять до налаштованого постачальника ШІ та можуть залишатися в історії чату. Прямий виклик із CLI повертає їх оператору CLI.
- OpenClaw запитує лише доступ для читання. Він не може додавати або змінювати дані Health.
- OpenClaw читає HealthKit лише під час виклику
health.summary. Фонового отримання даних про здоров’я немає. - HealthKit навмисно не повідомляє, чи було відмовлено в доступі для читання. Відсутність показника може означати відмову в доступі, відсутність відповідних зразків або недоступність типу даних. OpenClaw не може розрізнити ці випадки.
- Зведення призначене для особистого контексту здоров’я та фізичної форми, а не для діагностики чи медичних порад.
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"}. Багатоденні та історичні зведення не підтримуються.