Сводки HealthKit
OpenClaw может запрашивать доступную только для чтения сводку за текущий календарный день с подключенного узла iPhone. iPhone вычисляет агрегированные данные на устройстве и возвращает только количество шагов, продолжительность сна, среднюю частоту сердечных сокращений в покое, а также количество и продолжительность тренировок. Отдельные образцы HealthKit, источники, метаданные, клинические записи, фоновый сбор данных и запись не поддерживаются. По умолчанию эта функция отключена. Для нее требуются отдельное согласие на iPhone и авторизация на Gateway.Требования
- iPhone с приложением OpenClaw для iOS, на котором HealthKit сообщает, что данные о здоровье доступны.
- Подключенный и одобренный узел iPhone. См. настройку приложения iOS.
- Актуальный Gateway, который может связаться с узлом 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 добавляется в объявленный узлом
набор команд. Одобрите появившееся обновление сопряжения узла:
health.summary:
Запрос сводки за сегодня
Поддерживается толькоtoday. Период охватывает время от местной полуночи до момента запроса
с учетом текущего календаря и часового пояса iPhone.
nodes:
| Поле | Значение |
|---|---|
period | Всегда today |
startISO | Местное начало дня в формате момента времени ISO |
endISO | Время запроса в формате момента времени ISO |
timeZoneIdentifier | Идентификатор часового пояса iPhone |
stepCount | Округленное суммарное количество шагов |
sleepDurationMinutes | Время сна без повторов, ограниченное сегодняшним днем |
restingHeartRateBpm | Средняя частота сердечных сокращений в покое |
workoutCount | Тренировки, начавшиеся сегодня |
workoutDurationMinutes | Общая продолжительность этих тренировок |
Обработка конфиденциальных данных
- Агрегирование выполняется на iPhone. Необработанные образцы не покидают устройство.
- Запрошенные агрегированные данные передаются с iPhone через ваш Gateway. Когда их запрашивает агент, они поступают настроенному поставщику ИИ и могут сохраняться в истории чата. При прямом вызове через CLI они возвращаются оператору CLI.
- OpenClaw запрашивает доступ только для чтения. Он не может добавлять или изменять данные Health.
- OpenClaw читает HealthKit только при вызове
health.summary. Фоновый сбор данных о здоровье не выполняется. - HealthKit намеренно не сообщает, был ли доступ для чтения отклонен. Отсутствие показателя может означать отказ в доступе, отсутствие подходящих образцов или недоступность типа данных. OpenClaw не может различить эти случаи.
- Сводка предназначена для предоставления контекста о личном здоровье и физической активности, а не для диагностики или медицинских рекомендаций.
health.summary из набора команд
узла. Также можно удалить health.summary из
gateway.nodes.allowCommands, чтобы закрыть доступ со стороны Gateway.
Устранение неполадок
Команда не объявлена узлом
Убедитесь, что сводки 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"}. Сводки за несколько дней и исторические
сводки не поддерживаются.