#0114 零代码,纯提示词:我用 AI Agent 搭了一套个人健康管理系统

type
Post
status
Published
date
Feb 11, 2026
slug
304a745569bb81c3a95bc8aa2a88d24a
summary
你的健康数据散落在五六个 App 里。Apple Watch 记步数,薄荷健康记饮食,体重秤有自己的 App,体检报告躺在医院小程序里。
tags
健康
OpenClaw
AI Agent
自动化
category
AI
icon
password

零代码,纯提示词:我用 AI Agent 搭了一套个人健康管理系统

你的健康数据散落在五六个 App 里。Apple Watch 记步数,薄荷健康记饮食,体重秤有自己的 App,体检报告躺在医院小程序里。每个 App 都很努力地给你推送通知,但你早就免疫了——因为那些提醒跟你的实际状态毫无关系。
"该运动了!" —— 我刚跑完 10 公里。
"注意休息!" —— 现在下午两点,我精神得很。
这不是提醒,这是骚扰。
我花了一段时间,用 AI Agent 搭了一套完整的健康管理系统。不写代码,全程用提示词对话完成。数据自动采集、智能提醒、Notion 仪表盘、体检追踪、任务同步,一条龙。
这篇文章不是"我的健康心得分享",而是一份系统架构设计指南。你看完之后,能照着搭一套自己的。

为什么现有方案全部不及格

三个核心问题:
数据孤岛。 Apple Health 是个不错的数据汇聚点,但它的数据基本被锁死在 iPhone 里。你在 Mac 上打不开,在网页上看不到,想导出得折腾半天。Google Fit 能跨平台,但它不搬运营养数据。结果就是:你的健康画像永远是碎片化的。
提醒是假的。 所有健康 App 的提醒逻辑都是基于固定时间——早上 8 点提醒喝水,晚上 10 点提醒睡觉。它们完全不知道你昨晚只睡了 4 小时,也不知道你已经三天没运动了。真正有用的提醒应该是数据驱动的:连续两天睡不够 6 小时才提醒,不是每天机械重复。
没有洞察。 你的静息心率这周比上周高了 5 bpm,这可能意味着你在生病前兆、压力过大、或者训练过度。但没有任何 App 会告诉你这件事,因为它们只看单日数据,不做趋势分析。
AI Agent 能解决这三个问题,而且你不需要写一行代码。

架构设计:数据怎么流

整个系统的数据流长这样:
为什么中间要经过 Google Fit?因为 Apple Health 的数据在 Mac 上几乎无法直接读取(后面会讲这个坑),而 Google Fit 提供了标准的 REST API,Agent 可以直接调用。
技术选型:我用的是 OpenClaw,一个可以本地部署的 AI Agent 平台。它能调 API、操作文件、定时执行任务,关键是——所有这些都通过自然语言提示词来配置。

第一步:数据采集层

这是整个系统的地基。你需要让 Agent 每天定时从 Google Fit 拉取健康数据。
Agent 会帮你完成 OAuth 认证流程、写好 API 调用逻辑、处理数据格式转换。你不需要知道 Google Fit 的 API endpoint 是什么,不需要手动拼 HTTP 请求。你只要描述清楚"我要什么数据、存到哪"就行。
存下来的 JSON 长这样:
每天一个文件,干干净净。这些 JSON 就是你的健康数据资产,完全在本地,不依赖任何云服务。

第二步:Notion 仪表盘

数据存了,得看得见才有用。Notion 是目前最适合做个人仪表盘的工具——灵活、好看、API 友好。
Agent 会通过 Notion API 一个个创建这些数据库,配好字段类型、视图、筛选条件。之后每天数据同步的时候,自动往对应数据库里插入新记录。
你打开 Notion,看到的就是一个完整的健康仪表盘。睡眠趋势、运动频率、体重变化,一目了然。

第三步:智能提醒引擎

这是整个系统最有价值的部分。传统提醒是"每天 X 点提醒你做 Y",智能提醒是"当数据显示异常时才提醒你"。
看出区别了吗?这套提醒不是闹钟,是一个小型规则引擎。它读你的历史数据,做比较,发现异常才出声。
实际触发时,你收到的提醒长这样:
⚠️ 运动缺失提醒 你已经连续 4 天没有运动记录,步数分别是 3200、4100、2800、3500。 建议今天安排 30 分钟有氧运动。
比"该运动了!"有用一万倍。

第四步:睡眠双评分系统

这个设计是我觉得最聪明的部分。
睡眠质量有两个维度:客观数据和主观感受。你可能数据上睡了 8 小时、深睡比例正常,但醒来就是觉得累。也可能只睡了 6 小时,但精神奕奕。单靠数据评分是不够的。
这个设计的精妙之处在于:当两个评分长期不一致时,说明要么你的评分标准在变化,要么有某种数据没被采集到的因素在影响你的睡眠感受(比如梦境质量、环境噪音)。这种洞察是任何单一维度评分给不了你的。

