TTokenySpace
返回 Skills 列表

Health Toolkit Free

个人健康管理工具箱,支持运动、睡眠、饮食记录及基础健康指标分析与目标追踪,本地存储保障隐私安全。

#中文
0

安装到 Tokeny(自动)

下载 ZIP
安装"health-toolkit-free"技能
技能信息:
- 名称: Health Toolkit Free
- 标识: health-toolkit-free
- 描述: 个人健康管理工具箱,支持运动、睡眠、饮食记录及基础健康指标分析与目标追踪,本地存储保障隐私安全。
- 版本: 1.0.0
下载地址:
https://www.tokeny.space/api/skills/health-toolkit-free/download
继续

复制上方内容到 Tokeny 客户端并在会话中发送即可自动安装;也可直接 下载 ZIP并拖动到技能窗口安装。

SKILL.md

健康管理工具箱 (免费版)

概述

本工具为个人用户提供完整的健康管理工具箱,涵盖运动记录、睡眠追踪、饮食日记、健康指标分析等功能。所有数据本地存储,保护隐私。通过可视化与趋势分析,帮助用户养成健康习惯,达成健康目标。

免费版聚焦个人健康管理,适合健身爱好者、关注健康的人士以及希望系统管理自身健康数据的人。

核心能力

能力模块描述免费版支持
运动记录跑步、力量、骑行等记录支持
睡眠追踪睡眠时长、质量评估支持
饮食日记食物摄入、热量计算支持
健康指标体重、心率、血压记录支持
趋势分析数据可视化与趋势支持
目标设定健康目标与进度追踪支持
健康报告周/月度健康报告基础
多用户管理家庭成员管理不支持 (升级 PRO)
智能建议AI 个性化建议基础
数据同步可穿戴设备同步不支持 (升级 PRO)
专业报告医疗级报告不支持 (升级 PRO)
异常预警健康风险预警不支持 (升级 PRO)

核心功能执行

input_params参数进行配置。

输入: 用户提供核心功能执行所需的指令和必要参数。 处理: 解析核心功能执行的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回核心功能执行的响应数据,包含状态码、结果和日志。

  • 执行此能力时使用input_params参数,支持创建/查询/导出操作

参数配置与调用

config_options参数进行配置。

输入: 用户提供参数配置与调用所需的指令和必要参数。 处理: 解析参数配置与调用的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回参数配置与调用的响应数据,包含状态码、结果和日志。

  • 执行此能力时使用config_options参数,支持修改/重置/导入操作

结果处理与输出

output_format参数进行配置。

输入: 用户提供结果处理与输出所需的指令和必要参数。 处理: 解析结果处理与输出的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回结果处理与输出的响应数据,包含状态码、结果和日志。

  • 执行此能力时使用output_format参数,支持导出/保存/转换操作 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:个人健康数据管理、支持运动、饮食记录与基础健、康分析、面向个人用户的健、康管理工具箱、帮助用户记录与分、析健康数据、核心能力、健康指标分析、适用场景、个人健身管理、健康习惯养成、减肥塑形、健康自检、差异化、免费版聚焦个人健、康数据管理、本地存储、隐私安全、适用关键词、健康管理、健康分析等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持。

使用场景

场景一: 运动记录与跟踪

记录每次运动并查看进度。

import json
from datetime import datetime
from pathlib import Path
# ...
class WorkoutTracker:
    def __init__(self, data_dir="~/.health/workouts"):
        self.data_dir = Path(data_dir).expanduser()
        self.data_dir.mkdir(parents=True, exist_ok=True)
# ...
    def log_workout(self, workout_type, duration_min, intensity, notes=""):
        """记录一次运动"""
        workout = {
            "id": f"w{datetime.now().strftime('%Y%m%d%H%M%S')}",
            "date": datetime.now().strftime("%Y-%m-%d"),
            "time": datetime.now().strftime("%H:%M"),
            "type": workout_type,
            "duration_min": duration_min,
            "intensity": intensity,  # low, medium, high
            "notes": notes,
        }
        path = self.data_dir / f"{workout['id']}.json"
        path.write_text(json.dumps(workout, ensure_ascii=False, indent=2))
        return workout
# ...
    def weekly_summary(self):
        """周度运动汇总"""
        from datetime import timedelta
        week_ago = (datetime.now() - timedelta(days=7)).strftime("%Y-%m-%d")
        workouts = []
        for f in self.data_dir.glob("*.json"):
            w = json.loads(f.read_text())
            if w["date"] >= week_ago:
                workouts.append(w)
# ...
        return {
            "total_workouts": len(workouts),
            "total_duration": sum(w["duration_min"] for w in workouts),
            "by_type": self._group_by(workouts, "type"),
            "avg_intensity": self._avg_intensity(workouts),
        }
