agentscope-ai / agentscope-ai/agentscope-java

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

Aperta
#1,700 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
area/harness bug
Lingua principale
Java
Stelle
5.6k
Fork
1.3k
Merge medio
4g 12h
PR unite (30g)
77

Descrizione

描述:

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 不完整。

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.