第五步:体检管理

大多数人对体检的态度是:做完就忘,报告压箱底,下次该做什么检查全凭感觉。
有了这套系统,你的体检不再是随缘行为。Notion 时间轴上一眼就能看到全年的体检分布,哪些快到期了,哪些逾期了,清清楚楚。

第六步:任务双向同步

健康管理最终会产生行动项——"预约牙科"、"买维生素 D"、"约跑步"。这些任务需要进入你的任务管理系统,不能散落在提醒消息里看完就忘。
这样形成了完整闭环:数据触发提醒 → 提醒生成任务 → 任务完成更新数据。没有东西会掉到缝隙里。

每日运行流程

所有模块搭好之后,系统每天自动运行,大概是这样的节奏:
你需要做的事情:每天花 2 分钟看一眼晨报,给昨晚睡眠打个主观分。就这些。

踩过的坑(认真读这段)

搭这套系统不是一帆风顺的。几个大坑,帮你避一下:

Apple Health 数据壁垒

这是最大的坑。Apple Health 的数据存在 iPhone 的加密数据库里,macOS 上没有原生方式读取。HealthKit 框架只在 iOS/watchOS 上可用。这意味着你的 AI Agent 如果跑在 Mac 或服务器上,根本碰不到 Apple Health 的数据
解决方案:让 Apple Health 的数据先同步到 Google Fit(通过 Health Sync 之类的 App),然后 Agent 从 Google Fit 的 API 读取。多了一跳,但至少通了。

Google Fit 不搬运所有数据

Google Fit 的 API 覆盖了步数、心率、睡眠、体重、运动,但不包括营养数据。如果你用薄荷健康之类的 App 记录饮食,这部分数据需要另找出路(比如直接让 Agent 调那个 App 的 API,或者手动输入)。

OAuth Token 过期

Google Fit API 用 OAuth 2.0 认证。Access token 有效期通常只有 1 小时,refresh token 虽然长期有效,但也会在某些情况下失效(比如你改了 Google 密码、超过 6 个月没使用等)。

App 需要手动打开才同步

很多健康 App(包括一些手表配套 App)不会在后台自动同步数据到 Apple Health 或 Google Fit。你得打开 App 才会触发同步。这意味着如果你忘了打开 App,Agent 拉到的就是空数据。
没有完美解决方案。我的做法是让 Agent 检测到数据缺失时提醒我:"今天没有拉到体重数据,可能需要打开 XX App 同步一下。"

Token 和成本优化

健康数据每天的量不大,但如果你的 Agent 每次都把完整的提示词模板+历史数据+规则全部塞进去,token 消耗会很可观。
几个优化思路:
  • 数据采集和规则判断分开执行,不要一个大 prompt 搞定所有事
  • 历史数据只传最近 7 天的摘要,不要传原始 JSON
  • 规则引擎的逻辑固化成脚本后,日常运行不需要每次重新"理解"规则

数据安全

健康数据是敏感个人信息。几个原则:
  • 本地优先:原始数据存本地文件,不要扔第三方云
  • Notion 脱敏:Notion 数据库如果分享给别人看,注意控制字段可见性
  • API 凭证管理:Google OAuth 的 client secret、refresh token 这些,用环境变量管理,不要硬编码在提示词里

这套系统真正改变了什么

搭完跑了一段时间,最大的变化不是"我更健康了"——这套系统不会替你运动,不会替你早睡。
真正的变化是信息差被消除了
以前,你"觉得"自己最近睡得还行。现在,你"知道"自己过去一周平均睡 6.8 小时,比上周少了 40 分钟,入睡时间平均推迟了 25 分钟。
以前,你"觉得"自己运动够了。现在,你"知道"自己这个月只跑了 3 次,周均运动时长 45 分钟,比上月下降 30%。
数据不说谎。当你清楚地看到趋势在往坏的方向走,你自然会行动。不需要提醒,不需要鸡汤,一张趋势图比一万句"你该运动了"管用。

总结:你需要的不是更好的健康 App

你需要的是一个能把所有数据串起来、按你的规则做判断、在对的时间给你有用信息的系统。
这套系统用 AI Agent + 提示词就能搭出来。不需要 Python,不需要数据库知识,不需要 DevOps 技能。你需要的只是:
  1. 想清楚你要追踪哪些数据
  1. 想清楚什么情况下需要被提醒
  1. 用自然语言告诉 Agent
剩下的,让 Agent 去干。
这大概就是 AI Agent 最实际的应用场景之一——不是聊天,不是写文案,而是帮你搭建一套原本需要工程师才能实现的自动化系统。用对话代替编程,用提示词代替代码。
门槛从来没有这么低过。
Loading...

© xiyu 2022-2026