问题描述
使用 Session Orchestrator 会话编排器插件协调多个独立 Session 时,父 Session 可能正在等待工人 Session 09,而工人 Session 08 已完成并向父 Session 发送消息或完成通知。
目前这类消息会等待父 Session 的整个回合结束,再作为后续消息处理。若父 Session 长时间等待 09,就无法在当前任务中及时利用 08 的结果。这不是用户手动输入的 steering:工人 Session 的消息需要保留真实的 Session 来源,不能伪装成用户指令。
期望行为
希望提供一个默认关闭的可选能力:当父 Session 正在运行且允许接收时,把工人 Session 的普通消息或完成通知放入当前回合的下一次安全模型请求,而不是等待整个回合结束后作为下一轮输入处理。
不能修改已经发出的模型请求,也不能为了投递消息中断正在执行的工具或取消其他工人 Session。
验收场景
- 父 Session 正在等待工人 Session 09;工人 Session 08 完成并发来通知。
- 08 的消息不会在父 Session 回合结束后再次作为下一轮 prompt 投递。
- 父 Session 保持相同的
turnId,下一次实际模型请求包含 08 的消息一次。
- 工人 Session 09 仍在运行,没有被取消或误报为完成。
还需要保持消息来源与权限可核验、重复投递不重复注入,并能在回合结束竞态、重启或回执丢失后安全对账。若确认当前回合未接收消息,应安全回退;Stop、审批等状态不能被绕过。任务指令、默认设置和已有排队消息应保持原有行为。
与现有功能的区别
希望现有插件的发送调用保持兼容;具体由产品内部自动路由,还是新增受控的插件入口,可以在设计讨论中决定。
问题描述
使用 Session Orchestrator 会话编排器插件协调多个独立 Session 时,父 Session 可能正在等待工人 Session 09,而工人 Session 08 已完成并向父 Session 发送消息或完成通知。
目前这类消息会等待父 Session 的整个回合结束,再作为后续消息处理。若父 Session 长时间等待 09,就无法在当前任务中及时利用 08 的结果。这不是用户手动输入的 steering:工人 Session 的消息需要保留真实的 Session 来源,不能伪装成用户指令。
期望行为
希望提供一个默认关闭的可选能力:当父 Session 正在运行且允许接收时,把工人 Session 的普通消息或完成通知放入当前回合的下一次安全模型请求,而不是等待整个回合结束后作为下一轮输入处理。
不能修改已经发出的模型请求,也不能为了投递消息中断正在执行的工具或取消其他工人 Session。
验收场景
turnId,下一次实际模型请求包含 08 的消息一次。还需要保持消息来源与权限可核验、重复投递不重复注入,并能在回合结束竞态、重启或回执丢失后安全对账。若确认当前回合未接收消息,应安全回退;Stop、审批等状态不能被绕过。任务指令、默认设置和已有排队消息应保持原有行为。
与现有功能的区别
希望现有插件的发送调用保持兼容;具体由产品内部自动路由,还是新增受控的插件入口,可以在设计讨论中决定。