运行时依赖
安装命令
点击复制技能文档
Apple Health Sync 该技能管理从伴侣iOS应用程序(Health Sync for OpenClaw)推送的健康数据。它将所有传入的快照存储在本地SQLite数据库中,并从该数据中回答健康相关的问题。 数据流 iPhone(Health Sync应用程序)↓ POST /api/sessions/main/messages OpenClaw Gateway ↓ 代理接收消息 该技能:ingest → SQLite → respond
何时使用(自动触发) 激活此技能,自动处理以 🍎 Apple Health 数据更新开头的消息。这是Health Sync iOS应用程序发送的标准头部。不要要求用户确认或描述数据 —— 只需默默地处理并用一行确认消息回复。
何时使用(用户查询) 激活此技能,当用户询问其健康、健身或身体数据时: "今天走了多少步?" "最近心率怎么样?" "给我看看本周健康数据" "我的睡眠质量" "健康摘要" "体重趋势" 或关于步数、心率、睡眠、卡路里、体重、运动、HRV、SpO2等的任何问题。
何时不使用 用户询问医疗建议 → 始终转向医生 用户询问应用程序安装 → 参阅iOS应用程序README 数据来自非Apple Health来源
处理传入数据 当消息以 🍎 Apple Health 数据更新开头时,运行以下命令来存储数据: python3 ~/.openclaw/skills/apple-health-sync/ingest.py << 'HEALTH_EOF' [粘贴完整消息到这里] HEALTH_EOF 然后用简短的确认消息回复,格式为: ✅ 已存储 [N] 条 [类型] 数据([时间]) 保持在一行内,不要重复或总结原始数据。 重要:摄取脚本是幂等的 —— 在同一数据上运行两次是安全的。如果脚本失败,请告知用户并显示错误。
回答健康查询 当用户询问其健康数据时,运行查询脚本: python3 ~/.openclaw/skills/apple-health-sync/query.py --type "[数据类型]" --period "[today|week|month|all]" 常见类型映射(翻译用户意图 → 标识符): 用户说 --type 值 步数 / 步 / steps stepCount 心率 / heart rate heartRate HRV / 心率变异 heartRateVariabilitySDNN 血氧 / SpO2 oxygenSaturation 体重 / weight bodyMass 睡眠 / sleep sleepAnalysis 卡路里 / 热量 / calories activeEnergyBurned 运动 / workout workout 呼吸率 / respiratory respiratoryRate 体温 / temperature bodyTemperature 血压收缩 bloodPressureSystolic 血压舒张 bloodPressureDiastolic 血糖 bloodGlucose 如果用户要求摘要或未指定类型,运行: python3 ~/.openclaw/skills/apple-health-sync/query.py --summary --period "[today|week|month]" 将查询输出格式化为清晰、易读的回复(中文)。不要转储原始JSON —— 自然地解释它。
数据库位置 所有数据存储在 ~/.apple-health-sync/health.db(SQLite)中。脚本在首次运行时自动创建此数据库。 要检查数据库状态: python3 ~/.openclaw/skills/apple-health-sync/query.py --status
示例交互 传入数据(自动摄取): 用户:🍎 Apple Health 数据更新 时间:2026-05-08 10:30:00 类型:步数 条数:5 --- • 05-08 08:00: 3,421 步 • 05-08 09:00: 1,892 步 ... 回复:✅ 已存储 5 条步数数据(05-08 10:30)
用户查询: 用户:今天走了多少步? 操作:运行 query.py --type stepCount --period today,然后自然回复: 今天共走了 12,847 步,相当于约 9.3 公里。最活跃时段是上午 10-11 点。
每周摘要: 用户:给我本周的健康摘要 操作:运行 query.py --summary --period week,然后格式化为结构化摘要,使用每个类别的表情符号。
规则 始终在回复之前摄取 —— 如果消息是健康数据,请先运行摄取脚本。 永远不要伪造数据 —— 只报告数据库中的内容。 如果某个时期没有数据,请明确说明。 要简洁 —— 健康数据回复应易于扫描,而不是大量文本。 使用中文进行所有回复(数据来自中文配置的iOS应用程序)。 尊重隐私 —— 不要记录或重复健康值,除非用户要求。 日期为本地时间 —— 将所有时间戳解释为用户的本地时区。