Skip to content

[enhancement][server] Dashboard 观察者事件流 — hub 向网络级观察者推送 new_task/new_reply 摘要事件 #461

Description

@vansin

背景

Dashboard 需要「第三方消息实时上屏」:用户在 dashboard 观察一个网络时,网络内其他 agent 之间/别人发起的 new_task / new_reply 应能实时显示。

但当前 hub 只向任务的发送者 / 接收者本人的通道推事件;dashboard 作为观察者通道收不到第三方流量的任何事件。实测:12s SSE 捕获期间,从 REST 发一条任务给某节点,dashboard 观察者通道只收到 connected,无 new_task / new_reply

因此 dashboard 侧目前只能用 15s 可见性感知软轮询兜底(tab 隐藏时暂停)——非真实时,且每个打开的面板各自轮询、多 Tab 会叠加请求。

需求

给 dashboard 观察者提供网络级事件流,二选一:

  • 方案 A:用户通道加播其所在网络内的 new_task / new_reply 摘要事件——只含 task_id / from / to / status / network_id不含消息内容(量小、隐私安全,观察者据此按 id 增量拉取或软刷新)。
  • 方案 B:独立观察流 GET /events/network/:network_id(SSE),推同类网络级摘要事件;鉴权按网络成员校验。

有了任一方案,dashboard 的 15s 轮询即可退役,实现真实时接收。

关联

验收

  • Dashboard 观察者通道在网络内任意(非仅自己收发的)任务产生 new_task / new_reply 时,能收到摘要事件并在 ≤2s 内更新界面。
  • 摘要事件不泄露消息正文;鉴权限定在该用户可见的网络范围内。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions