Skip to content

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

@xlfc-yu

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions