正文内容
运动模式(Sport Mode)
临时提升心跳频率(默认为 3 分钟),并在 HEARTBEAT.md 中注入一项监控任务。
非常适合监督后台代理(Codex)、长时间运行的构建任务,或交互式游戏。
使用方法
# 启用:将心跳设为 3m,并设置监控任务 sport-mode on --task "Check Codex progress. If done, run sport-mode off." # 自定义间隔:设为 1 分钟 sport-mode on --task "Game tick" --every "1m" # 停用:将心跳恢复为默认的 30m,并清空 HEARTBEAT.md sport-mode off
工作原理
-
启用(ON):
- 热重载修改
~/.openclaw/openclaw.json,设置heartbeat.every字段; - 将您指定的任务写入
HEARTBEAT.md,并添加标题 “Sport Mode Active”。
- 热重载修改
-
停用(OFF):
- 将配置中的
heartbeat.every恢复为默认值30m; - 清空
HEARTBEAT.md文件内容。
- 将配置中的
最佳实践
1. 设定终点线(Finish Line)
除非您希望进行一场永无止境的马拉松,否则务必在任务中明确定义终止条件。
- ✅ 推荐写法:”监控构建过程。若成功或失败,则执行 sport-mode off。“
- ❌ 不推荐写法:”监控构建过程。“(代理可能持续回复 “Done” 直至您手动干预)
2. 利用文件实现状态机
对于多步骤任务(例如游戏或分阶段部署),建议让代理自行更新 HEARTBEAT.md。
- 典型流程:读取当前状态 → 执行本步操作 → 写入新状态 → 睡眠等待下一次心跳。
- 此方式使代理保持“无状态”(不依赖对话历史上下文窗口),而任务本身则具备“有状态”特性。
3. 使用 tmux 提升可观测性
若监控任务涉及终端输出(例如 Codex 编码、编译过程),推荐在 tmux 会话中运行该任务。
- 代理可通过
tmux capture-pane检查面板内容,且不干扰运行; - 用户可通过
tmux attach实时接入并观察进展。
4. 静默即金律(Silence is Golden)
在高频模式下(如每 1 分钟一次),应避免重复发送 “无变化” 类消息(例如 “Nothing happened”)。
- 可配置代理:当状态未发生变化时,仅返回
HEARTBEAT_OK(即静默响应); - 仅在以下情形主动通知用户:里程碑达成、发生错误、最终成功完成。
实现说明
本能力通过调用 openclaw config set 安全地在运行时动态修改配置,从而触发 Gateway 的无缝重载。