From e4a0d2c56c9217f86bfbd83b221aa9e8a2e2dc37 Mon Sep 17 00:00:00 2001 From: hrz <1710360675@qq.com> Date: Thu, 10 Apr 2025 00:18:59 +0800 Subject: [PATCH] =?UTF-8?q?update:=E5=88=9D=E5=A7=8B=E5=8C=96=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=95=B0=E6=8D=AE=20(#724)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xiaozhi/common/constant/Constant.java | 8 +++ .../modules/sys/config/SystemInitConfig.java | 21 ++++++++ .../modules/sys/service/SysParamsService.java | 8 ++- .../service/impl/SysParamsServiceImpl.java | 27 +++++++--- .../resources/db/changelog/202504092312.sql | 50 +++++++++++++++++++ .../{202504061512.sql => 202504092335.sql} | 2 +- .../db/changelog/db.changelog-master.yaml | 23 ++++++--- 7 files changed, 123 insertions(+), 16 deletions(-) create mode 100644 main/manager-api/src/main/java/xiaozhi/modules/sys/config/SystemInitConfig.java create mode 100644 main/manager-api/src/main/resources/db/changelog/202504092312.sql rename main/manager-api/src/main/resources/db/changelog/{202504061512.sql => 202504092335.sql} (98%) diff --git a/main/manager-api/src/main/java/xiaozhi/common/constant/Constant.java b/main/manager-api/src/main/java/xiaozhi/common/constant/Constant.java index 3738498b..8daeb25e 100644 --- a/main/manager-api/src/main/java/xiaozhi/common/constant/Constant.java +++ b/main/manager-api/src/main/java/xiaozhi/common/constant/Constant.java @@ -74,8 +74,16 @@ public interface Constant { */ String ORDER = "order"; + /** + * 请求头授权标识 + */ String AUTHORIZATION = "Authorization"; + /** + * 服务器密钥 + */ + String SERVER_SECRET = "server.secret"; + /** * 路径分割符 */ diff --git a/main/manager-api/src/main/java/xiaozhi/modules/sys/config/SystemInitConfig.java b/main/manager-api/src/main/java/xiaozhi/modules/sys/config/SystemInitConfig.java new file mode 100644 index 00000000..5122367d --- /dev/null +++ b/main/manager-api/src/main/java/xiaozhi/modules/sys/config/SystemInitConfig.java @@ -0,0 +1,21 @@ +package xiaozhi.modules.sys.config; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.DependsOn; + +import jakarta.annotation.PostConstruct; +import xiaozhi.modules.sys.service.SysParamsService; + +@Configuration +@DependsOn("liquibase") +public class SystemInitConfig { + + @Autowired + private SysParamsService sysParamsService; + + @PostConstruct + public void init() { + sysParamsService.initServerSecret(); + } +} \ No newline at end of file diff --git a/main/manager-api/src/main/java/xiaozhi/modules/sys/service/SysParamsService.java b/main/manager-api/src/main/java/xiaozhi/modules/sys/service/SysParamsService.java index 7475f346..e7a33a33 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/sys/service/SysParamsService.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/sys/service/SysParamsService.java @@ -29,8 +29,9 @@ public interface SysParamsService extends BaseService { * 根据参数编码,获取参数的value值 * * @param paramCode 参数编码 + * @param fromCache 是否从缓存中获取 */ - String getValue(String paramCode); + String getValue(String paramCode, Boolean fromCache); /** * 根据参数编码,获取value的Object对象 @@ -47,4 +48,9 @@ public interface SysParamsService extends BaseService { * @param paramValue 参数值 */ int updateValueByCode(String paramCode, String paramValue); + + /** + * 初始化服务器密钥 + */ + void initServerSecret(); } diff --git a/main/manager-api/src/main/java/xiaozhi/modules/sys/service/impl/SysParamsServiceImpl.java b/main/manager-api/src/main/java/xiaozhi/modules/sys/service/impl/SysParamsServiceImpl.java index b274f23c..e12e934d 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/sys/service/impl/SysParamsServiceImpl.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/sys/service/impl/SysParamsServiceImpl.java @@ -3,6 +3,7 @@ package xiaozhi.modules.sys.service.impl; import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.UUID; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; @@ -97,19 +98,24 @@ public class SysParamsServiceImpl extends BaseServiceImpl T getValueObject(String paramCode, Class clazz) { - String paramValue = getValue(paramCode); + String paramValue = getValue(paramCode, true); if (StringUtils.isNotBlank(paramValue)) { return JsonUtils.parseObject(paramValue, clazz); } @@ -129,4 +135,13 @@ public class SysParamsServiceImpl extends BaseServiceImpl{time:YYMMDD HH:mm:ss}[{version}_{selected_module}][{extra[tag]}]-{level}-{message}', 1, '控制台日志格式'); +INSERT INTO `sys_params` (id, param_code, param_value, param_type, remark) VALUES (5, 'log.log_format_file', '{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}', 1, '文件日志格式'); +INSERT INTO `sys_params` (id, param_code, param_value, param_type, remark) VALUES (6, 'log.log_level', 'INFO', 1, '日志级别'); +INSERT INTO `sys_params` (id, param_code, param_value, param_type, remark) VALUES (7, 'log.log_dir', 'tmp', 1, '日志目录'); +INSERT INTO `sys_params` (id, param_code, param_value, param_type, remark) VALUES (8, 'log.log_file', 'server.log', 1, '日志文件名'); +INSERT INTO `sys_params` (id, param_code, param_value, param_type, remark) VALUES (9, 'log.data_dir', 'data', 1, '数据目录'); +INSERT INTO `sys_params` (id, param_code, param_value, param_type, remark) VALUES (10, 'delete_audio', 'true', 1, '是否删除使用后的音频文件'); +INSERT INTO `sys_params` (id, param_code, param_value, param_type, remark) VALUES (11, 'close_connection_no_voice_time', '120', 1, '无语音输入断开连接时间(秒)'); +INSERT INTO `sys_params` (id, param_code, param_value, param_type, remark) VALUES (12, 'tts_timeout', '10', 1, 'TTS请求超时时间(秒)'); +INSERT INTO `sys_params` (id, param_code, param_value, param_type, remark) VALUES (13, 'enable_wakeup_words_response_cache', 'true', 1, '是否开启唤醒词加速'); +INSERT INTO `sys_params` (id, param_code, param_value, param_type, remark) VALUES (14, 'enable_greeting', 'true', 1, '是否开启开场回复'); +INSERT INTO `sys_params` (id, param_code, param_value, param_type, remark) VALUES (15, 'enable_stop_tts_notify', 'false', 1, '是否开启结束提示音'); +INSERT INTO `sys_params` (id, param_code, param_value, param_type, remark) VALUES (16, 'stop_tts_notify_voice', 'config/assets/tts_notify.mp3', 1, '结束提示音文件路径'); +INSERT INTO `sys_params` (id, param_code, param_value, param_type, remark) VALUES (17, 'exit_commands', '["退出","关闭"]', 1, '退出命令列表'); +INSERT INTO `sys_params` (id, param_code, param_value, param_type, remark) VALUES (18, 'xiaozhi', '{ + "type": "hello", + "version": 1, + "transport": "websocket", + "audio_params": { + "format": "opus", + "sample_rate": 16000, + "channels": 1, + "frame_duration": 60 + } +}', 1, '小智类型'); +INSERT INTO `sys_params` (id, param_code, param_value, param_type, remark) VALUES (19, 'wakeup_words', '["你好小智","你好小志","小爱同学","你好小鑫","你好小新","小美同学","小龙小龙","喵喵同学","小滨小滨","小冰小冰"]', 1, '唤醒词列表'); diff --git a/main/manager-api/src/main/resources/db/changelog/202504061512.sql b/main/manager-api/src/main/resources/db/changelog/202504092335.sql similarity index 98% rename from main/manager-api/src/main/resources/db/changelog/202504061512.sql rename to main/manager-api/src/main/resources/db/changelog/202504092335.sql index e6956f85..9c254240 100644 --- a/main/manager-api/src/main/resources/db/changelog/202504061512.sql +++ b/main/manager-api/src/main/resources/db/changelog/202504092335.sql @@ -3,7 +3,7 @@ -- 初始化智能体模板数据 DELETE FROM `ai_agent_template`; INSERT INTO `ai_agent_template` VALUES ('9406648b5cc5fde1b8aa335b6f8b4f76', '小智', '湾湾小何', 'ASR_FunASR', 'VAD_SileroVAD', 'LLM_ChatGLMLLM', 'TTS_EdgeTTS', 'TTS_EdgeTTS0001', 'Memory_nomem', 'Intent_function_call', '[角色设定] -我是{{assistant_name}},来自中国台湾省的00后女生。讲话超级机车,"真的假的啦"这样的台湾腔,喜欢用"笑死""是在哈喽"等流行梗,但会偷偷研究男友的编程书籍。 +我是{{assistant_name}},来自中国台湾省的00后女生。讲话超级机车,"真的假的啦"这样的台湾腔,喜欢用"笑死"、"哈喽"等流行梗,但会偷偷研究男友的编程书籍。 [核心特征] - 讲话像连珠炮,但会突然冒出超温柔语气 - 用梗密度高 diff --git a/main/manager-api/src/main/resources/db/changelog/db.changelog-master.yaml b/main/manager-api/src/main/resources/db/changelog/db.changelog-master.yaml index 49b958db..57e6f6b1 100755 --- a/main/manager-api/src/main/resources/db/changelog/db.changelog-master.yaml +++ b/main/manager-api/src/main/resources/db/changelog/db.changelog-master.yaml @@ -23,13 +23,6 @@ databaseChangeLog: - sqlFile: encoding: utf8 path: classpath:db/changelog/2025_tts_voive.sql - - changeSet: - id: 202504061512 - author: John - changes: - - sqlFile: - encoding: utf8 - path: classpath:db/changelog/202504061512.sql - changeSet: id: 202504082210 author: John @@ -43,4 +36,18 @@ databaseChangeLog: changes: - sqlFile: encoding: utf8 - path: classpath:db/changelog/202504082211.sql \ No newline at end of file + path: classpath:db/changelog/202504082211.sql + - changeSet: + id: 202504092312 + author: John + changes: + - sqlFile: + encoding: utf8 + path: classpath:db/changelog/202504092312.sql + - changeSet: + id: 202504092335 + author: John + changes: + - sqlFile: + encoding: utf8 + path: classpath:db/changelog/202504092335.sql \ No newline at end of file