健康数据分析、评分计算与异常指标识别工具

0 0 更新时间: 2026-07-28 14:56:16

一个轻量级的开源技能,可输入体温、心率和步数等健康数据,自动计算健康评分(满分100分),并识别异常指标(如体温超范围、心率异常、运动不足)。适用于个人健康追踪、日常体检数据分析,输出结构化JSON结果,方便集成到其他应用。

安装
npx skills add https://github.com/maxoreric/sop-engine --skill health-analyze
技能详情 readonly

健康数据分析评分工具 —— 轻轻松松算出你的健康分

最近在忙一个个人健康管理的小项目,需要快速分析每天记录的体温、心率和步数,然后给出一个直观的评分。找了一圈开源方案,要么太复杂,要么全是英文文档看得头疼。最后发现了一个叫 health-analyze 的技能,说实话,它真的就是我想要的——简单、直接、代码少,而且评分规则写得明明白白。

今天就分享一下我怎么用这个工具的,以及一些使用中的小心得。如果你也在琢磨怎么给健康数据打分,或者想了解这种轻量级技能的设计思路,这篇应该够你看了。

这个技能到底是干什么的?

用大白话说,你给它发三条数据——今天的体温(比如37.2)、静态心率(比如75)、以及走了多少步(比如8500),它就能给你算一个总分(满分100),并指出来哪些指标可能有问题。

  • 体温:正常范围 36.0~37.5°C,在这个区间内得30分,否则0分并标记为异常。
  • 心率:正常范围 60~100 bpm,同样满分30分,否则0分异常。
  • 步数:≥10000步拿到40分满分;≥5000步但不够1万得30分;小于5000得0分,还会被标注“运动不足”。

三项加起来,就是你的健康评分。比如上面那个例子(37.2°C、75bpm、8500步):体温得30,心率得30,步数得30,总分90分,没有异常项。完美~

// 示例输入
{"date": "2026-01-20", "data": {"temperature": 37.2, "heart_rate": 75, "steps": 8500}}
// 预期的输出
{
  "status": "analyzed",
  "date": "2026-01-20",
  "health_score": 90,
  "analysis": {
    "temperature_ok": true,
    "heart_rate_ok": true,
    "steps_ok": true,
    "issues": []
  },
  "timestamp": "2026-01-20T10:30:00Z"
}

安装和上手,多简单呢?

因为它是基于 sop-engine 这个框架的 Skill,所以安装只用一个命令:

npx skills add https://github.com/maxoreric/sop-engine --skill health-analyze

等几秒钟就装好了。然后你把上面的 JSON 数据存成一个文件(比如 input.json),再运行:

cat input.json | npx skills run health-analyze

终端立刻打印出分析结果。是不是超快?连配置都不用写,零学习成本。而且这个技能是纯 JSON 输入输出,你完全可以在自己的脚本里调用,比如用 Python 的 subprocess 或者 Node 的 child_process 把数据传进去,拿到结果再渲染到前端。

我踩到的一个坑(以及怎么解决的)

第一次用的时候,我把步数写成了 "steps": "8500"(带引号字符串),结果技能报错了。后来翻了一下 SKILL.md 才发现它要求数值类型。虽然是基础问题,但提醒各位:输入数据里的温度、心率、步数都必须是数字(Number),不能加引号。另外,日期格式最好统一成 YYYY-MM-DD,否则时间戳那一栏可能解析错误。

还有一个我自己觉得挺有意思的点:技能默认把步数≥5000但<10000判定为正常(即 steps_ok: true),但只给30分而不是40分。这个设计很棒——它不会把运动不足和勉强及格混为一谈,评分更精细。如果你想改,比如把≥5000也变成满分,直接编辑安装目录下的 SKILL.md 文件,把步数评分规则改一下,再重跑就行。开源的好处就在这里。

什么时候会用到这个技能?

  • 个人健康日记:每天记录三样数据,晚上一键跑分,看看今天的“健康指数”是涨了还是跌了。
  • 智能设备数据聚合:如果手环或手表导出 JSON 格式的数据,你写个脚本从中提取体温、心率、步数,然后喂给 health-analyze,就能生成每天的报告。
  • 教学示例:它很适合当教材,用来展示“规则引擎”或“JSON 处理”的简单实践。因为逻辑透明,学生一看就懂。
  • 快速原型:你正在做一个健康相关的产品,暂时不想自己写评分逻辑,直接套用这个技能当 MVP,等用户多了再迭代。

一点吐槽和期待

这个技能目前只支持三个指标的简单线性评分,没有考虑年龄、性别、历史趋势等更复杂的因素。比如心率60以下对于运动员可能正常,但它一视同仁判为异常。所以如果你需要更专业的医学建议,还是得咨询医生。作为开源工具,它提供了很好的起点,你可以 fork 之后加更多高级规则(比如根据年龄调整心率范围)。

另外,目前没有图形界面,所有交互都靠命令行。不过对于开发者来说,这反而是优点——可以无缝集成到 CI/CD 或自动化工作流里。如果你实在不喜欢黑框框,也可以自己写个简单的 Web 页面,调用后端的技能。

总结一下

health-analyze 就像一把小而锋利的瑞士军刀,专门用来切健康数据这块小蛋糕。安装快、使用简单、输出结构清晰,而且完全开源。如果你跟我一样喜欢用命令行搞定一切,或者恰好需要一个轻量级健康评分引擎,强烈建议试试看。以后我可能会基于它做一个更完整的健康仪表盘,到时候再来分享。希望这篇能帮你少走弯路~