# ...
    def _group_by(self, items, key):
        groups = {}
        for item in items:
            groups.setdefault(item[key], []).append(item)
        return {k: len(v) for k, v in groups.items()}
# ...
    def _avg_intensity(self, workouts):
        if not workouts: return "N/A"
        scores = {"low": 1, "medium": 2, "high": 3}
        avg = sum(scores[w["intensity"]] for w in workouts) / len(workouts)
        return {1: "low", 2: "medium", 3: "high"}.get(round(avg), "medium")
# ...
tracker = WorkoutTracker()
tracker.log_workout("running", 30, "medium", "5公里晨跑")
tracker.log_workout("strength", 45, "high", "胸+三头")
print(tracker.weekly_summary())

场景二: 睡眠质量追踪

记录睡眠并分析质量。

class SleepTracker:
    def __init__(self, data_dir="~/.health/sleep"):
        self.data_dir = Path(data_dir).expanduser()
        self.data_dir.mkdir(parents=True, exist_ok=True)
# ...
    def log_sleep(self, bed_time, wake_time, quality, disturbances=0):
        """记录睡眠"""
        from datetime import datetime
        bed = datetime.strptime(bed_time, "%Y-%m-%d %H:%M")
        wake = datetime.strptime(wake_time, "%Y-%m-%d %H:%M")
        duration = (wake - bed).total_seconds() / 3600
# ...
        record = {
            "date": bed.strftime("%Y-%m-%d"),
            "bed_time": bed_time,
            "wake_time": wake_time,
            "duration_hours": round(duration, 2),
            "quality": quality,  # poor, fair, good, excellent
            "disturbances": disturbances,
        }
        path = self.data_dir / f"sleep_{record['date']}.json"
        path.write_text(json.dumps(record, ensure_ascii=False, indent=2))
        return record
# ...
    def sleep_trend(self, days=30):
        """睡眠趋势分析"""
        records = []
        for f in sorted(self.data_dir.glob("*.json"))[-days:]:
            records.append(json.loads(f.read_text()))
# ...
        if not records:
            return "无数据"
# ...
        avg_duration = sum(r["duration_hours"] for r in records) / len(records)
        quality_dist = self._group_by(records, "quality")
# ...
        return {
            "avg_duration_hours": round(avg_duration, 2),
            "quality_distribution": quality_dist,
            "recommendation": self._recommendation(avg_duration),
        }
# ...
    def _recommendation(self, avg_hours):
        if avg_hours < 6:
            return "睡眠不足,建议保证 7-9 小时睡眠"
        elif avg_hours > 9:
            return "睡眠过长,建议调整作息"
        else:
            return "睡眠时长良好,继续保持"
# ...
    def _group_by(self, items, key):
        groups = {}
        for item in items:
            groups[item[key]] = groups.get(item[key], 0) + 1
        return groups

场景三: 饮食与热量管理

记录饮食并管理热量摄入。

class DietTracker:
    # 常见食物热量 (千卡/100g)
    FOOD_CALORIES = {
        "米饭": 116, "面条": 110, "馒头": 223, "面包": 313,
        "鸡蛋": 144, "牛奶": 54, "鸡胸肉": 133, "牛肉": 125,
        "鱼": 145, "豆腐": 81, "西兰花": 34, "苹果": 52,
        "香蕉": 89, "可乐": 42, "咖啡": 1,
    }
# ...
    def log_meal(self, meal_type, foods):
        """记录一餐"""
        total_calories = 0
        items = []
        for food, grams in foods:
            cal_per_100g = self.FOOD_CALORIES.get(food, 100)  # 默认 100
            calories = cal_per_100g * grams / 100
            total_calories += calories
            items.append({"food": food, "grams": grams, "calories": round(calories, 1)})
# ...
        record = {
            "date": datetime.now().strftime("%Y-%m-%d"),
            "time": datetime.now().strftime("%H:%M"),
            "meal_type": meal_type,  # breakfast, lunch, dinner, snack
            "items": items,
            "total_calories": round(total_calories, 1),
        }
        return record

不适用场景

以下场景健康管理工具箱免费版不适合处理:

  • 实时流数据处理
  • 小规模数据手动分析
  • 非结构化文本情感分析

触发条件

需要数据分析、报表生成、统计洞察、数据可视化时使用。不适用于非本工具能力范围的需求。

快速开始

Step 1: 初始化健康数据目录

mkdir -p ~/.health/{workouts,sleep,diet,metrics,goals}
echo '{"version":"1.0","edition":"free"}' > ~/.health/config.json

Step 2: 记录第一条数据

from health_toolkit import WorkoutTracker
tracker = WorkoutTracker()
tracker.log_workout("running", 30, "medium")

Step 3: 查看分析报告

print(tracker.weekly_summary())
# 输出: 本周运动 5 次,总时长 180 分钟,平均强度中等

示例

个人健康配置

