Token导航 LogoToken导航TokenDH.com
效率需要联网clawhub未标认证来源可访问clear审计提醒

garmin-connect-tcyxkGarmin 连接 tcyxk

Agent Skill

garmin-connect-tcyxk 用于辅助安全审计、权限检查和凭据风险排查,适合在 OpenClaw 中需要复核安全边界、认证流程或敏感配置时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

3,095

周安装

124

GitHub Stars

公开资料未说明

下载量

1,002
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:garmin-connect-tcyxk(Garmin 连接 tcyxk)
来源仓库:https://github.com/tcyxk/garmin-connect-tcyxk
安装命令:
openclaw skills install garmin-connect-tcyxk
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install garmin-connect-tcyxk

简介

tcyxk 版本 Garmin 连接集成方案,支持中英文版账户数据双向同步。

  • 适用于同时持有 garmin.cn 与 garmin.com 账号的用户统一管理设备信息。
  • 采用轻量化封装减少网络延迟,优化移动端实时数据刷新体验。
  • 使用前需分别绑定两个平台的 OAuth 应用,避免权限冲突导致同步失败。
  • 注意部分地区服务可能存在访问限制,需自备代理或 VPN 解决方案。

SKILL.md

name
garmin-connect
version
1.0.0
description
Garmin Connect integration for OpenClaw: sync fitness data (steps, HR, calories, workouts, sleep) using OAuth. Supports China (garmin.cn) and Global (garmin.com) regions. Data is stored in SQLite database for fast access.

Garmin Connect Skill

同步你的佳明手表数据到 OpenClaw,支持中国大陆和全球账号。

🎯 新架构(2026-03-13更新)

核心变化:

  • ✅ 单一SQLite数据库存储所有数据
  • ✅ 三种同步触发方式(定时/按需/手动)
  • ✅ 龙虾直接读取数据库(快速响应)
  • ✅ 完整数据支持(Body Battery、HRV、VO2 Max等)
  • ✅ 数据库字段从26个扩展到58个(2026-03-13下午重大升级)
  • ✅ 时序数据表支持(心率曲线、身体电量曲线等)
佳明服务器 → 统一同步脚本 → SQLite数据库
                              ├─ 龙虾skill(读取)
                              └─ 网页前端(读取)

🚀 2026-03-13 重大升级

问题发现

用户发现身体电量显示不一致(服务器79 vs 手表28),发现数据库同步不完整。

解决方案

1. 数据库Schema升级

  • 新增35个字段:时长类、压力详细值、呼吸/血氧详细值、wellness字段等
  • 修复关键字段:body_battery_current从存最高值改为存最新值
  • 创建5个时序数据表:心率、身体电量、步数、压力、呼吸率曲线
  • 创建1个动态反馈事件表
  • 运动记录新增15个高级指标字段

2. 同步策略优化

  • 完整版(sync_all.py v2.0):包含所有字段和时序数据,适合手动完整同步
  • 简化版(sync_daily.py):只同步核心每日指标,适合定时任务

3. 数据完整度提升

  • 标量字段:26% → 95%+
  • 核心指标:100%完整
  • 时序数据:表已创建,待后台同步

关键Bug修复

# 旧逻辑(错误)
body_battery_current = bodyBatteryHighestValue  # 79

# 新逻辑(正确)
body_battery_current = bodyBatteryMostRecentValue  # 29

快速开始

1. 认证(一次性)

中国大陆账号:

cd ~/openclaw/skills/garmin-connect
python3 scripts/garmin-auth.py your-email@qq.com password --cn

全球账号:

python3 scripts/garmin-auth.py your-email@gmail.com password

认证成功后,凭证会加密保存到 ~/.garth/session.json

2. 启动自动同步

systemd timer(推荐):

# 已自动配置,每1小时同步一次
sudo systemctl status garmin-sync.timer

手动触发:

python3 ~/.clawdbot/garmin/sync_all.py --source=manual

3. 测试数据读取

从数据库读取(快速):

python3 scripts/garmin_db_reader.py

从API读取(慢速,用于测试):

