Skip to content

[Feature]支持跨 Session 协作消息在父 Session 的当前回合内交付 #914

Description

@inorilzy

问题描述

使用 Session Orchestrator 会话编排器插件协调多个独立 Session 时,父 Session 可能正在等待工人 Session 09,而工人 Session 08 已完成并向父 Session 发送消息或完成通知。

目前这类消息会等待父 Session 的整个回合结束,再作为后续消息处理。若父 Session 长时间等待 09,就无法在当前任务中及时利用 08 的结果。这不是用户手动输入的 steering:工人 Session 的消息需要保留真实的 Session 来源,不能伪装成用户指令。

期望行为

希望提供一个默认关闭的可选能力:当父 Session 正在运行且允许接收时,把工人 Session 的普通消息或完成通知放入当前回合的下一次安全模型请求,而不是等待整个回合结束后作为下一轮输入处理。

不能修改已经发出的模型请求,也不能为了投递消息中断正在执行的工具或取消其他工人 Session。

验收场景

  1. 父 Session 正在等待工人 Session 09;工人 Session 08 完成并发来通知。
  2. 08 的消息不会在父 Session 回合结束后再次作为下一轮 prompt 投递。
  3. 父 Session 保持相同的 turnId,下一次实际模型请求包含 08 的消息一次。
  4. 工人 Session 09 仍在运行,没有被取消或误报为完成。

还需要保持消息来源与权限可核验、重复投递不重复注入,并能在回合结束竞态、重启或回执丢失后安全对账。若确认当前回合未接收消息,应安全回退;Stop、审批等状态不能被绕过。任务指令、默认设置和已有排队消息应保持原有行为。

与现有功能的区别

希望现有插件的发送调用保持兼容;具体由产品内部自动路由,还是新增受控的插件入口,可以在设计讨论中决定。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions