openclaw - 💡(How to fix) Fix Heartbeat mechanism issues: model switching, trigger failures, and output format changes [2 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#58852Fetched 2026-04-08 02:31:52
View on GitHub
Comments
2
Participants
2
Timeline
5
Reactions
0
Author
Participants
Assignees
Timeline (top)
commented ×2assigned ×1closed ×1locked ×1

Code Example

{
  "agents": {
    "defaults": {
      "model": {
        "primary": "moonshot/kimi-k2.5",
        "fallbacks": [
          "qwen-portal/coder-model",
          "qwen-portal/vision-model",
          "openrouter/qwen/qwen3-max",
          "moonshot/kimi-k2.5",
          "deepseek/deepseek-chat"
        ]
      },
      "heartbeat": {
        "every": "120m",
        "activeHours": {
          "start": "08:00",
          "end": "02:00"
        },
        "model": "deepseek/deepseek-chat"
      }
    }
  }
}
RAW_BUFFERClick to expand / collapse

Heartbeat mechanism issues: model switching, trigger failures, and output format changes

Problem Description

I'm experiencing several issues with the OpenClaw heartbeat mechanism:

  1. Inconsistent triggering - Configured for 120-minute intervals, but heartbeat doesn't always trigger on schedule
  2. Model switching - Configured to use DeepSeek model, but sometimes executes with Kimi instead
  3. Output format changes - Previously heartbeat output showed "thinking process first, then execution process", but now only shows "execution process" (tool outputs + final HEARTBEAT_OK)

Configuration

{
  "agents": {
    "defaults": {
      "model": {
        "primary": "moonshot/kimi-k2.5",
        "fallbacks": [
          "qwen-portal/coder-model",
          "qwen-portal/vision-model",
          "openrouter/qwen/qwen3-max",
          "moonshot/kimi-k2.5",
          "deepseek/deepseek-chat"
        ]
      },
      "heartbeat": {
        "every": "120m",
        "activeHours": {
          "start": "08:00",
          "end": "02:00"
        },
        "model": "deepseek/deepseek-chat"
      }
    }
  }
}

Expected Behavior

  1. Heartbeat should trigger consistently at the configured 120-minute interval
  2. Heartbeat should always use the configured deepseek/deepseek-chat model
  3. Heartbeat output should include both thinking process (analysis after reading HEARTBEAT.md) and execution process

Actual Behavior

  1. Heartbeat triggering is unstable - sometimes doesn't trigger after 120 minutes
  2. Observed heartbeat executions sometimes use moonshot/kimi-k2.5 instead of configured DeepSeek
  3. Output format changed to only show tool calls and final HEARTBEAT_OK, missing the thinking/analysis phase

Environment

  • OpenClaw version: 2026.3.24 (from meta.lastTouchedVersion)
  • OS: Linux (WSL2)
  • Channel: Feishu

Additional Context

I noticed that agents.defaults.model.primary is set to moonshot/kimi-k2.5, while heartbeat.model is set to deepseek/deepseek-chat. Could the heartbeat execution be affected by the primary model configuration?

Also, the output format change appeared recently - previously it worked correctly with two-phase output (thinking + execution).


Thanks for the great work on OpenClaw! It's an awesome project. Let me know if you need any logs or additional testing.

extent analysis

TL;DR

  • The heartbeat mechanism issues may be resolved by ensuring consistent model configuration and verifying the scheduling mechanism.

Guidance

  • Review the configuration to ensure that the heartbeat.model is correctly set to deepseek/deepseek-chat and does not fallback to the primary model moonshot/kimi-k2.5 unnecessarily.
  • Verify that the scheduling mechanism for the heartbeat is working correctly, checking for any potential issues with the every and activeHours settings.
  • Check the OpenClaw version (2026.3.24) for any known issues related to heartbeat mechanisms or model switching.
  • Test the heartbeat mechanism with a simplified configuration to isolate if the issue is related to the specific model or scheduling settings.

Example

{
  "agents": {
    "defaults": {
      "model": {
        "primary": "deepseek/deepseek-chat",
        "fallbacks": []
      },
      "heartbeat": {
        "every": "120m",
        "activeHours": {
          "start": "08:00",
          "end": "02:00"
        },
        "model": "deepseek/deepseek-chat"
      }
    }
  }
}

Notes

  • The issue might be related to the primary model configuration overriding the heartbeat model setting under certain conditions.
  • The recent change in output format could indicate a version-specific issue or a change in how the heartbeat mechanism handles output.

Recommendation

  • Apply workaround: Temporarily simplify the model configuration to use deepseek/deepseek-chat as both the primary and heartbeat model to isolate the issue, and verify if the scheduling and output format issues persist.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix Heartbeat mechanism issues: model switching, trigger failures, and output format changes [2 comments, 2 participants]