From 776b5fb3b4af8d614205ed23a2273bb7bbce7dca Mon Sep 17 00:00:00 2001 From: LiJinHui <166460433+stu-rgsze@users.noreply.github.com> Date: Sun, 28 Sep 2025 15:27:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=8A=A0=E5=AF=86=E7=9A=84bu?= =?UTF-8?q?g?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/utils/SensitiveDataUtils.java | 2 + .../service/impl/ConfigServiceImpl.java | 15 +++--- .../model/service/ModelConfigService.java | 20 ++++++-- .../service/impl/ModelConfigServiceImpl.java | 46 ++++++++++++------- 4 files changed, 56 insertions(+), 27 deletions(-) diff --git a/main/manager-api/src/main/java/xiaozhi/common/utils/SensitiveDataUtils.java b/main/manager-api/src/main/java/xiaozhi/common/utils/SensitiveDataUtils.java index e3fc6c35..05f4853a 100644 --- a/main/manager-api/src/main/java/xiaozhi/common/utils/SensitiveDataUtils.java +++ b/main/manager-api/src/main/java/xiaozhi/common/utils/SensitiveDataUtils.java @@ -36,8 +36,10 @@ public class SensitiveDataUtils { int length = value.length(); if (length <= 8) { + // 短字符串保留前2后2 return value.substring(0, 2) + "****" + value.substring(length - 2); } else { + // 长字符串保留前4后4 int maskLength = length - 8; StringBuilder maskBuilder = new StringBuilder(); for (int i = 0; i < maskLength; i++) { diff --git a/main/manager-api/src/main/java/xiaozhi/modules/config/service/impl/ConfigServiceImpl.java b/main/manager-api/src/main/java/xiaozhi/modules/config/service/impl/ConfigServiceImpl.java index 5586b9f0..c813a398 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/config/service/impl/ConfigServiceImpl.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/config/service/impl/ConfigServiceImpl.java @@ -350,7 +350,7 @@ public class ConfigServiceImpl implements ConfigService { * @param result 结果Map */ private void buildModuleConfig( - String assistantName, + String assistantName, String prompt, String summaryMemory, String voice, @@ -366,17 +366,18 @@ public class ConfigServiceImpl implements ConfigService { Map result, boolean isCache) { Map selectedModule = new HashMap<>(); - + String[] modelTypes = { "VAD", "ASR", "TTS", "Memory", "Intent", "LLM", "VLLM" }; String[] modelIds = { vadModelId, asrModelId, ttsModelId, memModelId, intentModelId, llmModelId, vllmModelId }; String intentLLMModelId = null; String memLocalShortLLMModelId = null; - + for (int i = 0; i < modelIds.length; i++) { if (modelIds[i] == null) { continue; } - ModelConfigEntity model = modelConfigService.getModelById(modelIds[i], isCache); + // 关键:第三个参数传false,确保获取原始密钥 + ModelConfigEntity model = modelConfigService.getModelById(modelIds[i], isCache, false); if (model == null) { continue; } @@ -424,14 +425,16 @@ public class ConfigServiceImpl implements ConfigService { if ("LLM".equals(modelTypes[i])) { if (StringUtils.isNotBlank(intentLLMModelId)) { if (!typeConfig.containsKey(intentLLMModelId)) { - ModelConfigEntity intentLLM = modelConfigService.getModelById(intentLLMModelId, isCache); + // 修改这里:添加isMaskSensitive=false参数 + ModelConfigEntity intentLLM = modelConfigService.getModelById(intentLLMModelId, isCache, false); typeConfig.put(intentLLM.getId(), intentLLM.getConfigJson()); } } if (StringUtils.isNotBlank(memLocalShortLLMModelId)) { if (!typeConfig.containsKey(memLocalShortLLMModelId)) { + // 修改这里:添加isMaskSensitive=false参数 ModelConfigEntity memLocalShortLLM = modelConfigService - .getModelById(memLocalShortLLMModelId, isCache); + .getModelById(memLocalShortLLMModelId, isCache, false); typeConfig.put(memLocalShortLLM.getId(), memLocalShortLLM.getConfigJson()); } } diff --git a/main/manager-api/src/main/java/xiaozhi/modules/model/service/ModelConfigService.java b/main/manager-api/src/main/java/xiaozhi/modules/model/service/ModelConfigService.java index 634101e3..7788cb20 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/model/service/ModelConfigService.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/model/service/ModelConfigService.java @@ -35,17 +35,27 @@ public interface ModelConfigService extends BaseService { /** * 根据ID获取模型配置 * - * @param id 模型ID - * @param isCache 是否缓存 + * @param id 模型ID + * @param isCache 是否缓存 + * @param isMaskSensitive 是否掩码敏感信息 + * @return 模型配置实体 + */ + ModelConfigEntity getModelById(String id, boolean isCache, boolean isMaskSensitive); + + /** + * 根据ID获取模型配置(默认掩码敏感信息) + * + * @param id 模型ID + * @param isCache 是否缓存 * @return 模型配置实体 */ ModelConfigEntity getModelById(String id, boolean isCache); - + /** * 设置默认模型 * - * @param modelType 模型类型 - * @param isDefault 是否默认 + * @param modelType 模型类型 + * @param isDefault 是否默认(1:是,0:否) */ void setDefaultModel(String modelType, int isDefault); } diff --git a/main/manager-api/src/main/java/xiaozhi/modules/model/service/impl/ModelConfigServiceImpl.java b/main/manager-api/src/main/java/xiaozhi/modules/model/service/impl/ModelConfigServiceImpl.java index 3b113d41..cee88568 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/model/service/impl/ModelConfigServiceImpl.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/model/service/impl/ModelConfigServiceImpl.java @@ -212,29 +212,44 @@ public class ModelConfigServiceImpl extends BaseServiceImpl