Skip to content

系统消息被错误推送到用户聊天界面 #47865

Description

@xlfc-yu

Bug 描述

系统内部消息(System Event)被错误地推送到用户聊天界面,尽管配置了 delivery: { mode: "none" }

复现步骤

  1. 创建 cron 任务,配置如下:
{
  "name": "Pulse-Heartbeat",
  "schedule": { "kind": "every", "everyMs": 300000 },
  "sessionTarget": "main",
  "payload": { "kind": "systemEvent", "text": "Pulse heartbeat: ..." },
  "delivery": { "mode": "none" }
}
  1. 等待任务触发
  2. 用户聊天界面收到系统消息

预期行为

系统消息应该只在内部处理,不应推送到用户聊天界面。

消息内容明确写着:

Handle this reminder internally. Do not relay it to the user unless explicitly requested.

实际行为

用户收到两种错误推送的消息:

1. 心跳任务消息

System: [2026-03-16 11:26:24 GMT+8] Pulse heartbeat: Check system health, update emotion state, quick scan...

A scheduled reminder has been triggered. The reminder content is:
Pulse heartbeat: Check system health...

Handle this reminder internally. Do not relay it to the user unless explicitly requested.

2. 后台进程日志

System: [2026-03-16 11:27:19 GMT+8] Exec failed (rapid-lo, signal SIGTERM) :: Opening accounts manager in browser...

环境信息

  • OpenClaw 版本: 2026.2.23-cn
  • 运行环境: macOS (Darwin 25.3.0 arm64)
  • Node.js: v25.5.0
  • 渠道: webchat

Cron 任务配置

{
  "id": "f039aef2-6948-4c18-bbe7-f5755180c5fb",
  "name": "Pulse-Heartbeat",
  "enabled": true,
  "schedule": { "kind": "every", "everyMs": 300000 },
  "sessionTarget": "main",
  "wakeMode": "now",
  "payload": { "kind": "systemEvent", "text": "Pulse heartbeat: ..." },
  "delivery": { "mode": "none" },
  "state": {
    "lastDeliveryStatus": "not-requested"
  }
}

注意:deliveryStatus: "not-requested" 表示配置正确,但消息仍被推送。

临时解决方案

禁用所有 cron 任务以避免骚扰用户。

标签

bug, cron, messaging, webchat

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions