File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -239,9 +239,18 @@ export class AgentFactory {
239239 if ( ! entry . model ) {
240240 throw new Error ( "ReAct mode: model not configured" ) ;
241241 }
242-
242+
243+ const enrichedSubNodes = agentSubNodes . map ( node => {
244+ try {
245+ const target = config . getAgent ( node . id ) ;
246+ return target . name ? { ...node , name : target . name } : node ;
247+ } catch {
248+ return node ;
249+ }
250+ } ) ;
251+
243252 container . registerWithArgs ( ReActAgentService , {
244- [ T_AgentSubNodes ] : agentSubNodes ,
253+ [ T_AgentSubNodes ] : enrichedSubNodes ,
245254 [ T_CreateAgent ] : createAgentFn ,
246255 [ T_ThinkModelService ] : await config . getModelService ( entry . model , true ) ,
247256 [ T_StaticSystemPrompts ] : systemPrompts ,
Original file line number Diff line number Diff line change @@ -64,7 +64,7 @@ export interface SingleAgentEntry extends ToolAgentEntry {
6464 */
6565export interface ReactAgentEntry extends ToolAgentEntry {
6666 type : AgentMode . ReAct ;
67- agents : AgentSubNode [ ] ; // 子 Agent 引用列表(name 字段为 agent UUID)
67+ agents : AgentSubNode [ ] ; // 子 Agent 引用列表(id 为目标 agent 的 UUID,name 为可选短标识,desc 为能力描述 )
6868}
6969
7070/**
Original file line number Diff line number Diff line change @@ -64,6 +64,7 @@ export interface IAgentCallback {
6464
6565export interface AgentSubNode {
6666 id : string ;
67+ name ?: string ;
6768 desc : string ;
6869}
6970
Original file line number Diff line number Diff line change @@ -59,9 +59,10 @@ export class ReActAgentService extends SingleAgentService {
5959 // ── Overrides ────────────────────────────────────────────────
6060
6161 protected override async buildSystemMessage ( query : MessageContent ) : Promise < ChatMessage | undefined > {
62- const agentsDesc = this . agentSubNodes . map ( a =>
63- ` <agent id="${ a . id } ">${ a . desc } </agent>`
64- ) . join ( '\n' ) ;
62+ const agentsDesc = this . agentSubNodes . map ( a => {
63+ const nameAttr = a . name ? ` name="${ a . name } "` : '' ;
64+ return ` <agent id="${ a . id } "${ nameAttr } >${ a . desc } </agent>` ;
65+ } ) . join ( '\n' ) ;
6566 const reactPrompt = this . systemPromptTemplate . replace ( '{agents}' , agentsDesc ) ;
6667
6768 const parentMsg = await super . buildSystemMessage ( query ) ;
You can’t perform that action at this time.
0 commit comments