agentscope-ai / agentscope-ai/agentscope-java

[Bug]:HarnessGateway.runSubagentStream 未向暴露的子 Agent 传递 RuntimeContext / MsgContext

Abierto
#1,700 0 comentarios 0 reacciones 0 asignados Ver en GitHub
area/harness bug
Lenguaje dominante
Java
Estrellas
5.6k
Forks
1.3k
Merge medio
4 d 12 h
PR fusionados (30 d)
77

Descripción

描述:

HarnessGateway.runStream(MsgContext, List, OutboundAddress) 会正确构造 RuntimeContext,并注入 sessionId、userId、msgContext、gateKey、outboundAddress 等信息,然后传给 HarnessAgent.streamEvents(...)。

但当前 HarnessGateway.runSubagentStream(String subagentId, List) 只构造了:

RuntimeContext rtc = RuntimeContext.builder()
.sessionId(session.sessionId())
.build();
因此,当用户直接与通过 expose_to_user 暴露出来的子 Agent 对话时,调用方上下文会丢失,包括但不限于:

MsgContext
userId
请求级自定义参数
业务 middleware 依赖的运行时属性
这会导致子 Agent 的 middleware无法拿到完整上下文。

期望行为:

为 runSubagentStream 增加可传入上下文的重载,例如:

Flux runSubagentStream(
String subagentId,
MsgContext context,
List messages
);
或:

Flux runSubagentStream(
String subagentId,
RuntimeContext runtimeContext,
List messages
);
实现时应保留暴露子 Agent 原有的 sessionId,同时合并调用方传入的上下文,例如:

RuntimeContext rtc = RuntimeContext.builder()
.sessionId(session.sessionId())
.userId(context.userId())
.put("msgContext", context)
.put("gateKey", "subagent:" + subagentId)
.build();
影响:

用户直连子 Agent 时无法传递请求上下文。
子 Agent middleware 收到的 RuntimeContext 不完整。

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.