360 Secure SkillHub
360 安全技能中心

keep2api

通过 scripts/sync.py 登录 Keep 账号,拉取 running/plank/all 运动记录,支持按日期与数量过滤,输出格式化的运动汇报文本,并把标准化记录追加写入工作区 memory/fitness_log.json;账号凭证需由环境变量或本地配置文件提供。

i-kirito
i-kirito
热度 20.85
最近更新 2026-03-26 09:41:50
分类:生活依赖:代码执行 / 读写文件 / 第三方 API应用场景:健康 / 数据处理 / 自动化脚本 / 报告撰写

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add keep2api
Metadata
name
keep2api
description
同步 Keep 运动数据,统计跑步/运动记录。Use when: (1) 用户说同步运动数据/查跑步记录, (2) 查看最近运动统计, (3) 跑步后自动汇报成绩。NOT for: 非运动相关查询。
metadata
{"openclaw":{"requires":{"python":["requests"],"env":["KEEP_MOBILE","KEEP_PASSWORD"]}}}

Keep2API

使用 scripts/sync.py 拉取 Keep 运动记录,并把结果追加写入工作区内的 memory/fitness_log.json。

账号配置

不要把真实手机号和密码写进 skill。

优先使用环境变量:

  • KEEP_MOBILE
  • KEEP_PASSWORD

也支持本地配置文件:

  • 路径:~/.openclaw/fitness-tracker.json
  • 内容:
{
  "mobile": "你的Keep手机号",
  "password": "你的Keep密码"
}
  • 登录接口:POST https://api.gotokeep.com/v1.1/users/login
  • Header:User-Agent: Keep/2.80.0 (iPhone; iOS 16.0)
  • 返回 data.token 用于后续 Bearer 认证
  • 建议使用次要账号,不要在共享环境里暴露主账号密码

本 skill 不在文档或代码中内置真实凭证。

数据保存

  • 运动日志:工作区 memory/fitness_log.json
  • 本地凭证配置:~/.openclaw/fitness-tracker.json

脚本

  • 路径:scripts/sync.py
  • 功能:
    1. 登录 Keep 获取 token
    2. 拉取 running / plank / all 运动记录
    3. 按需过滤日期与数量
    4. 输出格式化汇报
    5. 追加写入 memory/fitness_log.json

命令参数

  • --type
    • 可选:running、plank、all
    • 默认:running
  • --limit
    • 整数,限制返回记录数量
    • 默认:10
  • --date
    • 可选,格式:YYYY-MM-DD
    • 仅保留指定日期的记录

用法示例

python3 scripts/sync.py
python3 scripts/sync.py --type running --limit 5
python3 scripts/sync.py --type plank --date 2026-03-18
python3 scripts/sync.py --type all --limit 20

核心 API

  • keep_login()
    • 请求 POST https://api.gotokeep.com/v1.1/users/login
    • 返回 token
  • get_workout_records(token, workout_type="running", limit=10)
    • 请求 GET https://api.gotokeep.com/pd/v3/stats/detail?dateUnit=all&type={workout_type}&lastDate=0
    • 返回标准化后的运动记录列表
  • format_report(records)
    • 输出包含:日期 / 课程名 / 时长 / 卡路里 / 配速
  • sync_to_log(records)
    • 追加写入工作区 memory/fitness_log.json

数据字段说明

字段 说明
distance 距离(米)
kmDistance 距离(公里)
duration 时长(秒)
calorie 卡路里(kcal)
averagePace 平均配速(秒/公里)
averageSpeed 平均速度(km/h)
doneDate 完成时间(UTC)

输出格式

收到“同步运动 / 查跑步记录”时:

  1. 运行 scripts/sync.py
  2. 读取标准输出并返回给用户

示例:

🏃 运动记录
1. 日期:2026-03-16
   课程名:跑步
   时长:29m00s
   卡路里:254 kcal
   配速:13'22"/km

可选扩展

如果调用方有自己的体重记录流程,可以把体重数据一并写入 memory/fitness_log.json,例如:

{
  "weight": [
    {"date": "2026-03-16", "kg": 60.5}
  ],
  "runs": []
}

安全提示

  • 不要提交 ~/.openclaw/fitness-tracker.json
  • 不要在仓库、聊天记录或技能文档里粘贴真实密码
  • 发布到 ClawHub 前,确认 skill 目录中不包含任何私人凭证文件