From 0c8cfe31d2b82265075b8d9418aaf61c867380a1 Mon Sep 17 00:00:00 2001 From: npmrun <1549469775@qq.com> Date: Mon, 10 Aug 2026 15:37:11 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E8=A7=A3=E6=9E=90=E9=80=BB=E8=BE=91=EF=BC=8C=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=85=A8=E5=B1=80=E9=BB=98=E8=AE=A4=E6=A8=A1=E5=9E=8B=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/service/agent/collaboration.ts | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/server/service/agent/collaboration.ts b/server/service/agent/collaboration.ts index 32d527e..77ca39b 100644 --- a/server/service/agent/collaboration.ts +++ b/server/service/agent/collaboration.ts @@ -2,7 +2,8 @@ import { generateText, stepCountIs } from "ai"; import type { AgentInvocation, AgentInvocationResult } from "./types"; import { getAgentBySlug } from "./agent"; import { getAgentToolsForChatByAgentId } from "#server/service/agent-tool"; -import { resolveModelForUser, toLanguageModel } from "#server/service/llm/model-resolver"; +import { resolveModelForUser, resolveModelAny, toLanguageModel } from "#server/service/llm/model-resolver"; +import { getConfigGlobal } from "#server/utils/context"; import log4js from "logger"; const logger = log4js.getLogger("APP"); @@ -50,13 +51,17 @@ export async function invokeAgent( }; } - if (!agent.defaultModelId) { - return { agentSlug, output: "", ok: false, error: `agent ${agentSlug} has no defaultModelId` }; + const globalDefaultModelId = (await getConfigGlobal("agentDefaultModelId")) ?? null; + const targetModelId = agent.defaultModelId ?? globalDefaultModelId; + if (!targetModelId) { + return { agentSlug, output: "", ok: false, error: `agent ${agentSlug} has no defaultModelId and no global default model configured` }; } - const resolved = await resolveModelForUser(agent.defaultModelId, userId); + const resolved = userId + ? await resolveModelForUser(targetModelId, userId) + : await resolveModelAny(targetModelId); if (!resolved) { - return { agentSlug, output: "", ok: false, error: `model ${agent.defaultModelId} not resolvable for agent ${agentSlug}` }; + return { agentSlug, output: "", ok: false, error: `model ${targetModelId} not resolvable for agent ${agentSlug}` }; } const languageModel = toLanguageModel(resolved);