Strava CLI 技能
通过 strava CLI 查询和管理 Strava 数据。
前提条件
- 安装 CLI:
curl -fsSL https://raw.githubusercontent.com/eddmann/strava-cli/main/install.sh | sh - 认证:
strava auth login(需要STRAVA_CLIENT_ID、STRAVA_CLIENT_SECRET)
快速上下文
通过一次调用获取聚合的运动员数据:
strava context # 完整上下文:运动员、统计、装备、俱乐部、活动
strava context --activities 10 # 更多近期活动
strava context --focus stats,gear # 仅特定部分
命令
运行 strava --help 或 strava <command> --help 查看所有选项。
活动
strava activities list [--after DATE] [--before DATE] [--limit N]
strava activities get <ID>
strava activities streams <ID> [--keys time,distance,heartrate,watts]
strava activities laps <ID>
strava activities zones <ID>
strava activities comments <ID>
strava activities kudos <ID>
运动员
strava athlete # 个人资料
strava athlete stats # 年度和累计总数
strava athlete zones # 心率和功率区间
路段与成绩
strava segments get <ID>
strava segments starred
strava segments explore --bounds SW_LAT,SW_LNG,NE_LAT,NE_LNG
strava efforts get <ID>
strava efforts list --segment-id <ID>
路线、俱乐部、装备
strava routes list
strava routes get <ID>
strava routes streams <ID>
strava routes export <ID> --format gpx|tcx
strava clubs list
strava clubs get <ID>
strava clubs members <ID> [--limit N]
strava clubs activities <ID> [--limit N]
strava gear get <GEAR_ID>
数据单位
| 字段 | 单位 |
|---|---|
| distance | 米 |
| moving_time, elapsed_time | 秒 |
| average_speed, max_speed | 米/秒 |
| elevation | 米 |
| dates | ISO8601 |
常见模式
# 近期活动
strava activities list --limit 10
# 本月活动
strava activities list --after 2025-12-01
# 使用 jq 过滤
strava activities list | jq '[.[] | select(.sport_type=="Run")]'
# 总距离
strava activities list | jq '[.[].distance] | add'
认证状态
strava auth status # 检查是否已认证
strava auth refresh # 刷新令牌
strava auth logout # 清除凭据
运动类型
Run, TrailRun, Walk, Hike, Ride, MountainBikeRide, GravelRide, EBikeRide, VirtualRide, VirtualRun, Swim, Workout, WeightTraining, Yoga, CrossFit, Rowing, Kayaking, Surf, Ski, Snowboard, IceSkate, Golf, Soccer, Tennis
退出码
- 0 = 成功
- 1 = 一般错误
- 2 = 认证错误(请运行
strava auth login)