python3 scripts/garmin-sync.py

📊 数据结构

数据库位置

/home/roots/.clawdbot/garmin/data.db

包含的数据

每日健康指标 (daily_metrics):

  • 基础:步数、距离、卡路里、活动时长、爬楼
  • 心率:静息/最低/最高
  • 身体电量:当前/最高/最低/充电/消耗
  • 压力:平均/最高
  • HRV:昨晚HRV
  • 呼吸率
  • VO2 Max
  • 健身年龄

睡眠数据 (sleep_data):

  • 时长、睡眠分数、质量百分比
  • 深/REM/浅睡、清醒时间
  • 午睡详情

运动记录 (workouts):

  • 时间戳、类型、名称、距离、时长、卡路里、心率

🔄 同步触发方式

1. 系统定时(自动)

每1小时自动同步一次(systemd timer):

sudo systemctl start garmin-sync.timer
sudo systemctl enable garmin-sync.timer

查看下次同步时间:

systemctl list-timers | grep garmin

2. 龙虾按需触发

当你问"我刚才跑的咋样?"时:

from scripts.garmin_db_reader import trigger_sync_if_needed

# 如果数据超过5分钟,自动触发同步
trigger_sync_if_needed(max_age_minutes=5)

然后读取数据库回答。

3. 手动触发

# 从命令行
python3 ~/.clawdbot/garmin/sync_all.py --source=manual

# 从网页(前端API)
POST /api/sync

📝 使用示例

在OpenClaw中使用

方式1:从数据库读取(推荐)

import sys
sys.path.insert(0, '~/openclaw/skills/garmin-connect/scripts')
from garmin_db_reader import GarminDataReader, trigger_sync_if_needed

# 检查数据新鲜度,必要时触发同步
trigger_sync_if_needed(max_age_minutes=5)

# 读取数据
reader = GarminDataReader()
today = reader.get_today_metrics()
print(f"今日步数: {today['steps']}")
print(f"身体电量: {today['body_battery_current']}")

方式2:直接API调用(兼容旧代码)

from garmin_db_reader import get_daily_summary, get_workouts
# garmin_client 参数会被忽略,直接读数据库
data = get_daily_summary(None, '2026-03-13')

查看同步状态

reader = GarminDataReader()
status = reader.get_sync_status()
print(f"最后同步: {status['last_sync_time']}")
print(f"每日记录: {status['daily_metrics_count']} 条")
print(f"运动记录: {status['workouts_count']} 条")

🔧 故障排除

数据库不存在

# 手动运行一次同步
python3 ~/.clawdbot/garmin/sync_all.py --source=manual

同步失败

检查凭证:

cat ~/.garth/session.json

重新认证:

cd ~/openclaw/skills/garmin-connect
python3 scripts/garmin-auth.py your-email password

查看同步日志

# systemd日志
sudo journalctl -u garmin-sync.service -f

# 数据库同步日志
sqlite3 ~/.clawdbot/garmin/data.db "SELECT * FROM sync_log ORDER BY sync_time DESC LIMIT 10"

📁 文件结构

~/.clawdbot/garmin/
├── data.db                    # SQLite数据库
├── sync_daemon.py             # 数据库管理
└── sync_all.py                # 完整同步脚本

~/openclaw/skills/garmin-connect/
├── scripts/
│   ├── garmin_db_reader.py    # 数据库读取(新增)
│   ├── garmin-auth.py         # 认证
│   ├── garmin-sync.py         # API获取(兼容)
│   └── ...
└── SKILL.md                   # 本文件

🆕 vs 旧版本

特性旧版本新版本
数据存储SQLite数据库
响应速度API调用(慢)数据库读取(快)
同步触发cron(5分钟)timer(1小时)+ 按需
数据完整性基础指标完整(含Body Battery等)
消费者仅skillskill + 网页前端

🔗 相关项目

  • 佳明健康仪表盘:/home/roots/garmin-dashboard/
  • 数据库:~/.clawdbot/garmin/data.db

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

83.7%
按下载量换算839

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills