sync-wizard
因为顽鹿在 2026 年 3 月关闭了自动同步 Strava 的功能,这个SKILL专门用来帮你把顽鹿运动的骑行记录顺畅地同步到 Strava。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
因为顽鹿在 2026 年 3 月关闭了自动同步 Strava 的功能,这个SKILL专门用来帮你把顽鹿运动的骑行记录顺畅地同步到 Strava。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | sync_wizard |
| description | 因为顽鹿在 2026 年 3 月关闭了自动同步 Strava 的功能,这个SKILL专门用来帮你把顽鹿运动的骑行记录顺畅地同步到 Strava。 |
| required_binaries | ["OnelapSyncStrava","OnelapSyncStrava.exe"] |
| required_configs | ["config.json"] |
顽鹿运动(Onelap)此前支持将运动数据自动同步至 Strava,但该功能于 2026 年 3 月 19 日关闭。本项目旨在恢复这一功能:先从顽鹿下载骑行 FIT 文件,再通过 Strava 网页上传流程同步;如果用户仍具备 Strava API 上传权限,也可以显式切回 API 模式。
当调用此 Skill 时,Agent 应作为同步专家,引导用户获取并使用 OnelapSyncStrava 工具完成从 Onelap (Magene) 到 Strava 的活动同步。
在使用工具之前,必须确保拥有对应操作系统的二进制程序。
OnelapSyncStrava-windows-amd64.exe)。如果本地已安装 Go 环境:
go build -o OnelapSyncStrava.exe main.go 或 make build。go build -o OnelapSyncStrava main.go 并确保文件具有执行权限 (chmod +x OnelapSyncStrava)。OnelapSyncStrava 程序。OnelapSyncStrava status (Windows 使用 .\OnelapSyncStrava.exe status) 查看当前同步统计和配置完整性。https://www.strava.com/upload/select。Network 面板,刷新上传页,点选发往 www.strava.com 的请求,在 Request Headers 中复制完整 Cookie: ... 请求头,然后写入 config.json 的 strava.web_cookie_header。STRAVA_WEB_COOKIE_HEADER="Cookie: ..." 覆盖配置文件中的 Cookie。CSRF token 不需要保存,程序每次都会从 https://www.strava.com/upload/select 获取新 token。config.json 包含正确的参数:
onelap_account: Onelap 登录邮箱/手机。onelap_password: Onelap 密码。strava.upload_method: 默认 web。strava.web_cookie_header: Strava Cookie: ... 请求头,推荐直接写在 config.json 中。convert_gcj_to_wgs (可选, 布尔, 默认 false):是否在上传前把 FIT 中的 GCJ-02 坐标转为 WGS-84。只有在确认原始 FIT 上传到 Strava 后出现整体偏移,且 GCJ-02 -> WGS-84 后轨迹贴合道路时,才设置为 true。OnelapSyncStrava check 进行连通性测试。Web 模式会访问 https://www.strava.com/upload/select 并提取当前会话 CSRF token。OnelapSyncStrava upload-fit downloads\raw.gpx。该命令只上传本地 FIT/GPX/TCX 活动文件,不登录顽鹿,也不更新 state.json。Upload submitted to Strava. 只表示 Strava 已接收上传请求;最终是否生成活动,需要在 Strava 活动列表或上传处理页面确认。只有当用户明确把 strava.upload_method 设置为 api,并且仍有 Strava API 上传权限时,才需要 OAuth 授权。
旧配置兼容:如果旧版 config.json 没有 strava.upload_method,但已经包含 client_id、client_secret 和 refresh_token,程序会自动按 API 模式运行;全新配置或没有 OAuth refresh token 的配置才默认 Web 上传。建议用户后续显式写入 strava.upload_method,避免歧义。
为什么 API 模式需要授权?
应用识别:client_id 和 client_secret 是你的 Strava API 应用凭证,用于向 Strava 标识本程序。
权限获取:由于 Strava 的安全机制,需要用户亲自授权给该应用上传数据的权限。
自动同步:授权成功后获取的 access_token 和 refresh_token 会自动保存,后续即可实现全自动同步,无需再次手动操作。
如果 API 模式下 check 提示 missing refresh_token,运行 OnelapSyncStrava auth。
IM/无头环境下的授权引导 (OOB Fallback):
localhost,所以授权后网页最终会显示访问报错(这是正常现象)。?code=... 等参数),并将其作为消息发送给我”。curl "[用户发回的完整链接]"。OnelapSyncStrava auth 挂起的进程会捕获到该 curl 模拟的回调请求,结束堵塞、保存 Token 并完成授权。OnelapSyncStrava sync 开始抓取并拉取活动。sync 运行时 flag(互相可组合):
-since=YYYY-MM-DD 或 -since=Nd/Nw/Nm/Ny:补传指定日期/相对时间窗口内的历史活动。-commute:API 模式可用,把本次同步的所有活动在 Strava 上标记为通勤。-trainer:API 模式可用,把本次同步的所有活动标记为室内 / 训练台。-name="...":API 模式可用,覆盖 Strava 上的活动名称。-description="...":API 模式可用,写入 Strava 活动描述。Cookie: ... 请求头并更新 strava.web_cookie_header,或临时设置新的 STRAVA_WEB_COOKIE_HEADER,然后运行 check。Cookie 不会自动续期,预计可能需要一个月左右重新获取一次。auth。config.json 中的 convert_gcj_to_wgs 设为 true 后重新 sync(已上传的旧活动需要在 Strava 上删除后重传才能更新轨迹)。