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. Прочитайте повідомлення про розкриття даних, а потім у вікні дозволів Apple виберіть категорії Health, які OpenClaw може читати.

Перемикач фіксує ваш явний вибір щодо поширення даних 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. Необроблені зразки не залишають пристрій.
  • Запитані агреговані дані залишають iPhone через ваш Gateway. Коли їх запитує агент, вони надходять до налаштованого постачальника ШІ та можуть залишатися в історії чату. Прямий виклик із 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