Skip to content

Commit 0c05d1d

Browse files
author
linyuan.yang
committed
AgentSubNode 添加 name
1 parent e15594d commit 0c05d1d

4 files changed

Lines changed: 17 additions & 6 deletions

File tree

packages/sbot/src/Agent/AgentFactory.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff 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,

packages/sbot/src/Core/Config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ export interface SingleAgentEntry extends ToolAgentEntry {
6464
*/
6565
export 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
/**

packages/scorpio.ai/src/Agents/AgentServiceBase.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ export interface IAgentCallback {
6464

6565
export interface AgentSubNode {
6666
id: string;
67+
name?: string;
6768
desc: string;
6869
}
6970

packages/scorpio.ai/src/Agents/ReAct/ReActAgentService.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff 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);

0 commit comments

Comments
 (0)