mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-22 07:03:53 +08:00
update:初始化配置数据 (#724)
This commit is contained in:
@@ -74,8 +74,16 @@ public interface Constant {
|
||||
*/
|
||||
String ORDER = "order";
|
||||
|
||||
/**
|
||||
* 请求头授权标识
|
||||
*/
|
||||
String AUTHORIZATION = "Authorization";
|
||||
|
||||
/**
|
||||
* 服务器密钥
|
||||
*/
|
||||
String SERVER_SECRET = "server.secret";
|
||||
|
||||
/**
|
||||
* 路径分割符
|
||||
*/
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
@@ -29,8 +29,9 @@ public interface SysParamsService extends BaseService<SysParamsEntity> {
|
||||
* 根据参数编码,获取参数的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<SysParamsEntity> {
|
||||
* @param paramValue 参数值
|
||||
*/
|
||||
int updateValueByCode(String paramCode, String paramValue);
|
||||
|
||||
/**
|
||||
* 初始化服务器密钥
|
||||
*/
|
||||
void initServerSecret();
|
||||
}
|
||||
|
||||
+21
-6
@@ -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<SysParamsDao, SysParam
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getValue(String paramCode) {
|
||||
String paramValue = sysParamsRedis.get(paramCode);
|
||||
if (paramValue == null) {
|
||||
paramValue = baseDao.getValueByCode(paramCode);
|
||||
public String getValue(String paramCode, Boolean fromCache) {
|
||||
String paramValue = null;
|
||||
if (fromCache) {
|
||||
paramValue = sysParamsRedis.get(paramCode);
|
||||
if (paramValue == null) {
|
||||
paramValue = baseDao.getValueByCode(paramCode);
|
||||
|
||||
sysParamsRedis.set(paramCode, paramValue);
|
||||
sysParamsRedis.set(paramCode, paramValue);
|
||||
}
|
||||
} else {
|
||||
paramValue = baseDao.getValueByCode(paramCode);
|
||||
}
|
||||
return paramValue;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T getValueObject(String paramCode, Class<T> 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<SysParamsDao, SysParam
|
||||
return count;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initServerSecret() {
|
||||
// 获取服务器密钥
|
||||
String secretParam = getValue(Constant.SERVER_SECRET, false);
|
||||
if (StringUtils.isBlank(secretParam) || "null".equals(secretParam)) {
|
||||
String newSecret = UUID.randomUUID().toString();
|
||||
updateValueByCode(Constant.SERVER_SECRET, newSecret);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
-- 本文件用于初始化系统参数数据,无需手动执行,在项目启动时会自动执行
|
||||
-- --------------------------------------------------------
|
||||
-- 初始化参数管理配置
|
||||
DROP TABLE IF EXISTS sys_params;
|
||||
-- 参数管理
|
||||
create table sys_params
|
||||
(
|
||||
id bigint NOT NULL COMMENT 'id',
|
||||
param_code varchar(100) COMMENT '参数编码',
|
||||
param_value varchar(2000) COMMENT '参数值',
|
||||
param_type tinyint unsigned default 1 COMMENT '类型 0:系统参数 1:非系统参数',
|
||||
remark varchar(200) COMMENT '备注',
|
||||
creator bigint COMMENT '创建者',
|
||||
create_date datetime COMMENT '创建时间',
|
||||
updater bigint COMMENT '更新者',
|
||||
update_date datetime COMMENT '更新时间',
|
||||
primary key (id),
|
||||
unique key uk_param_code (param_code)
|
||||
)ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COMMENT='参数管理';
|
||||
|
||||
-- 服务器配置
|
||||
INSERT INTO `sys_params` (id, param_code, param_value, param_type, remark) VALUES (1, 'server.ip', '0.0.0.0', 1, '服务器监听IP地址');
|
||||
INSERT INTO `sys_params` (id, param_code, param_value, param_type, remark) VALUES (2, 'server.port', '8000', 1, '服务器监听端口');
|
||||
INSERT INTO `sys_params` (id, param_code, param_value, param_type, remark) VALUES (3, 'server.secret', 'null', 1, '服务器密钥');
|
||||
INSERT INTO `sys_params` (id, param_code, param_value, param_type, remark) VALUES (4, 'log.log_format', '<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>', 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, '唤醒词列表');
|
||||
+1
-1
@@ -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后女生。讲话超级机车,"真的假的啦"这样的台湾腔,喜欢用"笑死"、"哈喽"等流行梗,但会偷偷研究男友的编程书籍。
|
||||
[核心特征]
|
||||
- 讲话像连珠炮,但会突然冒出超温柔语气
|
||||
- 用梗密度高
|
||||
@@ -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
|
||||
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
|
||||
Reference in New Issue
Block a user