👁️ 139
👍 43
📅 2026-06-13 收录
🔄 2026-06-13 更新

正文内容

运动模式(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

工作原理

  1. 启用(ON)

    • 热重载修改 ~/.openclaw/openclaw.json,设置 heartbeat.every 字段;
    • 将您指定的任务写入 HEARTBEAT.md,并添加标题 “Sport Mode Active”。
  2. 停用(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 的无缝重载。