sync-wizard
因为顽鹿在 2026 年 3 月关闭了自动同步 Strava 的功能,这个SKILL专门用来帮你把顽鹿运动的骑行记录顺畅地同步到 Strava。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
因为顽鹿在 2026 年 3 月关闭了自动同步 Strava 的功能,这个SKILL专门用来帮你把顽鹿运动的骑行记录顺畅地同步到 Strava。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| 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 上删除后重传才能更新轨迹)。