# ~/.health/config.yaml
profile:
  name: 你的名字
  age: 30
  gender: male
  height_cm: 175
  weight_kg: 70
  activity_level: moderate  # sedentary, light, moderate, active
# ...
goals:
  weekly_workouts: 4
  weekly_duration_min: 180
  daily_steps: 10000
  daily_calories: 2000
  sleep_hours: 8
# ...
tracking:
  workouts: true
  sleep: true
  diet: true
  weight: true
  heart_rate: false  # 需要设备
# ...
storage:
  type: local
  path: ~/.health/
  backup: weekly
# ...
notifications:
  workout_reminder: "18:00"
  sleep_reminder: "22:30"
  diet_reminder: ["08:00", "12:00", "18:00"]

目标追踪模板

class GoalTracker:
    def __init__(self, config_path="~/.health/goals.yaml"):
        self.goals = self._load_goals(config_path)
# ...
    def progress(self, metric, current_value):
        """计算目标进度"""
        target = self.goals.get(metric)
        if not target:
            return None
        progress_pct = (current_value / target) * 100
        return {
            "metric": metric,
            "current": current_value,
            "target": target,
            "progress_pct": round(progress_pct, 1),
            "status": "on_track" if progress_pct >= 80 else "behind",
        }
# ...
    def weekly_report(self):
        """生成周度报告"""
        return {
            "workouts": self.progress("weekly_workouts", 3),
            "duration": self.progress("weekly_duration_min", 120),
            "steps": self.progress("daily_steps", 8000),
            "sleep": self.progress("sleep_hours", 7.5),
        }

最佳实践

1. 数据记录习惯

养成记录习惯:
- 运动后立即记录 (避免遗忘)
- 每晚固定时间记录睡眠
- 每餐后记录饮食
- 每周固定时间称重
# ...
数据越完整,分析越准确。

2. 目标设定原则

def set_smart_goal(metric, current, target, timeframe_weeks):
    """SMART 目标设定"""
    weekly_increase = (target - current) / timeframe_weeks
    return {
        "metric": metric,
        "current": current,
        "target": target,
        "timeframe_weeks": timeframe_weeks,
        "weekly_target": current + weekly_increase,
        "realistic": abs(weekly_increase / current) < 0.1,  # 每周增长不超过 10%
    }

3. 数据备份

# 定期备份健康数据
tar -czf health-backup-$(date +%Y%m%d).tar.gz ~/.health/
# ...
# 同步到云盘 (可选)
rsync -av ~/.health/ ~/cloud/health-backup/

常见问题

Q1: 数据存储在哪里?

所有数据存储在本地 ~/.health/ 目录,JSON 格式,完全在用户控制下。

Q2: 支持哪些运动类型?

跑步、骑行、游泳、力量训练、瑜伽、徒步、球类等主流运动。

Q3: 可以同步可穿戴设备吗?

免费版不支持自动同步。需要手动记录或导入 CSV。可穿戴设备同步需要 PRO 版本。

Q4: 食物热量数据库准确吗?

提供常见食物热量参考,精度约 90%。专业营养分析需要 PRO 版本。

Q5: 如何分析健康趋势?

免费版提供周/月度趋势分析。长期深度分析 (年度对比、季节性等) 需要 PRO 版本。

依赖说明

运行环境

  • Agent 平台: 支持 SKILL.md 规范的任意 AI Agent (Claude Code、Cursor、Codex、Gemini CLI 等)
  • 操作系统: Windows / macOS / Linux
  • 存储: 本地文件系统,建议预留 100MB

依赖详情

依赖项类型是否必需获取方式
LLM API推理服务必需由 Agent 内置 LLM 提供
Python 3.8+运行时推荐python.org 下载
PyYAMLPython 库可选pip install pyyaml

API Key 配置

# 免费版无需外部 API Key
# 所有数据本地存储
# ...
# 可选: 个人偏好
export HEALTH_USER_NAME="你的名字"
export HEALTH_DATA_DIR="~/.health"

可用性分类

  • 分类: MD+EXEC (Markdown 指令 + 命令行执行)
  • 说明: 本 Skill 通过自然语言指令驱动 Agent 管理个人健康数据,所有数据本地存储
  • 免费版限制: 单用户、本地存储、无设备同步、基础分析、无异常预警

错误处理

错误场景原因处理方式
配置错误参数缺失或格式错误检查依赖说明中的配置要求
运行时错误运行环境不满足确认运行环境符合依赖说明
网络错误连接超时或不可达执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案

已知限制

  • 本地运行,不支持多设备同步

输出格式

{
  "success": true,
  "data": {
    "result": "健康管理工具箱免费版处理结果",
    "execution_time": "0.5s",
    "metadata": {
      "version": "1.0",
      "processor": "healthkit"
    }
  },
  "execution_log": ["解析输入参数", "执行核心处理", "格式化输出结果"],
  "error": null
}

评论

加载中…