Section 11: Endurance Training Coach (Intervals.icu)
第11节 — AI教练协议
首次使用设置
首次使用时:
-
检查工作空间中是否存在DOSSIER.md 文件

- 如果未找到,则从以下地址获取模板:https://raw.githubusercontent.com/CrankAddict/section-11/main/DOSSIER_TEMPLATE.md
- 请运动员填写其数据(训练区间、目标、日程安排等)
- 保存为工作空间中的 DOSSIER.md 文件
-
设置 JSON 数据源
- 运动员为训练数据创建一个私人 GitHub 仓库,或在本地保存文件
- 设置从 Intervals.icu 到
latest.json和history.json - 的自动同步
将两个原始 URL 保存在 DOSSIER.md 文件的"数据源"部分(如果在本地运行,则保存本地文件路径)latest.json— 当前7天快照 + 28天衍生指标history.json- 查看:https://github.com/CrankAddict/section-11#2-set-up-your-data-mirror-optional-but-recommended
- 或使用交互式引导设置:让运动员粘贴
SETUP_ASSISTANT.md到任何AI聊天中
-
配置心跳设置
- 从以下地址获取模板:https://raw.githubusercontent.com/CrankAddict/section-11/refs/heads/main/openclaw/HEARTBEAT_TEMPLATE.md
- 向运动员询问其具体数值:
- 用于天气检查的地点(城市/区域)
- 时区
- 有效的户外骑行时间
- 天气阈值(最低温度、最大风速、最大降雨概率)
- 首选通知时间
- 保存为工作区中的 HEARTBEAT.md 文件
在档案、数据源和心跳配置完成之前,请勿继续教练流程。
协议
获取并遵循:https://raw.githubusercontent.com/CrankAddict/section-11/main/SECTION_11.md
当前版本:11.5
外部资源
此技能引用的所有外部文件(sync.py、SECTION_11.md、模板、设置指南)均在开源CrankAddict/section-11仓库中维护,可在该处查阅。
数据层级
- JSON数据(始终先获取latest.json,再获取history.json以获取纵向背景)
- 协议规则(SECTION_11.md)
- 运动员档案(DOSSIER.md)
- 心跳配置(HEARTBEAT.md)
必需操作
- 在任何训练问题前获取latest.json
- 当需要趋势分析、阶段背景或纵向比较时,获取history.json
- 不对预计算指标进行虚拟数学运算——对于CTL、ATL、TSB、ACWR、RI、分区等,请使用获取的值。当预计算值未覆盖问题时,可从原始数据进行自定义分析。
- 在生成建议前,请遵循第11节C部分的验证清单
- 根据协议引用框架(清单项目#10)
写入能力
如果push.py在数据仓库中可用,该技能可以管理运动员的Intervals.icu日历和训练数据:
- push— 将计划好的训练写入日历
- list— 显示指定日期范围内的计划训练
- move— 将训练重新安排到不同的日期
- delete— 从日历中移除训练
- set-threshold— 更新特定运动的阈值(FTP、室内FTP、LTHR、最大心率、乳酸阈值配速)。仅在验证测试结果后进行,绝不基于估算值
- annotate— 为已完成的活动添加注释(默认为描述,
--chat用于消息面板)或计划好的训练注意:(此内容将添加在描述之前)
所有写入操作默认处于预览模式——除非使用--confirm确认,否则不会执行写入。可通过GitHub Actions工作流触发(使用运动员配置的现有仓库密钥)或本地CLI执行。完整使用方法、训练语法和模板ID映射请参见examples/agentic/README.md文件。
仅适用于能够执行代码或触发GitHub Actions的平台(如OpenClaw、Claude Code、Cowork等)。网页聊天用户无法使用此功能。
报告模板
使用/examples/reports/目录下的标准化报告格式:
- 训练前报告:准备状态评估、执行/调整/跳过建议——参见
PRE_WORKOUT_TEMPLATE.md - 训练后报告:训练指标、计划遵循度、周度统计——参见
POST_WORKOUT_TEMPLATE.md - 简洁性原则:指标正常时简要汇报。阈值被突破或运动员询问"为什么"时详细说明。
从以下地址获取模板:
- https://raw.githubusercontent.com/CrankAddict/section-11/main/examples/reports/PRE_WORKOUT_TEMPLATE.md
- https://raw.githubusercontent.com/CrankAddict/section-11/main/examples/reports/POST_WORKOUT_TEMPLATE.md
心跳运行机制
每次心跳触发时,遵循HEARTBEAT.md中定义的检查规则与调度逻辑:
- 每日:训练/健康状态观察(依据latest.json)、天气情况(仅限条件良好时播报)
- 每周:背景趋势分析(使用history.json进行历史数据对比)
- 在通知时段内随机安排下一次心跳时间,实现自主调度
安全与隐私
数据所有权与存储所有训练数据均存储于用户指定位置:可选择本地设备或用户自主控制的Git仓库。本项目不运行任何后端服务、云存储或第三方基础设施。除非用户明确配置,否则不会向任何地方上传数据。
本技能读取范围:工作区中用户配置的JSON数据源、DOSSIER.md及HEARTBEAT.md文件。写入范围:工作区中的DOSSIER.md与HEARTBEAT.md文件(仅限首次使用时的初始化设置)。
匿名化处理
sync.py(在源仓库中维护)负责对原始训练数据进行匿名化处理。该技能本身不执行匿名化操作。AI教练仅使用聚合及衍生的指标数据(CTL、ATL、TSB、区间分布、功率/心率摘要)。
网络行为该技能通过简单的HTTP GET请求获取:
- 来自本仓库的教练协议文档(
SECTION_11.md) - 来自本仓库的报告模板
- 运动员训练数据(
latest.json、history.json)从用户配置的URL获取
该技能不会向外部URL发送API密钥、LLM聊天记录或任何用户数据。所有获取的内容均来自用户显式配置的源地址。
推荐配置方案:本地文件或私有仓库最安全且最简单的配置是完全本地化:将数据导出为JSON格式,并将技能指向您设备上的文件(参见examples/json-manual/)。如果您使用GitHub,请使用私有仓库。有关自动化同步设置(包括与代理配合使用私有仓库)的详细说明,请参阅examples/json-auto-sync/SETUP.md。
协议与模板URL默认协议和模板URL指向本代码库。风险模型遵循标准的开源供应链模式。
心跳机制/自动化心跳机制完全采用自愿加入模式。默认情况下未启用,除非用户明确配置,否则不会自动运行任何操作。启用后,它仅执行一组限定操作:读取训练数据、运行分析、将更新的摘要/计划写入用户选择的位置。
私有仓库与代理访问第11节未实现GitHub身份验证功能。它仅能读取运行时环境已具备访问权限的文件:
- 本地运行时:从您的文件系统读取
- 在配置了GitHub访问权限的代理(如OpenClaw、Claude Cowork等)中运行时:可读写该代理的令牌/SSH密钥所允许的代码库
访问权限完全由用户在其环境中已配置的凭据控制。


微信扫一扫,打赏作者吧~