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