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')} `