From fa0ea9c7e981435d6e17eb868a64415b32bb3ff1 Mon Sep 17 00:00:00 2001 From: youpaishidifu <1@ypshidifu.cn> Date: Wed, 28 Oct 2026 15:31:32 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=AC58=E6=89=B9=E7=BB=AD24=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D2=EF=BC=9A@//=E5=8E=82=E5=AE=B6=E5=90=8D=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E4=BE=9B=E5=BA=94=E5=95=86=E5=90=8D=E5=AD=97=E8=B7=AF?= =?UTF-8?q?=E5=BE=84=E6=AF=8F=E4=B8=80=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 之前只取第一段,但生产服配置是「非国产/agnes/中国版」—— 第一段「非国产」是分组名不是厂家名,@//agnes/ 不识别。 修复:把「供应商名字」路径的每一段都注册为厂家名别名, 如 非国产/agnes/中国版 → 三个名字都能 @// 调用。 用 putIfAbsent 避免重复注册时覆盖已有别名。 --- src/main/java/Sdf1_login/AIChatManager.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/main/java/Sdf1_login/AIChatManager.java b/src/main/java/Sdf1_login/AIChatManager.java index b14b4c5..90daa12 100644 --- a/src/main/java/Sdf1_login/AIChatManager.java +++ b/src/main/java/Sdf1_login/AIChatManager.java @@ -295,19 +295,30 @@ public class AIChatManager { } // ★ 注册厂家名 → 默认模型全名(@//厂家名/ 快捷引用) - // 内置供应商:厂家名 = 「供应商名字」第一段(mimo/token-plan → mimo,deepseek → deepseek) + // 内置供应商:从「供应商名字」路径的每一段都注册为厂家名别名 + // 如 "非国产/agnes/中国版" → 非国产/agnes/中国版 三个名字都能 @// 调用 + // 如 "mimo/token-plan" → mimo/token-plan 都能调用 // 自定义供应商:别名走「提示词.txt」的 models=全名=别名 映射(aliasToFullModel),这里不重复注册 if (isBuiltin) { String providerName = getStr(supplierConfig, "供应商名字"); if (providerName != null && !providerName.isEmpty()) { - String providerShort = providerName.split("/")[0].trim(); String defaultUse = getStr(supplierConfig, "默认使用"); + String firstModel = null; if (defaultUse != null && !defaultUse.isEmpty()) { - providerToModel.put(providerShort, defaultUse); + firstModel = defaultUse; } else if (supplierConfig.has("可用模型")) { JsonElement models = supplierConfig.get("可用模型"); if (models.isJsonArray() && models.getAsJsonArray().size() > 0) { - providerToModel.put(providerShort, models.getAsJsonArray().get(0).getAsString()); + firstModel = models.getAsJsonArray().get(0).getAsString(); + } + } + if (firstModel != null) { + // 注册路径中的每一段作为厂家名别名 + for (String seg : providerName.split("/")) { + String name = seg.trim(); + if (!name.isEmpty()) { + providerToModel.putIfAbsent(name, firstModel); + } } } }