Pular para o conteúdo principal

Resumos do HealthKit

O OpenClaw pode solicitar a um node de iPhone conectado um resumo somente leitura do dia atual do calendário. O iPhone calcula o agregado no próprio dispositivo e retorna apenas passos, duração do sono, frequência cardíaca média em repouso e quantidade/duração dos treinos. Amostras individuais do HealthKit, fontes, metadados, registros clínicos, ingestão em segundo plano e gravações não são compatíveis. Esse recurso vem desativado por padrão. Ele exige consentimento separado no iPhone e autorização no Gateway.

Requisitos

  • Um iPhone executando o aplicativo OpenClaw para iOS no qual o HealthKit informe que os dados de saúde estão disponíveis.
  • Um node de iPhone conectado e aprovado. Consulte configuração do aplicativo para iOS.
  • Um Gateway atual que consiga acessar o node do iPhone.
  • Dados legíveis do app Saúde para todas as métricas que se espera visualizar. Um Apple Watch pode fornecer dados ao armazenamento do app Saúde no iPhone, mas o aplicativo OpenClaw para watchOS não é necessário para os resumos do HealthKit.

Habilitar o acesso

1. Autorizar o comando do Gateway

Adicione health.summary ao array gateway.nodes.allowCommands existente em openclaw.json. Preserve todos os comandos já presentes:
health.summary é classificado como altamente sensível à privacidade e nunca é permitido pelo padrão da plataforma iOS. Uma entrada em gateway.nodes.denyCommands substitui a entrada de permissão. Consulte Política de comandos do Node.

2. Habilitar o compartilhamento no iPhone

No aplicativo para iOS:
  1. Abra Settings -> Permissions -> Privacy & Access -> Health Summaries.
  2. Toque em Enable & Share Summaries.
  3. Leia o aviso e escolha quais categorias do app Saúde o OpenClaw pode acessar na tela de permissões da Apple.
A opção registra sua escolha explícita de compartilhamento com o OpenClaw. Ela não afirma que a Apple concedeu acesso a todas as categorias solicitadas. Habilitar os resumos de saúde adiciona health.summary à superfície de comandos declarada pelo node. Aprove a atualização resultante do emparelhamento do node:
Em seguida, verifique se o iPhone conectado expõe um comando health.summary efetivo:

Solicitar o resumo de hoje

Somente today é compatível. Ele abrange desde a meia-noite local até o momento da solicitação, usando o calendário e o fuso horário atuais do iPhone.
Os agentes podem chamar o mesmo comando com a ferramenta nodes:
O payload do resumo contém: Os campos de métricas são opcionais e são omitidos quando o HealthKit não retorna nenhum valor legível. Os estágios do sono e as fontes sobrepostas são combinados antes do cálculo da duração, portanto o mesmo minuto não é contabilizado duas vezes.

Comportamento de privacidade

  • A agregação ocorre no iPhone. As amostras brutas não saem do dispositivo.
  • O agregado solicitado sai do iPhone por meio do Gateway. Quando um agente o solicita, o agregado chega ao provedor de IA configurado e pode permanecer no histórico do chat. Uma invocação direta pela CLI o retorna ao operador da CLI.
  • O OpenClaw solicita apenas acesso de leitura. Ele não pode adicionar nem modificar dados do app Saúde.
  • O OpenClaw acessa o HealthKit somente quando health.summary é invocado. Não há ingestão de dados de saúde em segundo plano.
  • O HealthKit deliberadamente não revela se o acesso de leitura foi negado. Uma métrica ausente pode significar acesso negado, ausência de amostras correspondentes ou tipo de dado indisponível. O OpenClaw não consegue distinguir esses casos.
  • O resumo se destina ao contexto pessoal de saúde e condicionamento físico, não a diagnósticos ou orientações médicas.
Para interromper o compartilhamento, volte a Health Summaries e toque em Disable. O iPhone removerá a funcionalidade de Saúde e o comando health.summary da superfície do node. Também é possível remover health.summary de gateway.nodes.allowCommands para fechar o controle de acesso no lado do Gateway.

Solução de problemas

O comando não está declarado pelo node

Confirme se os resumos de saúde estão habilitados no aplicativo para iOS e se o iPhone está conectado. Execute openclaw nodes pending, aprove qualquer atualização de funcionalidade e inspecione openclaw nodes describe --node "<iPhone name>" novamente.

O comando exige adesão explícita

Adicione health.summary a gateway.nodes.allowCommands. Verifique também se gateway.nodes.denyCommands não o contém; a lista de negação prevalece.

HEALTH_ACCESS_DISABLED

A opção de compartilhamento no aplicativo está desativada. Habilite Health Summaries em Privacy & Access no iPhone.

O resumo é obtido, mas há métricas ausentes

Abra o aplicativo Saúde da Apple e confirme se há dados de hoje. Revise o acesso do OpenClaw nos ajustes do app Saúde da Apple, mas não considere um resultado vazio como prova de que o acesso foi negado: o HealthKit oculta intencionalmente essa distinção.

Intervalos anteriores falham

O comando aceita somente {"period":"today"}. Resumos de vários dias e históricos não são compatíveis.

Relacionados