---
read_when:
    - Включение сводок HealthKit на узле iPhone
    - Вызов health.summary или устранение неполадок с отсутствующими метриками состояния
    - Проверка того, какие данные о здоровье могут передаваться с iPhone
summary: Включение и вызов защищённых настройками конфиденциальности сводок HealthKit с Node на iPhone
title: Сводки HealthKit
x-i18n:
    generated_at: "2026-07-13T18:18:21Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 24
    provider: openai
    source_hash: 2f074c715ee1ef805ec953c301c03940e664c161f7f14c4388c83c64e222b557
    source_path: platforms/ios-healthkit.md
    workflow: 16
---

# Сводки HealthKit

OpenClaw может запрашивать доступную только для чтения сводку за текущий календарный день с
подключенного узла iPhone. iPhone вычисляет агрегированные данные на устройстве и возвращает
только количество шагов, продолжительность сна, среднюю частоту сердечных сокращений в покое, а также количество
и продолжительность тренировок. Отдельные образцы HealthKit, источники, метаданные, клинические
записи, фоновый сбор данных и запись не поддерживаются.

По умолчанию эта функция отключена. Для нее требуются отдельное согласие на iPhone и
авторизация на Gateway.

## Требования

- iPhone с приложением OpenClaw для iOS, на котором HealthKit сообщает, что данные о здоровье
  доступны.
- Подключенный и одобренный узел iPhone. См. [настройку приложения iOS](/ru/platforms/ios).
- Актуальный Gateway, который может связаться с узлом 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](/ru/nodes#command-policy).

### 2. Включите передачу данных на iPhone

В приложении iOS:

1. Откройте **Settings -> Permissions -> Privacy & Access -> Health Summaries**.
2. Нажмите **Enable & Share Summaries**.
3. Прочитайте уведомление, затем на экране разрешений Apple выберите категории Health, которые OpenClaw может читать.

Переключатель сохраняет ваш явный выбор о передаче данных в OpenClaw. Он не означает,
что Apple предоставила доступ ко всем запрошенным категориям.

При включении сводок Health команда `health.summary` добавляется в объявленный узлом
набор команд. Одобрите появившееся обновление сопряжения узла:

```bash
openclaw nodes pending
openclaw 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` из набора команд
узла. Также можно удалить `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"}`. Сводки за несколько дней и исторические
сводки не поддерживаются.

## См. также

- [Приложение iOS](/ru/platforms/ios)
- [Узлы](/ru/nodes)
- [Справочник по конфигурации Gateway](/ru/gateway/configuration-reference#gateway)
- [Аудит безопасности](/ru/gateway/security)
