HealthKit 摘要
OpenClaw 可以从已连接的 iPhone 或 iPad 节点请求当前日历日的只读摘要。设备会在本地计算聚合结果,并且仅返回步数、睡眠时长、平均静息心率,以及锻炼次数/时长。不支持单个 HealthKit 样本、来源、元数据、临床记录、后台摄取和写入。 此功能默认关闭。它需要在 iOS 设备上单独同意,并在 Gateway 上进行授权。Requirements
- 一台运行 OpenClaw iOS 应用且 HealthKit 报告健康数据可用的 iPhone 或 iPad。
- 一个已连接并获批准的 iOS 节点。请参见 iOS 应用设置。
- 一个当前可到达 iOS 节点的 Gateway。
- 你期望看到的任何指标都需要有可读取的健康数据。Apple Watch 可以向 Apple Health 存储贡献数据,但 HealthKit 摘要不需要 OpenClaw watchOS 应用。
启用访问
1. 授权 Gateway 命令
将health.summary 添加到 openclaw.json 中现有的 gateway.nodes.commands.allow 数组里。保留已存在的任何命令:
health.summary 被归类为隐私敏感内容,且 iOS 平台默认绝不允许。gateway.nodes.commands.deny 中的条目会覆盖 allow 条目。另见 节点命令策略。
2. 在 iOS 设备上启用共享
在 iOS 应用中:- 打开 设置 -> 权限,并在始终可见的 Apple Health 部分中找到 Apple Health Summaries。
- 点击 启用 Apple Health Summaries。
- 阅读披露说明,然后在 Apple 的权限表中选择 OpenClaw 可以读取的 Health 类别。
health.summary 添加到该节点声明的命令范围中。请批准随之产生的节点配对更新:
health.summary 命令:
请求今日摘要
仅支持today。它涵盖本地午夜到请求时刻,
使用 iOS 设备当前的日历和时区。
nodes 工具调用相同的命令:
指标字段是可选的;当 HealthKit 没有返回可读取的值时,会被省略。睡眠阶段和重叠来源会在计算时长之前合并,因此同一分钟不会被重复计数。
隐私行为
- 聚合发生在 iOS 设备上。原始样本不会离开设备。
- 请求的聚合会通过你的 Gateway 离开设备。当代理 请求它时,聚合会到达已配置的 AI 提供方,并可能保留在 聊天历史中。直接通过 CLI 调用则会将其返回给 CLI 操作员。
- OpenClaw 仅请求读取权限。它不能添加或修改 Health 数据。
- OpenClaw 仅在调用
health.summary时读取 HealthKit。不存在 后台健康数据摄取。 - HealthKit 刻意不会透露读取权限是否被拒绝。缺少某项指标可能意味着拒绝访问、没有匹配的样本,或该数据类型不可用。OpenClaw 无法区分这些情况。
- 该摘要用于个人健康与健身背景信息,不是诊断或 医疗建议。
health.summary 命令。你也可以从
gateway.nodes.commands.allow 中移除 health.summary,以关闭 Gateway 端的门禁。
故障排查
该命令未由节点声明
确认 iOS 应用中已启用 Apple Health 摘要,并且设备已连接。 运行openclaw nodes pending 并批准任何能力更新,然后再次检查
openclaw nodes describe --node "<iOS device name>"。
该命令需要显式选择加入
将health.summary 添加到 gateway.nodes.commands.allow。同时检查
gateway.nodes.commands.deny 中不包含它;拒绝列表优先生效。
HEALTH_ACCESS_DISABLED
应用端共享开关已关闭。请在 iOS 设备的
Settings -> Permissions -> Apple Health 下启用 Apple Health Summaries。
摘要成功但缺少指标
打开 Apple 的 Health 应用,并确认今天存在数据。检查 OpenClaw 在 Apple 的 Health 设置中的访问权限,但不要将空结果 视为已拒绝访问的证据:HealthKit 会刻意隐藏这种区别。较早的时间范围失败
该命令仅接受{"period":"today"}。不支持多日和历史摘要。