agentscope-ai / agentscope-ai/agentscope-java

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

Ouverte
#1,700 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
area/harness bug
Langage dominant
Java
Étoiles
5.6k
Forks
1.3k
Merge moyen
4 j 12 h
PR mergées (30 j)
77

Description

描述:

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

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.