{"id":"c95d9cab-bd89-4ab7-89cd-cf469f87eb6a","entityType":"agent","slug":"clawhub-reffwu-health-to-openclaw","name":"Apple Health → OpenClaw","canonicalUrl":"https://www.xpersona.co/agent/clawhub-reffwu-health-to-openclaw","canonicalPath":"/agent/clawhub-reffwu-health-to-openclaw","generatedAt":"2026-10-13T13:13:29.826Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-12T01:17:05.668Z","emptyReason":null},"description":"Sync Apple Health data from iPhone to OpenClaw. One QR code scan — no manual setup. Works on Mac, Linux, and VPS. Skill: Apple Health → OpenClaw Owner: reffwu Summary: Sync Apple Health data from iPhone to OpenClaw. One QR code scan — no manual setup. Works on Mac, Linux, and VPS. Tags: apple:2.0.0, biometrics:1.0.0, chinese:1.0.0, fitness:2.0.0, health:2.0.0, healthkit:2.0.0, iphone:2.0.0, latest:2.0.0 Version history: v2.0.0 | 2026-05-08T17:04:42.334Z | user QR code pairing, auto VPS detection, direct OpenClaw gateway connecti","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 962 downloads reported by the source. Last updated 10/12/2026.","installCommand":"clawhub skill install s172yqztq7m2zd1j1wmbqb93en83m5cq:health-to-openclaw","sourceUrl":"https://clawhub.ai/reffwu/health-to-openclaw","homepage":"https://clawhub.ai/reffwu/skills/health-to-openclaw","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/reffwu/health-to-openclaw","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/reffwu/skills/health-to-openclaw","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Sync Apple Health data from iPhone to OpenClaw. One QR code scan — no manual setup. Works on Mac, Linux, and VPS. Skill: Apple Health → OpenClaw Owner: reffwu S"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-12T01:17:05.668Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-12T01:17:05.668Z","emptyReason":null},"stars":null,"forks":null,"downloads":962,"likes":null,"task":null,"library":null,"packageName":null,"latestVersion":"2.0.0","tractionLabel":"962 downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-12T01:17:05.597Z","emptyReason":null},"lastUpdatedAt":"2026-10-12T01:17:05.668Z","lastCrawledAt":"2026-10-12T01:17:05.597Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-13T01:17:05.597Z","lastVerifiedAt":null,"highlights":[{"version":"2.0.0","createdAt":"2026-05-08T17:04:42.334Z","changelog":"QR code pairing, auto VPS detection, direct OpenClaw gateway connection, no relay server needed","fileCount":6,"zipByteSize":13643},{"version":"1.0.0","createdAt":"2026-05-08T15:06:45.799Z","changelog":"自动摄入 iOS Apple Health 数据（100+ 类型），本地 SQLite 存储，支持中文自然语言查询。配合 Health Sync iOS app 使用，零加密配置，直接通过 OpenClaw Gateway API 同步。","fileCount":4,"zipByteSize":9576}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s172yqztq7m2zd1j1wmbqb93en83m5cq:health-to-openclaw","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-reffwu-health-to-openclaw/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-reffwu-health-to-openclaw/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-reffwu-health-to-openclaw/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-reffwu-health-to-openclaw/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-reffwu-health-to-openclaw/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-reffwu-health-to-openclaw/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-13T13:13:29.826Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-reffwu-health-to-openclaw/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-reffwu-health-to-openclaw/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-reffwu-health-to-openclaw/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-reffwu-health-to-openclaw/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-12T01:17:05.668Z","emptyReason":null},"readme":"Skill: Apple Health → OpenClaw\n\nOwner: reffwu\n\nSummary: Sync Apple Health data from iPhone to OpenClaw. One QR code scan — no manual setup. Works on Mac, Linux, and VPS.\n\nTags: apple:2.0.0, biometrics:1.0.0, chinese:1.0.0, fitness:2.0.0, health:2.0.0, healthkit:2.0.0, iphone:2.0.0, latest:2.0.0\n\nVersion history:\n\nv2.0.0 | 2026-05-08T17:04:42.334Z | user\n\nQR code pairing, auto VPS detection, direct OpenClaw gateway connection, no relay server needed\n\nv1.0.0 | 2026-05-08T15:06:45.799Z | user\n\n自动摄入 iOS Apple Health 数据（100+ 类型），本地 SQLite 存储，支持中文自然语言查询。配合 Health Sync iOS app 使用，零加密配置，直接通过 OpenClaw Gateway API 同步。\n\nArchive index:\n\nArchive v2.0.0: 6 files, 13643 bytes\n\nFiles: scripts/ingest.py (7843b), scripts/query.py (10312b), scripts/setup.py (7348b), skill-card.md (2362b), SKILL.md (3705b), _meta.json (137b)\n\nFile v2.0.0:SKILL.md\n\n---\nname: Apple Health Sync\nslug: apple-health-sync\nversion: 2.0.0\ndescription: Sync Apple Health data from iPhone to OpenClaw. One QR code scan — no manual setup. Works on Mac, Linux, and VPS.\nhomepage: https://clawhub.ai/ReffWu/apple-health-sync\nchangelog: v2 — QR code pairing, auto VPS detection, direct gateway connection, no relay server.\nmetadata: {\"openclaw\":{\"emoji\":\"🍎\",\"tags\":[\"health\",\"apple\",\"fitness\",\"biometrics\",\"iphone\"],\"requires\":{\"bins\":[\"python3\"]},\"os\":[\"darwin\",\"linux\",\"win32\"]}}\n---\n\n# Apple Health Sync\n\nCompanion iOS app: **Health Sync for OpenClaw** — install from the App Store or sideload the IPA.\n\n---\n\n## Setup (first time)\n\nWhen the user asks to set up, connect their iPhone, or pair their phone, run:\n\n```bash\npython3 {baseDir}/scripts/setup.py\n```\n\nThis script:\n1. Reads your OpenClaw gateway token automatically\n2. Detects your machine's accessible IP (LAN or public)\n3. Starts the gateway in LAN mode if needed\n4. Prints a QR code in the terminal\n\nTell the user:\n> 打开 **Health Sync for OpenClaw** App，点击「扫码自动配置」，扫描上方的 QR 码即可完成配置。\n\nAfter scanning, the app is fully configured — no manual URL or token entry needed.\n\n### If the QR code is too big for the terminal\n\nThe script also prints the raw JSON. Tell the user they can manually enter it, or run with `--compact` for a smaller QR:\n\n```bash\npython3 {baseDir}/scripts/setup.py --compact\n```\n\n### If OpenClaw is on a VPS / remote server\n\nThe script **auto-detects** VPS vs local and picks the right IP automatically.\n\nIf the detected IP is wrong, or you have a domain name, pass it explicitly:\n\n```bash\npython3 {baseDir}/scripts/setup.py --host <your-public-ip-or-domain>\n```\n\nThe script will also check if port **18789** is reachable and print firewall instructions if not:\n\n```\n# Linux iptables\nsudo iptables -A INPUT -p tcp --dport 18789 -j ACCEPT\n\n# Ubuntu ufw\nsudo ufw allow 18789/tcp\n\n# Oracle Cloud: Console → VCN → Security List → Add Ingress Rule TCP 18789\n```\n\n---\n\n## Auto-trigger: incoming health data\n\nActivate **automatically** when a message starts with `🍎 Apple Health 数据更新`.\n\nDo NOT ask for confirmation — just ingest and acknowledge in one line.\n\n```bash\npython3 {baseDir}/scripts/ingest.py << 'EOF'\n[paste full message here]\nEOF\n```\n\nReply format (one line only):\n> ✅ 已存储 **N 条** [类型] 数据（时间）\n\n---\n\n## User health queries\n\nActivate when the user asks about steps, heart rate, sleep, weight, HRV, calories, workouts, SpO2, etc.\n\n```bash\n# Specific type\npython3 {baseDir}/scripts/query.py --type stepCount --period today\n\n# Summary\npython3 {baseDir}/scripts/query.py --summary --period week\n\n# Database status\npython3 {baseDir}/scripts/query.py --status\n```\n\nType mappings:\n\n| 用户说 | --type |\n|--------|--------|\n| 步数/步 | stepCount |\n| 心率 | heartRate |\n| HRV | heartRateVariabilitySDNN |\n| 血氧 | oxygenSaturation |\n| 体重 | bodyMass |\n| 睡眠 | sleepAnalysis |\n| 卡路里 | activeEnergyBurned |\n| 运动 | workout |\n| 呼吸率 | respiratoryRate |\n| 体温 | bodyTemperature |\n| 血压收缩 | bloodPressureSystolic |\n| 血压舒张 | bloodPressureDiastolic |\n\nFormat query output naturally in Chinese. Never dump raw JSON.\n\n---\n\n## Data storage\n\nAll data lives at `~/.apple-health-sync/health.db` (SQLite, created automatically on first ingest).\n\n---\n\n## Rules\n\n1. Auto-ingest first, acknowledge second — no confirmation prompts on incoming data.\n2. Never fabricate data — only report what's in the database.\n3. All responses in Chinese.\n4. Never expose the bearer token to the user.\n5. If setup fails, show the exact error and suggest `--host` flag for custom IP.\n\nFile v2.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn77nhvk1bs3q654qa43rffxf583nk9w\",\n  \"slug\": \"health-to-openclaw\",\n  \"version\": \"2.0.0\",\n  \"publishedAt\": 1778259882334\n}\n\nFile v2.0.0:skill-card.md\n\n## Description:\n\nSync Apple Health data from iPhone to OpenClaw through QR-code pairing, local ingestion, and health-data queries.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[reffwu](https://clawhub.ai/user/reffwu)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nOpenClaw users use this skill to pair an iPhone companion app, ingest Apple Health updates into a local SQLite store, and ask Chinese-language questions about metrics such as steps, heart rate, sleep, weight, calories, and workouts.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Setup QR codes, raw JSON, screenshots, or terminal logs can expose a live OpenClaw gateway token.\n\nMitigation: Treat pairing output as secret, avoid sharing it, and rotate the gateway token if pairing data is exposed.\n\nRisk: Remote or VPS gateway use can make port 18789 reachable beyond trusted devices.\n\nMitigation: Prefer HTTPS, VPN, or a trusted tunnel for remote access and avoid broad firewall rules.\n\nRisk: Sensitive Apple Health data is stored locally at ~/.apple-health-sync/health.db.\n\nMitigation: Restrict filesystem permissions, use an isolated account or environment where practical, and disclose local storage before ingesting health data.\n\nRisk: The setup flow may install the qrcode Python package automatically when it is unavailable.\n\nMitigation: Install and review dependencies yourself in an isolated environment before running setup.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/reffwu/skills/health-to-openclaw)\n- [Skill homepage](https://clawhub.ai/ReffWu/apple-health-sync)\n\n## Skill Output:\n\n**Output Type(s):** [text, shell commands, configuration, guidance]\n\n**Output Format:** [Chinese prose with inline shell commands and script-generated JSON summaries]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Setup may produce QR-code pairing data; query responses should summarize stored data without exposing raw JSON or bearer tokens.]\n\n## Skill Version(s):\n\n2.0.0 (source: server release metadata and skill frontmatter)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.0: 4 files, 9576 bytes\n\nFiles: ingest.py (7843b), query.py (10312b), SKILL.md (4962b), _meta.json (137b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: apple-health-sync\ndescription: Receive, store, and analyze Apple Health data synced from iPhone. Auto-ingests incoming health snapshots and answers health queries in Chinese.\nversion: 1.0.0\nauthor: wuruifu\nlicense: MIT\nplatforms: [macos, linux]\nmetadata:\n  openclaw:\n    tags: [health, apple, fitness, biometrics, Chinese]\n    emoji: 🍎\n    user-invocable: false\nprerequisites:\n  commands: [python3, sqlite3]\n---\n\n# Apple Health Sync\n\nThis skill manages health data pushed from the companion iOS app (Health Sync for OpenClaw). It stores all incoming snapshots in a local SQLite database and answers health-related questions from that data.\n\n## Data Flow\n\n```\niPhone (Health Sync app)\n    ↓  POST /api/sessions/main/messages\nOpenClaw Gateway\n    ↓  agent receives message\nThis skill: ingest → SQLite → respond\n```\n\n## When to Use (Auto-trigger)\n\nActivate this skill automatically whenever a message arrives that starts with `🍎 Apple Health 数据更新`. This is the standard header sent by the Health Sync iOS app.\n\nDo NOT ask the user to confirm or describe the data — just ingest it silently and reply with a one-line acknowledgment.\n\n## When to Use (User Query)\n\nActivate when the user asks about their health, fitness, or body data:\n- \"今天走了多少步？\"\n- \"最近心率怎么样？\"\n- \"给我看看本周健康数据\"\n- \"我的睡眠质量\"\n- \"健康摘要\"\n- \"体重趋势\"\n- Or any question about steps, heart rate, sleep, calories, weight, workouts, HRV, SpO2, etc.\n\n## When NOT to Use\n\n- User asks about medical advice → always defer to a doctor\n- User asks about app installation → refer to the iOS app README\n- Data is from a source other than Apple Health\n\n---\n\n## Ingesting Incoming Data\n\nWhen a message starts with `🍎 Apple Health 数据更新`, run this command to store the data:\n\n```bash\npython3 ~/.openclaw/skills/apple-health-sync/ingest.py << 'HEALTH_EOF'\n[paste the full message here]\nHEALTH_EOF\n```\n\nThen reply with a brief acknowledgment in the format:\n> ✅ 已存储 **[N] 条** [类型] 数据（[时间]）\n\nKeep it to one line. Do not repeat or summarize the raw data.\n\n**Important:** The ingestion script is idempotent — running it twice on the same data is safe. If the script fails, tell the user and show the error.\n\n---\n\n## Answering Health Queries\n\nWhen the user asks about their health data, run the query script:\n\n```bash\npython3 ~/.openclaw/skills/apple-health-sync/query.py --type \"[data_type]\" --period \"[today|week|month|all]\"\n```\n\nCommon type mappings (translate user intent → identifier):\n\n| User says | --type value |\n|-----------|-------------|\n| 步数 / 步 / steps | stepCount |\n| 心率 / heart rate | heartRate |\n| HRV / 心率变异 | heartRateVariabilitySDNN |\n| 血氧 / SpO2 | oxygenSaturation |\n| 体重 / weight | bodyMass |\n| 睡眠 / sleep | sleepAnalysis |\n| 卡路里 / 热量 / calories | activeEnergyBurned |\n| 运动 / workout | workout |\n| 呼吸率 / respiratory | respiratoryRate |\n| 体温 / temperature | bodyTemperature |\n| 血压收缩 | bloodPressureSystolic |\n| 血压舒张 | bloodPressureDiastolic |\n| 血糖 | bloodGlucose |\n\nIf the user asks for a **summary** or doesn't specify a type, run:\n\n```bash\npython3 ~/.openclaw/skills/apple-health-sync/query.py --summary --period \"[today|week|month]\"\n```\n\nFormat the query output into a clean, readable reply in Chinese. Do not dump raw JSON — interpret it naturally.\n\n---\n\n## Database Location\n\nAll data is stored at `~/.apple-health-sync/health.db` (SQLite). The scripts create this automatically on first run.\n\nTo check database status:\n```bash\npython3 ~/.openclaw/skills/apple-health-sync/query.py --status\n```\n\n---\n\n## Example Interactions\n\n**Incoming data (auto-ingest):**\n```\nUser: 🍎 Apple Health 数据更新\n时间：2026-05-08 10:30:00\n类型：步数\n条数：5\n---\n• 05-08 08:00: 3,421 步\n• 05-08 09:00: 1,892 步\n...\n```\nResponse: `✅ 已存储 5 条步数数据（05-08 10:30）`\n\n**User query:**\n```\nUser: 今天走了多少步？\n```\nAction: Run `query.py --type stepCount --period today`, then reply naturally:\n> 今天共走了 **12,847 步**，相当于约 9.3 公里。最活跃时段是上午 10-11 点。\n\n**Weekly summary:**\n```\nUser: 给我本周的健康摘要\n```\nAction: Run `query.py --summary --period week`, then format as a structured summary with emojis for each category.\n\n---\n\n## Rules\n\n1. **Always ingest before responding** — run the ingest script first if the message is health data.\n2. **Never fabricate data** — only report what's in the database. If no data exists for a period, say so clearly.\n3. **Be concise** — health data responses should be scannable, not walls of text.\n4. **Use Chinese** for all responses (the data comes from a Chinese-configured iOS app).\n5. **Respect privacy** — don't log or repeat health values beyond what the user asked.\n6. **Dates are local time** — interpret all timestamps as the user's local timezone.\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn77nhvk1bs3q654qa43rffxf583nk9w\",\n  \"slug\": \"health-to-openclaw\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1778252805799\n}","readmeExcerpt":"Skill: Apple Health → OpenClaw Owner: reffwu Summary: Sync Apple Health data from iPhone to OpenClaw. One QR code scan — no manual setup. Works on Mac, Linux, and VPS. Tags: apple:2.0.0, biometrics:1.0.0, chinese:1.0.0, fitness:2.0.0, health:2.0.0, healthkit:2.0.0, iphone:2.0.0, latest:2.0.0 Version history: v2.0.0 | 2026-05-08T17:04:42.334Z | user QR code pairing, auto VPS detection, direct OpenClaw gateway connecti","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"python3 {baseDir}/scripts/setup.py"},{"language":"bash","snippet":"python3 {baseDir}/scripts/setup.py --compact"},{"language":"bash","snippet":"python3 {baseDir}/scripts/setup.py --host <your-public-ip-or-domain>"},{"language":"text","snippet":"# Linux iptables\nsudo iptables -A INPUT -p tcp --dport 18789 -j ACCEPT\n\n# Ubuntu ufw\nsudo ufw allow 18789/tcp\n\n# Oracle Cloud: Console → VCN → Security List → Add Ingress Rule TCP 18789"},{"language":"bash","snippet":"python3 {baseDir}/scripts/ingest.py << 'EOF'\n[paste full message here]\nEOF"},{"language":"bash","snippet":"# Specific type\npython3 {baseDir}/scripts/query.py --type stepCount --period today\n\n# Summary\npython3 {baseDir}/scripts/query.py --summary --period week\n\n# Database status\npython3 {baseDir}/scripts/query.py --status"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: Apple Health Sync\nslug: apple-health-sync\nversion: 2.0.0\ndescription: Sync Apple Health data from iPhone to OpenClaw. One QR code scan — no manual setup. Works on Mac, Linux, and VPS.\nhomepage: https://clawhub.ai/ReffWu/apple-health-sync\nchangelog: v2 — QR code pairing, auto VPS detection, direct gateway connection, no relay server.\nmetadata: {\"openclaw\":{\"emoji\":\"🍎\",\"tags\":[\"health\",\"apple\",\"fitness\",\"biometrics\",\"iphone\"],\"requires\":{\"bins\":[\"python3\"]},\"os\":[\"darwin\",\"linux\",\"win32\"]}}\n---\n\n# Apple Health Sync\n\nCompanion iOS app: **Health Sync for OpenClaw** — install from the App Store or sideload the IPA.\n\n---\n\n## Setup (first time)\n\nWhen the user asks to set up, connect their iPhone, or pair their phone, run:\n\n```bash\npython3 {baseDir}/scripts/setup.py\n```\n\nThis script:\n1. Reads your OpenClaw gateway token automatically\n2. Detects your machine's accessible IP (LAN or public)\n3. Starts the gateway in LAN mode if needed\n4. Prints a QR code in the terminal\n\nTell the user:\n> 打开 **Health Sync for OpenClaw** App，点击「扫码自动配置」，扫描上方的 QR 码即可完成配置。\n\nAfter scanning, the app is fully configured — no manual URL or token entry needed.\n\n### If the QR code is too big for the terminal\n\nThe script also prints the raw JSON. Tell the user they can manually enter it, or run with `--compact` for a smaller QR:\n\n```bash\npython3 {baseDir}/scripts/setup.py --compact\n```\n\n### If OpenClaw is on a VPS / remote server\n\nThe script **auto-detects** VPS vs local and picks the right IP automatically.\n\nIf the detected IP is wrong, or you have a domain name, pass it explicitly:\n\n```bash\npython3 {baseDir}/scripts/setup.py --host <your-public-ip-or-domain>\n```\n\nThe script will also check if port **18789** is reachable and print firewall instructions if not:\n\n```\n# Linux iptables\nsudo iptables -A INPUT -p tcp --dport 18789 -j ACCEPT\n\n# Ubuntu ufw\nsudo ufw allow 18789/tcp\n\n# Oracle Cloud: Console → VCN → Security List → Add Ingress Rule TCP 18789\n```\n\n---\n\n## Auto-trigger: incoming health data\n\nActivate **automatically** when a message starts with `🍎 Apple Health 数据更新`.\n\nDo NOT ask for confirmation — just ingest and acknowledge in one line.\n\n```bash\npython3 {baseDir}/scripts/ingest.py << 'EOF'\n[paste full message here]\nEOF\n```\n\nReply format (one line only):\n> ✅ 已存储 **N 条** [类型] 数据（时间）\n\n---\n\n## User health queries\n\nActivate when the user asks about steps, heart rate, sleep, weight, HRV, calories, workouts, SpO2, etc.\n\n```bash\n# Specific type\npython3 {baseDir}/scripts/query.py --type stepCount --period today\n\n# Summary\npython3 {baseDir}/scripts/query.py --summary --period week\n\n# Database status\npython3 {baseDir}/scripts/query.py --status\n```\n\nType mappings:\n\n| 用户说 | --type |\n|--------|--------|\n| 步数/步 | stepCount |\n| 心率 | heartRate |\n| HRV | heartRateVariabilitySDNN |\n| 血氧 | oxygenSaturation |\n| 体重 | bodyMass |\n| 睡眠 | sleepAnalysis |\n| 卡路里 | activeEnergyBurned |\n| 运动 | workout |\n| 呼吸率 | respiratoryRate |\n| 体温 | bodyTemperature |\n| 血压收缩 | bloodPressureSystolic |\n| 血压舒张 | bl"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn77nhvk1bs3q654qa43rffxf583nk9w\",\n  \"slug\": \"health-to-openclaw\",\n  \"version\": \"2.0.0\",\n  \"publishedAt\": 1778259882334\n}"},{"path":"skill-card.md","content":"## Description:\n\nSync Apple Health data from iPhone to OpenClaw through QR-code pairing, local ingestion, and health-data queries.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[reffwu](https://clawhub.ai/user/reffwu)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nOpenClaw users use this skill to pair an iPhone companion app, ingest Apple Health updates into a local SQLite store, and ask Chinese-language questions about metrics such as steps, heart rate, sleep, weight, calories, and workouts.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Setup QR codes, raw JSON, screenshots, or terminal logs can expose a live OpenClaw gateway token.\n\nMitigation: Treat pairing output as secret, avoid sharing it, and rotate the gateway token if pairing data is exposed.\n\nRisk: Remote or VPS gateway use can make port 18789 reachable beyond trusted devices.\n\nMitigation: Prefer HTTPS, VPN, or a trusted tunnel for remote access and avoid broad firewall rules.\n\nRisk: Sensitive Apple Health data is stored locally at ~/.apple-health-sync/health.db.\n\nMitigation: Restrict filesystem permissions, use an isolated account or environment where practical, and disclose local storage before ingesting health data.\n\nRisk: The setup flow may install the qrcode Python package automatically when it is unavailable.\n\nMitigation: Install and review dependencies yourself in an isolated environment before running setup.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/reffwu/skills/health-to-openclaw)\n- [Skill homepage](https://clawhub.ai/ReffWu/apple-health-sync)\n\n## Skill Output:\n\n**Output Type(s):** [text, shell commands, configuration, guidance]\n\n**Output Format:** [Chinese prose with inline shell commands and script-generated JSON summaries]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Setup may produce QR-code pairing data; query responses should summarize stored data without exposing raw JSON or bearer tokens.]\n\n## Skill Version(s):\n\n2.0.0 (source: server release metadata and skill frontmatter)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Sync Apple Health data from iPhone to OpenClaw. One QR code scan — no manual setup. Works on Mac, Linux, and VPS. Skill: Apple Health → OpenClaw Owner: reffwu Summary: Sync Apple Health data from iPhone to OpenClaw. One QR code scan — no manual setup. Works on Mac, Linux, and VPS. Tags: apple:2.0.0, biometrics:1.0.0, chinese:1.0.0, fitness:2.0.0, health:2.0.0, healthkit:2.0.0, iphone:2.0.0, latest:2.0.0 Version history: v2.0.0 | 2026-05-08T17:04:42.334Z | user QR code pairing, auto VPS detection, direct OpenClaw gateway connecti","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1041,"uniquenessScore":52,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-12T01:17:05.668Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-12T01:17:05.668Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-13T13:13:29.826Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}