自建项目 · 独立负责,0→1 设计与开发 · 2025.10~至今Personal project · Solo, 0→1 design and build · Oct 2025 – Present

Health.AIO|把健康管理提前到日常Health.AIO | Proactive health, every day

不必等到明显不适,才开始关注自己的健康。Health.AIO 结合身体状态、生活记录和当天安排,给出力所能及的小调整,第二天再按记录核对做没做到,目标是帮助用户一点点养成适合自己的健康习惯。Caring for your health can begin in everyday life, before noticeable discomfort. Health.AIO brings body signals, daily records and plans together to suggest manageable adjustments, then checks the next day's records to see whether they happened. The aim is to help people build, step by step, habits that fit their lives.

  • 项目背景:睡眠、运动、饮食、屏幕时间分散在多个 App,各按大众标准打分,用户看完仍不知道今天该改什么。
  • 工作内容:对比 Oura、WHOOP、Apple 健康等产品后定义需求,借助 AI 编程工具独立开发:整合手表、手机、电脑和晨间自评 4 个来源的数据,和用户自己近 28 天比,每天早上给出至多 3 条建议,次日按数据核对,多次没做到就给更小的一步。
  • 项目结果:已开源并有在线演示;前身个人数字分身已自用一年、迭代 4 版,曾因数据中断 5 天没发现而加了每日数据检查。
  • Sleep, exercise, food and screen time sit in separate apps, each scored against population norms; after looking, people still don't know what to change today.
  • Compared existing products (Oura, WHOOP, Apple Health) to define the need, then built it solo with AI coding tools: it brings together four sources (watch, phone, Mac and a morning check-in), compares with the user's own last 28 days, names at most three things to adjust each morning, checks the next day whether they happened, and offers a smaller step when one keeps failing.
  • Open-sourced with a live demo; grew out of my Personal Digital Twin, used daily for a year through four versions (e.g. after my data stopped for 5 days unnoticed, added a daily check that each device's data has arrived).

这项应用从哪里来Where this application comes from

AIO 是从AIO is a health-focused application split out from the 个人数字分身Personal Digital Twin拆出的健康子项目,训练后恢复只是其中一个场景。它把重点放在身体状态、生活记录和后续变化的数据上。. Post-workout recovery is one use case within it, with a focus on data about body signals, everyday records and subsequent changes.

设计上,聚焦健康之后,“我的想法和原则”这部分可以先缩小成几条相对稳定、讲得清依据的健康原则,再让每天变化的数据参与判断。这是范围上的取舍;当前公开版仍用写明的规则给建议。As a design choice, a health-only scope could use a relatively stable, explainable set of domain principles while changing data informs daily decisions. The current public version still provides suggestions through explicit rules.

课程项目 In the coursework project Ready to Train 里,状态评分和人体酸痛图已复用为这里的晨间自评;原项目仍单独展示。, the readiness rating and soreness body map have been reused for the morning check-in here; the original project is still shown separately.

我的角色My role
产品设计、规格和验收;代码由 AI 编写Product design, specs and acceptance; AI writes the code
时间When
2026.10 拆出开源版;前身个人数字分身始于 2025.10Open-source AIO split out in Oct 2026; its predecessor, the Personal Digital Twin, began in Oct 2025
组成Parts
Mac 和 iPhone 上的两个采集小 App、在自己电脑上运行的网页看板、一组写明依据的规则Two small collector apps for Mac and iPhone, a web dashboard that runs on your own computer, a written-down set of rules
现状Status
开源,有在线演示(虚构数据);目前只有我自己在用Open source with a live demo on made-up data; so far I am the only user
使用情境示例An example scenario

练完的第二天,我该怎样安排?The morning after a workout: how should I plan today?

在下一次训练开始前,把感受、训练记录和恢复线索放在一起看。Bring personal experience, training records and recovery signals together before the next session.

“昨天训练过,今天身体疼痛,也觉得疲惫。我既担心勉强继续,也不确定原计划是否适合现在的状态。今天到底该怎样安排?”“I trained yesterday. Today I feel sore and tired. I am worried about pushing through, and unsure whether my original plan fits how I feel now. How should I plan today?”

Health.AIO 从这个困惑出发:打开 App 后,先把自己的感觉留下来,再结合训练和恢复记录看已有线索。疼痛是需要认真对待的信息;手表数据接近平常,也不能据此否定身体的不适。Health.AIO starts with that uncertainty. On opening the app, I record how I feel, then look at the available training and recovery information together. Pain deserves attention; readings close to my usual range do not invalidate discomfort.

  • 01 · 先记录感受01 · Record how I feel晨间记录整体感觉,并在身体图上标记酸痛部位。练后记录练了哪里,之后两个早晨优先回看这些部位。Log my morning feeling and mark sore regions on the body map. After noting which regions a session trained, the next two morning check-ins ask about them first.
  • 02 · 再对照恢复背景02 · Review the context把训练量、昨晚睡眠、心率变异性(HRV)和静息心率与自己的平常对照;感受、数据和缺失项都保留下来。Compare training load, last night's sleep, heart-rate variability (HRV) and resting heart rate with my usual patterns, keeping personal experience and missing data visible.
  • 03 · 重新审视当天计划03 · Reconsider today's plan信息够时给出日常调整建议,并列出依据。App 不替我判断是否受伤,或继续训练是否安全。When the available information supports it, show everyday adjustments and their reasons so I can reconsider my plan. The app does not determine injury or clear me to train safely.

训练后它会继续关注,在下一次行动前给出调整线索。目前需要打开 App 查看,页面外的自动提醒尚未实现。Being proactive here means following up after training and offering useful context before the next decision. For now, I need to open the app; reminders outside the page are not implemented.

使用边界:如果疼痛剧烈、持续加重,或伴随明显肿胀、负重困难,应先停止训练并寻求专业评估。这是日常记录辅助决策的示例,不是疼痛诊断或疾病预防效果的证明。Scope: severe or worsening pain, marked swelling or difficulty bearing weight calls for stopping exercise and seeking professional assessment. This scenario illustrates support from daily records, not pain diagnosis or evidence of disease prevention. 疼痛说明(IASP)Understanding pain (IASP) · 运动损伤指引(NHS)Injury guidance (NHS)

演示Demo

试一试开源版Try the open-source version

演示里的数据都是编的,不是我的真实记录。从“今天”页开始,左边菜单里的每一页都能点开。The data in the demo is made up, not my real records. Start on the Today page; every page in the menu on the left opens.

wannian001.github.io/proactive-health-aio/新窗口打开Open in a new tab

开源版在手机上也能用,可以直接打开演示。The open-source version works on a phone too, so you can open the demo directly.

打开演示Open the demo

要解决的问题The problem

健康数据其实已经在记,只是散在各处:手表里有睡眠和心率,饮食 App 里有每一餐,屏幕使用时间里有手机,日历里有这周多忙。每个 App 只回答自己的问题,拿大众标准打分,还得自己点开看。没有一处会把“只睡了 6 小时、连着三晚吃得晚、今天又排了力量训练”放在一起,告诉你今天该改什么。The data is already being recorded, in pieces: the watch has sleep and heart rate, a food app has the meals, Screen Time has the phone, the calendar has the week's load. Each app answers its own question, scores you against population norms, and only when you open it. Nothing puts “slept 6 hours, ate late three nights running, strength training planned for today” side by side and says what to change today.

给谁用Who it is for

先是我自己:我想按自己的数据一点点改习惯,不想一次改一大截。开源版写给同样戴 Apple Watch、愿意把数据留在自己电脑上的人;目前还只有我在用。Me first: I wanted to change my habits a little at a time, based on my own data, rather than in one big jump. The open-source version is written for people who also wear an Apple Watch and want their data to stay on their own computer; so far I am its only user.

关键判断Key decisions

我做的四个取舍Four trade-offs I made

  • 把自己的平常与目标分开看Separate my usual patterns from my goals

    用自己近 28 天的记录看变化,也对照自己设定的目标。“和平常一样”不自动代表健康;自己的平常帮助发现变化,目标帮助确定调整方向。Use my previous 28 days to notice changes, alongside the goals I have set. Being usual does not automatically mean being healthy: a personal baseline describes change, while goals give it direction.

  • 用写明的规则给建议,不让大模型写Written-down rules give the advice, not an AI model

    每天早上最多给 3 条调整建议,训练、睡眠、饮食、白天的屏幕各最多一条,每条都写明依据的数字。规则全写在代码和页面上:健康建议得说清为什么,所以建议不交给大模型写。大模型只用在一个可选的地方:用一句话说哪里紧,由 Claude 识别出部位和感觉;默认关闭,给哪些动作仍按固定规则。Each morning it names at most three things to adjust, at most one each for training, sleep, food and daytime screens, each with the numbers behind it. Every rule is written down in the code and on the page: health advice needs a stated reason, so no AI model writes it. The one optional use of a model: describe in a sentence where you feel tight, and Claude picks out the places and how they feel. It is off by default, and the moves it leads to still come from fixed rules.

  • 第二天跟进,不重复提醒Follow up the next day, no repeated reminders

    对能从记录中核验的建议,第二天检查是否做到;缺少记录就保留未知。如果最近 5 次有记录的尝试里有 3 次没做到,就提供更小的目标、手机限额设置或“如果……就……”计划,帮助找到做得到的一步。For advice that can be checked from records, review whether it happened the next day; missing records stay unknown. If it was not met on three of the last five recorded attempts, offer a smaller target, a phone setting or an if-then plan to make the next step manageable.

  • 数据只在自己电脑上The data stays on your own computer

    不走云,也不在后台同步:iPhone App 打开时把 Apple 健康的数据发到自己的电脑。缺的数就是缺,不当成 0;一个人的数据里只看关联,不说因果。No cloud and no background sync: the iPhone app sends Apple Health data to your own computer while it is open. A missing number stays missing, never a zero; in one person's data it reports associations, never causes.

它怎么运转How it works

每天跑一圈One loop a day

  1. 记录:设备已经记下的Record: what devices already log
  2. 对比:和自己的平常比Compare: with my own normal
  3. 调整:今天最多 3 条Adjust: three things at most
  4. 跟进:第二天按数据核对Follow up: checked next day
  5. 回看:后续状态怎样变化Review: how later days compare

与个人数字分身的关系How it relates to the Personal Digital Twin

上方提到的一年使用与四版迭代,都是个人数字分身的经历;认知整理、生活记录和多 AI 协作仍属于个人数字分身,不是 AIO 开源版的功能。The year of use and four versions mentioned above are the Personal Digital Twin's history. Personal knowledge, daily records and collaboration across AI assistants remain part of the Personal Digital Twin, not the AIO open-source app's feature list.

了解个人数字分身与迭代过程 →See the Personal Digital Twin and its history →

现状Where it stands

做到的,还没做到的Done, and not there yet

  • 做到:开源,有在线演示;中英文、浅色深色、手机和电脑都能用;Apple 健康导出包一次就能导进大部分数据。Done: open source with a live demo; English and Chinese, light and dark, phone and desktop; one Apple Health export brings in most of the data.
  • 还在验证:目前只有我自己在用,后续状态的对比只说明关联,不能证明建议带来改善;疾病预防效果尚未验证,页面外的自动提醒也尚未实现。Still being evaluated: I am its only user. Later-state comparisons show associations, not proof that the advice caused improvement. Disease-prevention effects have not been validated, and reminders outside the page are not implemented.
  • 边界:管的是生活习惯,不是医疗建议。开源版用虚构数据,我的真实数据和自用的私有仓库不公开。Limits: it is about habits, not medical advice. The open-source version runs on made-up data; my real data and private repository are not shared.