From de4e9c95c15a26d43e36f83e7a27cd6ed2cd22b7 Mon Sep 17 00:00:00 2001 From: Drol Date: Thu, 2 Apr 2026 19:22:35 +0800 Subject: [PATCH] fix(ai): ai employee can`t use skills (#9023) --- .../src/ai/tools/sub-agents/dispatch-sub-agent-task.ts | 2 +- .../plugin-ai/src/server/ai-employees/ai-employee.ts | 4 ++-- .../@nocobase/plugin-ai/src/server/ai-employees/prompts.ts | 2 -- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/plugins/@nocobase/plugin-ai/src/ai/tools/sub-agents/dispatch-sub-agent-task.ts b/packages/plugins/@nocobase/plugin-ai/src/ai/tools/sub-agents/dispatch-sub-agent-task.ts index c47afd6e150..872b810822f 100644 --- a/packages/plugins/@nocobase/plugin-ai/src/ai/tools/sub-agents/dispatch-sub-agent-task.ts +++ b/packages/plugins/@nocobase/plugin-ai/src/ai/tools/sub-agents/dispatch-sub-agent-task.ts @@ -65,7 +65,7 @@ export default defineTools({ ctx, sessionId: subSessionId, employee, - model: employee.get('modelSettings') ?? ctx.action?.params?.values?.model, + model: ctx.action?.params?.values?.model ?? employee.get('modelSettings'), question, skillSettings, writer, diff --git a/packages/plugins/@nocobase/plugin-ai/src/server/ai-employees/ai-employee.ts b/packages/plugins/@nocobase/plugin-ai/src/server/ai-employees/ai-employee.ts index c720ace2a7d..4412ef4ee39 100644 --- a/packages/plugins/@nocobase/plugin-ai/src/server/ai-employees/ai-employee.ts +++ b/packages/plugins/@nocobase/plugin-ai/src/server/ai-employees/ai-employee.ts @@ -1384,8 +1384,8 @@ If information is missing, clearly state it in the summary.`; private async getAvailableSkills(): Promise { const { skillsManager } = this.plugin.ai; const aIEmployeeTools = await this.getAIEmployeeTools(); - const getSkills = aIEmployeeTools.find((it) => it.definition.name === 'getSkills'); - if (!getSkills) { + const getSkill = aIEmployeeTools.find((it) => it.definition.name === 'getSkill'); + if (!getSkill) { return []; } const generalSkills = await skillsManager.listSkills({ scope: 'GENERAL' }); diff --git a/packages/plugins/@nocobase/plugin-ai/src/server/ai-employees/prompts.ts b/packages/plugins/@nocobase/plugin-ai/src/server/ai-employees/prompts.ts index d1b9af12f5b..d89972f7b7a 100644 --- a/packages/plugins/@nocobase/plugin-ai/src/server/ai-employees/prompts.ts +++ b/packages/plugins/@nocobase/plugin-ai/src/server/ai-employees/prompts.ts @@ -140,8 +140,6 @@ ${ ? ` You have access to the following skills (tools groups). When a user's request matches a skill's description, use the **getSkill** tool to load that skill's detailed content and available tools -But if there is no tool named **getSkill** don't try to use **getSkill** tool to load skills - ${availableSkills.map((skill) => `- **${skill.name}**: ${skill.description || 'No description'}`).join('\n')} `