From c331b8322c84628c7f72f62527f2875617c058fe Mon Sep 17 00:00:00 2001 From: LiJinHui <166460433+stu-rgsze@users.noreply.github.com> Date: Wed, 17 Sep 2025 15:38:23 +0800 Subject: [PATCH 01/19] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E8=A7=92=E8=89=B2=E6=A8=A1=E7=89=88=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AgentTemplateController.java | 223 ++++++ main/manager-web/src/apis/module/agent.js | 87 ++- .../src/components/AgentTemplateDialog.vue | 106 +++ .../src/components/DefaultRoleDialog.vue | 322 ++++++++ main/manager-web/src/components/HeaderBar.vue | 14 +- main/manager-web/src/i18n/zh_CN.js | 1 + main/manager-web/src/router/index.js | 25 +- .../src/views/AgentTemplateManagement.vue | 731 +++++++++++++++++ .../src/views/TemplateQuickConfig.vue | 738 ++++++++++++++++++ 9 files changed, 2242 insertions(+), 5 deletions(-) create mode 100644 main/manager-api/src/main/java/xiaozhi/modules/agent/controller/AgentTemplateController.java create mode 100644 main/manager-web/src/components/AgentTemplateDialog.vue create mode 100644 main/manager-web/src/components/DefaultRoleDialog.vue create mode 100644 main/manager-web/src/views/AgentTemplateManagement.vue create mode 100644 main/manager-web/src/views/TemplateQuickConfig.vue diff --git a/main/manager-api/src/main/java/xiaozhi/modules/agent/controller/AgentTemplateController.java b/main/manager-api/src/main/java/xiaozhi/modules/agent/controller/AgentTemplateController.java new file mode 100644 index 00000000..ba317938 --- /dev/null +++ b/main/manager-api/src/main/java/xiaozhi/modules/agent/controller/AgentTemplateController.java @@ -0,0 +1,223 @@ +package xiaozhi.modules.agent.controller; + +import java.util.List; +import java.util.Map; + +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.validation.Valid; +import lombok.AllArgsConstructor; +import xiaozhi.common.constant.Constant; +import xiaozhi.common.page.PageData; +import xiaozhi.common.utils.Result; +import xiaozhi.common.utils.ResultUtils; +import xiaozhi.modules.agent.entity.AgentTemplateEntity; +import xiaozhi.modules.agent.service.AgentTemplateService; +import xiaozhi.modules.agent.vo.AgentTemplateVO; + +@Tag(name = "智能体模板管理") +@AllArgsConstructor +@RestController +@RequestMapping("/agent/template") +public class AgentTemplateController { + + private final AgentTemplateService agentTemplateService; + + @GetMapping("/all") + @Operation(summary = "获取所有模板列表") + @RequiresPermissions("sys:role:normal") + public Result> getAgentTemplates() { + List templates = agentTemplateService.list(); + // 转换为VO列表 + List voList = templates.stream().map(template -> { + AgentTemplateVO vo = new AgentTemplateVO(); + // 复制属性 + vo.setId(template.getId()); + vo.setAgentCode(template.getAgentCode()); + vo.setAgentName(template.getAgentName()); + vo.setAsrModelId(template.getAsrModelId()); + vo.setVadModelId(template.getVadModelId()); + vo.setLlmModelId(template.getLlmModelId()); + vo.setVllmModelId(template.getVllmModelId()); + vo.setTtsModelId(template.getTtsModelId()); + vo.setTtsVoiceId(template.getTtsVoiceId()); + vo.setMemModelId(template.getMemModelId()); + vo.setIntentModelId(template.getIntentModelId()); + vo.setChatHistoryConf(template.getChatHistoryConf()); + vo.setSystemPrompt(template.getSystemPrompt()); + vo.setSummaryMemory(template.getSummaryMemory()); + vo.setLangCode(template.getLangCode()); + vo.setLanguage(template.getLanguage()); + vo.setSort(template.getSort()); + vo.setCreator(template.getCreator()); + vo.setCreatedAt(template.getCreatedAt()); + vo.setUpdater(template.getUpdater()); + vo.setUpdatedAt(template.getUpdatedAt()); + return vo; + }).toList(); + return new Result>().ok(voList); + } + + @GetMapping("/page") + @Operation(summary = "获取模板分页列表") + @RequiresPermissions("sys:role:normal") + @Parameters({ + @Parameter(name = Constant.PAGE, description = "当前页码,从1开始", required = true), + @Parameter(name = Constant.LIMIT, description = "每页显示记录数", required = true), + @Parameter(name = "agentName", description = "模板名称,模糊查询") + }) + public Result> getAgentTemplatesPage( + @Parameter(hidden = true) @RequestParam Map params) { + + // 创建分页对象 + int page = Integer.parseInt(params.getOrDefault(Constant.PAGE, "1").toString()); + int limit = Integer.parseInt(params.getOrDefault(Constant.LIMIT, "10").toString()); + Page pageInfo = new Page<>(page, limit); + + // 创建查询条件 + QueryWrapper wrapper = new QueryWrapper<>(); + String agentName = (String) params.get("agentName"); + if (agentName != null && !agentName.isEmpty()) { + wrapper.like("agent_name", agentName); + } + wrapper.orderByAsc("sort"); + + // 执行分页查询 + IPage pageResult = agentTemplateService.page(pageInfo, wrapper); + + // 转换为PageData对象 + List voList = pageResult.getRecords().stream().map(template -> { + AgentTemplateVO vo = new AgentTemplateVO(); + // 复制属性 + vo.setId(template.getId()); + vo.setAgentCode(template.getAgentCode()); + vo.setAgentName(template.getAgentName()); + vo.setAsrModelId(template.getAsrModelId()); + vo.setVadModelId(template.getVadModelId()); + vo.setLlmModelId(template.getLlmModelId()); + vo.setVllmModelId(template.getVllmModelId()); + vo.setTtsModelId(template.getTtsModelId()); + vo.setTtsVoiceId(template.getTtsVoiceId()); + vo.setMemModelId(template.getMemModelId()); + vo.setIntentModelId(template.getIntentModelId()); + vo.setChatHistoryConf(template.getChatHistoryConf()); + vo.setSystemPrompt(template.getSystemPrompt()); + vo.setSummaryMemory(template.getSummaryMemory()); + vo.setLangCode(template.getLangCode()); + vo.setLanguage(template.getLanguage()); + vo.setSort(template.getSort()); + vo.setCreator(template.getCreator()); + vo.setCreatedAt(template.getCreatedAt()); + vo.setUpdater(template.getUpdater()); + vo.setUpdatedAt(template.getUpdatedAt()); + return vo; + }).toList(); + + // 修复:使用构造函数创建PageData对象,而不是无参构造+setter + PageData pageData = new PageData<>(voList, pageResult.getTotal()); + + return new Result>().ok(pageData); + } + + @GetMapping("/{id}") + @Operation(summary = "获取模板详情") + @RequiresPermissions("sys:role:normal") + public Result getAgentTemplateById(@PathVariable("id") String id) { + AgentTemplateEntity template = agentTemplateService.getById(id); + if (template == null) { + return ResultUtils.error("模板不存在"); + } + + // 转换为VO + AgentTemplateVO vo = new AgentTemplateVO(); + // 复制属性 + vo.setId(template.getId()); + vo.setAgentCode(template.getAgentCode()); + vo.setAgentName(template.getAgentName()); + vo.setAsrModelId(template.getAsrModelId()); + vo.setVadModelId(template.getVadModelId()); + vo.setLlmModelId(template.getLlmModelId()); + vo.setVllmModelId(template.getVllmModelId()); + vo.setTtsModelId(template.getTtsModelId()); + vo.setTtsVoiceId(template.getTtsVoiceId()); + vo.setMemModelId(template.getMemModelId()); + vo.setIntentModelId(template.getIntentModelId()); + vo.setChatHistoryConf(template.getChatHistoryConf()); + vo.setSystemPrompt(template.getSystemPrompt()); + vo.setSummaryMemory(template.getSummaryMemory()); + vo.setLangCode(template.getLangCode()); + vo.setLanguage(template.getLanguage()); + vo.setSort(template.getSort()); + vo.setCreator(template.getCreator()); + vo.setCreatedAt(template.getCreatedAt()); + vo.setUpdater(template.getUpdater()); + vo.setUpdatedAt(template.getUpdatedAt()); + + return ResultUtils.success(vo); + } + + @PostMapping + @Operation(summary = "创建模板") + @RequiresPermissions("sys:role:normal") + public Result createAgentTemplate(@Valid @RequestBody AgentTemplateEntity template) { + boolean saved = agentTemplateService.save(template); + if (saved) { + return ResultUtils.success(template); + } else { + return ResultUtils.error("创建模板失败"); + } + } + + @PutMapping + @Operation(summary = "更新模板") + @RequiresPermissions("sys:role:normal") + public Result updateAgentTemplate(@Valid @RequestBody AgentTemplateEntity template) { + boolean updated = agentTemplateService.updateById(template); + if (updated) { + return ResultUtils.success(template); + } else { + return ResultUtils.error("更新模板失败"); + } + } + + @DeleteMapping("/{id}") + @Operation(summary = "删除模板") + @RequiresPermissions("sys:role:normal") + public Result deleteAgentTemplate(@PathVariable("id") String id) { + boolean deleted = agentTemplateService.removeById(id); + if (deleted) { + return ResultUtils.success("删除成功"); + } else { + return ResultUtils.error("删除模板失败"); + } + } + + @DeleteMapping("/batch-delete") + @Operation(summary = "批量删除模板") + @RequiresPermissions("sys:role:normal") + public Result batchDeleteAgentTemplates(@RequestBody List ids) { + boolean deleted = agentTemplateService.removeByIds(ids); + if (deleted) { + return ResultUtils.success("批量删除成功"); + } else { + return ResultUtils.error("批量删除模板失败"); + } + } +} \ No newline at end of file diff --git a/main/manager-web/src/apis/module/agent.js b/main/manager-web/src/apis/module/agent.js index 66126237..2d5eade2 100644 --- a/main/manager-web/src/apis/module/agent.js +++ b/main/manager-web/src/apis/module/agent.js @@ -84,7 +84,7 @@ export default { // 新增方法:获取智能体模板 getAgentTemplate(callback) { // 移除templateName参数 RequestService.sendRequest() - .url(`${getServiceUrl()}/agent/template`) + .url(`${getServiceUrl()}/agent/template/all`) .method('GET') .success((res) => { RequestService.clearRequestTime(); @@ -97,6 +97,24 @@ export default { }); }).send(); }, + + // 新增:获取智能体模板分页列表 + getAgentTemplatesPage(params, callback) { + RequestService.sendRequest() + .url(`${getServiceUrl()}/agent/template/page`) + .method('GET') + .data(params) + .success((res) => { + RequestService.clearRequestTime(); + callback(res); + }) + .networkFail((err) => { + console.error('获取模板分页列表失败:', err); + RequestService.reAjaxFun(() => { + this.getAgentTemplatesPage(params, callback); + }); + }).send(); + }, // 获取智能体会话列表 getAgentSessions(agentId, params, callback) { RequestService.sendRequest() @@ -265,4 +283,71 @@ export default { }); }).send(); }, + // 在文件末尾(在最后一个方法后,大括号前)添加以下方法: + // 新增智能体模板 + addAgentTemplate(templateData, callback) { + RequestService.sendRequest() + .url(`${getServiceUrl()}/agent/template`) + .method('POST') + .data(templateData) + .success((res) => { + RequestService.clearRequestTime(); + callback(res); + }) + .networkFail(() => { + RequestService.reAjaxFun(() => { + this.addAgentTemplate(templateData, callback); + }); + }).send(); + }, + + // 更新智能体模板 + updateAgentTemplate(templateData, callback) { + RequestService.sendRequest() + .url(`${getServiceUrl()}/agent/template`) + .method('PUT') + .data(templateData) + .success((res) => { + RequestService.clearRequestTime(); + callback(res); + }) + .networkFail(() => { + RequestService.reAjaxFun(() => { + this.updateAgentTemplate(templateData, callback); + }); + }).send(); + }, + + // 删除智能体模板 + deleteAgentTemplate(id, callback) { + RequestService.sendRequest() + .url(`${getServiceUrl()}/agent/template/${id}`) + .method('DELETE') + .success((res) => { + RequestService.clearRequestTime(); + callback(res); + }) + .networkFail(() => { + RequestService.reAjaxFun(() => { + this.deleteAgentTemplate(id, callback); + }); + }).send(); + }, + + // 批量删除智能体模板 + batchDeleteAgentTemplate(ids, callback) { + RequestService.sendRequest() + .url(`${getServiceUrl()}/agent/template/batch-delete`) + .method('DELETE') + .data(ids) + .success((res) => { + RequestService.clearRequestTime(); + callback(res); + }) + .networkFail(() => { + RequestService.reAjaxFun(() => { + this.batchDeleteAgentTemplate(ids, callback); + }); + }).send(); + }, } diff --git a/main/manager-web/src/components/AgentTemplateDialog.vue b/main/manager-web/src/components/AgentTemplateDialog.vue new file mode 100644 index 00000000..99586aa2 --- /dev/null +++ b/main/manager-web/src/components/AgentTemplateDialog.vue @@ -0,0 +1,106 @@ + + + + + \ No newline at end of file diff --git a/main/manager-web/src/components/DefaultRoleDialog.vue b/main/manager-web/src/components/DefaultRoleDialog.vue new file mode 100644 index 00000000..d68299df --- /dev/null +++ b/main/manager-web/src/components/DefaultRoleDialog.vue @@ -0,0 +1,322 @@ + + + + + + + \ No newline at end of file diff --git a/main/manager-web/src/components/HeaderBar.vue b/main/manager-web/src/components/HeaderBar.vue index 2042d335..c14804cc 100644 --- a/main/manager-web/src/components/HeaderBar.vue +++ b/main/manager-web/src/components/HeaderBar.vue @@ -35,11 +35,11 @@ {{ $t('header.otaManagement') }} + :style="{ filter: $route.path === '/dict-management' || $route.path === '/params-management' || $route.path === '/provider-management' || $route.path === '/server-side-management' || $route.path === '/agent-template-management' ? 'brightness(0) invert(1)' : 'None' }" /> {{ $t('header.paramDictionary') }} @@ -56,10 +56,14 @@ {{ $t('header.serverSideManagement') }} + + + {{ $t('header.agentTemplate') }} + - +
@@ -193,6 +197,10 @@ export default { goServerSideManagement() { this.$router.push('/server-side-management') }, + // 添加默认角色模板管理导航方法 + goAgentTemplateManagement() { + this.$router.push('/agent-template-management') + }, // 获取用户信息 fetchUserInfo() { userApi.getUserInfo(({ data }) => { diff --git a/main/manager-web/src/i18n/zh_CN.js b/main/manager-web/src/i18n/zh_CN.js index 946e977f..8a3c8606 100644 --- a/main/manager-web/src/i18n/zh_CN.js +++ b/main/manager-web/src/i18n/zh_CN.js @@ -7,6 +7,7 @@ export default { 'header.paramDictionary': '参数字典', 'header.paramManagement': '参数管理', 'header.dictManagement': '字典管理', + 'header.agentTemplate': '默认角色模板', // 字典数据对话框相关 'dictDataDialog.addDictData': '新增字典数据', diff --git a/main/manager-web/src/router/index.js b/main/manager-web/src/router/index.js index 867e6c2d..fae7de6a 100644 --- a/main/manager-web/src/router/index.js +++ b/main/manager-web/src/router/index.js @@ -124,6 +124,29 @@ const routes = [ return import('../views/ProviderManagement.vue') } }, + // 添加默认角色管理路由 + { + path: '/agent-template-management', + name: 'AgentTemplateManagement', + component: function () { + return import('../views/AgentTemplateManagement.vue') + } + }, + // 添加模板快速配置路由 + { + path: '/template-quick-config', + name: 'TemplateQuickConfig', + component: function () { + return import('../views/TemplateQuickConfig.vue') + } + }, + { + path: '/provider-management', + name: 'ProviderManagement', + component: function () { + return import('../views/ProviderManagement.vue') + } + }, ] const router = new VueRouter({ base: process.env.VUE_APP_PUBLIC_PATH || '/', @@ -145,7 +168,7 @@ VueRouter.prototype.push = function push(location) { } // 需要登录才能访问的路由 -const protectedRoutes = ['home', 'RoleConfig', 'DeviceManagement', 'UserManagement', 'ModelConfig'] +const protectedRoutes = ['home', 'RoleConfig', 'DeviceManagement', 'UserManagement', 'ModelConfig', 'TemplateQuickConfig'] // 路由守卫 router.beforeEach((to, from, next) => { diff --git a/main/manager-web/src/views/AgentTemplateManagement.vue b/main/manager-web/src/views/AgentTemplateManagement.vue new file mode 100644 index 00000000..91b5e8cf --- /dev/null +++ b/main/manager-web/src/views/AgentTemplateManagement.vue @@ -0,0 +1,731 @@ + + + + + \ No newline at end of file diff --git a/main/manager-web/src/views/TemplateQuickConfig.vue b/main/manager-web/src/views/TemplateQuickConfig.vue new file mode 100644 index 00000000..49c4ec37 --- /dev/null +++ b/main/manager-web/src/views/TemplateQuickConfig.vue @@ -0,0 +1,738 @@ + + + + + \ No newline at end of file From a199e47701a88e7424b7156d89e3bd6dafc3d89e Mon Sep 17 00:00:00 2001 From: LiJinHui <166460433+stu-rgsze@users.noreply.github.com> Date: Thu, 18 Sep 2025 09:35:03 +0800 Subject: [PATCH 02/19] =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E5=B8=83=E5=B1=80?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AgentTemplateController.java | 18 ++++++++++++-- main/manager-web/src/apis/module/agent.js | 8 +++---- .../src/views/AgentTemplateManagement.vue | 24 +++++++++++-------- .../src/views/TemplateQuickConfig.vue | 23 +++++++++++------- 4 files changed, 48 insertions(+), 25 deletions(-) diff --git a/main/manager-api/src/main/java/xiaozhi/modules/agent/controller/AgentTemplateController.java b/main/manager-api/src/main/java/xiaozhi/modules/agent/controller/AgentTemplateController.java index ba317938..3b3dda7f 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/agent/controller/AgentTemplateController.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/agent/controller/AgentTemplateController.java @@ -209,10 +209,24 @@ public class AgentTemplateController { } } - @DeleteMapping("/batch-delete") + // 删除原有的批量删除方法 + // @PostMapping("/batch-delete") + // @Operation(summary = "批量删除模板") + // @RequiresPermissions("sys:role:normal") + // public Result batchDeleteAgentTemplates(@RequestBody List ids) { + // boolean deleted = agentTemplateService.removeByIds(ids); + // if (deleted) { + // return ResultUtils.success("批量删除成功"); + // } else { + // return ResultUtils.error("批量删除模板失败"); + // } + // } + + // 添加新的批量删除方法,使用不同的URL + @PostMapping("/batch-remove") @Operation(summary = "批量删除模板") @RequiresPermissions("sys:role:normal") - public Result batchDeleteAgentTemplates(@RequestBody List ids) { + public Result batchRemoveAgentTemplates(@RequestBody List ids) { boolean deleted = agentTemplateService.removeByIds(ids); if (deleted) { return ResultUtils.success("批量删除成功"); diff --git a/main/manager-web/src/apis/module/agent.js b/main/manager-web/src/apis/module/agent.js index 2d5eade2..ec7201c3 100644 --- a/main/manager-web/src/apis/module/agent.js +++ b/main/manager-web/src/apis/module/agent.js @@ -1,5 +1,5 @@ -import { getServiceUrl } from '../api'; import RequestService from '../httpRequest'; +import { getServiceUrl } from '../api'; export default { @@ -337,9 +337,9 @@ export default { // 批量删除智能体模板 batchDeleteAgentTemplate(ids, callback) { RequestService.sendRequest() - .url(`${getServiceUrl()}/agent/template/batch-delete`) - .method('DELETE') - .data(ids) + .url(`${getServiceUrl()}/agent/template/batch-remove`) // 修改为新的URL + .method('POST') + .data(Array.isArray(ids) ? ids : [ids]) // 确保是数组格式 .success((res) => { RequestService.clearRequestTime(); callback(res); diff --git a/main/manager-web/src/views/AgentTemplateManagement.vue b/main/manager-web/src/views/AgentTemplateManagement.vue index 91b5e8cf..d8671db4 100644 --- a/main/manager-web/src/views/AgentTemplateManagement.vue +++ b/main/manager-web/src/views/AgentTemplateManagement.vue @@ -23,11 +23,11 @@ + class="transparent-table"> @@ -298,6 +298,7 @@ export default { }, // 修改batchDeleteTemplate方法,使用selectedTemplates + // 批量删除模板 - 完全重写这个方法 batchDeleteTemplate() { if (this.selectedTemplates.length === 0) { this.$message.warning('请选择要删除的模板') @@ -309,12 +310,19 @@ export default { cancelButtonText: '取消', type: 'warning' }).then(() => { + // 确保参数格式正确 - 将id数组作为请求体 const ids = this.selectedTemplates.map(template => template.id) + console.log('批量删除的模板ID:', ids) + agentApi.batchDeleteAgentTemplate(ids, (res) => { + // 添加更健壮的响应处理 + console.log('批量删除响应:', res) if (res && typeof res === 'object') { if (res.data && res.data.code === 0) { this.$message.success('模板批量删除成功') + // 重新加载模板列表 this.loadTemplateList() + // 清空选中状态 this.selectedTemplates = [] this.isAllSelected = false } else { @@ -322,7 +330,7 @@ export default { } } else { console.error('无效的响应对象:', res) - this.$message.error('删除失败') + this.$message.error('删除失败,请检查后端服务是否正常') } }) }).catch(() => { @@ -402,14 +410,10 @@ export default { this.isAllSelected = this.templateList.length > 0 && this.selectedTemplates.length === this.templateList.length; }, - // 修改handleRowClick方法,实现点击行选中/取消选中 + // 修改handleRowClick方法,移除选中状态切换逻辑 handleRowClick(row, event, column) { - // 如果点击的是选择框所在的列,则不触发行选择 - if (column && column.label === '选择') { - return; - } - row.selected = !row.selected; - this.handleRowSelectionChange(row); + // 完全移除选中状态切换的逻辑,只允许通过复选框点击来选择 + // 保留方法以避免可能的事件处理问题 }, } diff --git a/main/manager-web/src/views/TemplateQuickConfig.vue b/main/manager-web/src/views/TemplateQuickConfig.vue index 49c4ec37..06af4ac8 100644 --- a/main/manager-web/src/views/TemplateQuickConfig.vue +++ b/main/manager-web/src/views/TemplateQuickConfig.vue @@ -521,9 +521,9 @@ export default { } .main-wrapper { - margin: 0 22px 22px 22px; /* 保留左右和底部边距 */ + margin: 1vh 22px; /* 借鉴角色配置页面,使用1vh的上下边距,使上下边框更加均衡 */ border-radius: 15px; - height: calc(100vh - 14vh); /* 调整高度计算 */ + height: calc(100vh - 24vh); /* 借鉴角色配置页面的高度计算方式 */ box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1); position: relative; background: rgba(237, 242, 255, 0.5); @@ -534,16 +534,21 @@ export default { .content-panel { flex: 1; - overflow-y: auto; - padding: 0 !important; /* 确保没有内边距 */ - margin: 0 !important; /* 确保没有外边距 */ + display: flex; + overflow: hidden; + height: 100%; + border-radius: 15px; + background: transparent; + border: 1px solid #fff; /* 借鉴角色配置页面,添加白色边框 */ } .content-area { - width: 100% !important; - max-width: none !important; - margin: 0 !important; - height: 100% !important; + flex: 1; + height: 100%; + overflow: auto; + background-color: white; + display: flex; + flex-direction: column; } /* 调整config-card样式 */ From 6a8c4ccbf868dfdc87cf10d4e4f3c192d059d90c Mon Sep 17 00:00:00 2001 From: LiJinHui <166460433+stu-rgsze@users.noreply.github.com> Date: Thu, 18 Sep 2025 16:43:52 +0800 Subject: [PATCH 03/19] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=9B=BD=E9=99=85?= =?UTF-8?q?=E5=8C=96=E7=9A=84=E5=8A=9F=E8=83=BD=EF=BC=8C=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/AgentTemplateDialog.vue | 31 ++-- main/manager-web/src/i18n/en.js | 70 +++++++++ main/manager-web/src/i18n/zh_CN.js | 76 ++++++++- main/manager-web/src/i18n/zh_TW.js | 71 ++++++++- .../src/views/AgentTemplateManagement.vue | 148 +++++++++++------- .../src/views/TemplateQuickConfig.vue | 14 +- 6 files changed, 327 insertions(+), 83 deletions(-) diff --git a/main/manager-web/src/components/AgentTemplateDialog.vue b/main/manager-web/src/components/AgentTemplateDialog.vue index 99586aa2..451c80d0 100644 --- a/main/manager-web/src/components/AgentTemplateDialog.vue +++ b/main/manager-web/src/components/AgentTemplateDialog.vue @@ -1,8 +1,14 @@ @@ -58,18 +64,13 @@ export default { // 表单验证规则 rules: { agentName: [ - { required: true, message: '请输入模板名称', trigger: 'blur' }, - { min: 2, max: 50, message: '模板名称长度在 2 到 50 个字符', trigger: 'blur' } + { required: true, message: this.$t('agentTemplateManagement.templateDialog.nameRequired'), trigger: 'blur' } ], - langCode: [ - { required: true, message: '请输入语言编码', trigger: 'blur' } - ], - language: [ - { required: true, message: '请输入交互语种', trigger: 'blur' } + roleName: [ + { required: true, message: this.$t('agentTemplateManagement.templateDialog.roleNameRequired'), trigger: 'blur' } ], systemPrompt: [ - { required: true, message: '请输入角色设定参数', trigger: 'blur' }, - { min: 10, message: '角色设定参数至少需要 10 个字符', trigger: 'blur' } + { required: true, message: this.$t('agentTemplateManagement.templateDialog.systemPromptRequired'), trigger: 'blur' } ] } } diff --git a/main/manager-web/src/i18n/en.js b/main/manager-web/src/i18n/en.js index c030cc33..3f6bef08 100644 --- a/main/manager-web/src/i18n/en.js +++ b/main/manager-web/src/i18n/en.js @@ -824,4 +824,74 @@ export default { 'providerDialog.selectFieldsToDelete': 'Please select fields to delete first', 'providerDialog.confirmBatchDeleteFields': 'Are you sure to delete {count} selected fields?', 'providerDialog.batchDeleteFieldsSuccess': 'Successfully deleted {count} fields', + + // ...existing code ... + agentTemplateManagement: { + title: 'Default Role Management', + templateName: 'Template Name', + description: 'Description', + createTime: 'Creation Time', + action: 'Action', + createTemplate: 'Create Template', + editTemplate: 'Edit Template', + deleteTemplate: 'Delete Template', + deleteSuccess: 'Template deleted successfully', + confirmDelete: 'Are you sure you want to delete the selected templates?', + batchDelete: 'Batch Delete', + batchDeleteSuccess: 'Batch deletion successful', + selectTemplate: 'Please select a template', + select: 'Select', + searchPlaceholder: 'Please enter template name to search', + search: 'Search', + serialNumber: 'Serial Number', + selectAll: 'Select All', + deselectAll: 'Deselect All', + templateDialog: { + title: 'Template Configuration', + templateName: 'Template Name', + templateNamePlaceholder: 'Please enter template name', + description: 'Description', + descriptionPlaceholder: 'Please enter description', + roleName: 'Role Name', + roleNamePlaceholder: 'Please enter role name', + avatar: 'Avatar', + selectAvatar: 'Select Avatar', + systemPrompt: 'System Prompt', + systemPromptPlaceholder: 'Please enter system prompt', + modelConfig: 'Model Configuration', + modelName: 'Model Name', + temperature: 'Temperature', + topP: 'Top P', + maxTokens: 'Max Tokens', + save: 'Save', + cancel: 'Cancel', + nameRequired: 'Please enter template name', + roleNameRequired: 'Please enter role name', + systemPromptRequired: 'Please enter system prompt' + } + }, + templateQuickConfig: { + title: 'Module Quick Configuration', + basicSettings: 'Basic Settings', + agentSettings: { + agentName: 'Nickname', + agentNamePlaceholder: 'Please enter nickname', + systemPrompt: 'Introduction', + systemPromptPlaceholder: 'Please enter introduction' + }, + modelSettings: 'Model Settings', + voiceSettings: 'Voice Settings', + serviceSettings: 'Service Settings', + deviceSettings: 'Device Settings', + pluginSettings: 'Plugin Settings', + saveConfig: 'Save Configuration', + resetConfig: 'Reset Configuration', + configSaved: 'Configuration saved successfully', + configReset: 'Configuration has been reset', + confirmReset: 'Are you sure you want to reset the configuration?', + success: 'Success', + error: 'Error', + warning: 'Warning', + info: 'Info' + } }; \ No newline at end of file diff --git a/main/manager-web/src/i18n/zh_CN.js b/main/manager-web/src/i18n/zh_CN.js index 8a3c8606..ae1097f4 100644 --- a/main/manager-web/src/i18n/zh_CN.js +++ b/main/manager-web/src/i18n/zh_CN.js @@ -385,7 +385,7 @@ export default { 'dictManagement.dictValue': '字典值', 'dictManagement.sort': '排序', 'dictManagement.delete': '删除', - 'dictManagement.selectAll': '全选', + 'dictManagement.selectAll': '默认角色管理', 'dictManagement.deselectAll': '取消全选', 'dictManagement.addDictType': '新增字典类型', 'dictManagement.batchDeleteDictType': '批量删除字典类型', @@ -825,4 +825,76 @@ export default { 'providerDialog.selectFieldsToDelete': '请先选择要删除的字段', 'providerDialog.confirmBatchDeleteFields': '确定要删除选中的{count}个字段吗?', 'providerDialog.batchDeleteFieldsSuccess': '成功删除{count}个字段', -}; \ No newline at end of file + + // 默认角色模版和模版快速配置页面 + // 在agentTemplateManagement对象中添加 + agentTemplateManagement: { + title: '默认角色管理', + templateName: '模板名称', + description: '模板描述', + createTime: '创建时间', + action: '操作', + createTemplate: '创建模板', + editTemplate: '编辑模板', + deleteTemplate: '删除模板', + deleteSuccess: '模板删除成功', + confirmDelete: '确定要删除选中的模板吗?', + batchDelete: '批量删除', + batchDeleteSuccess: '批量删除成功', + selectTemplate: '请选择模板', + select: '选择', + searchPlaceholder: '请输入模板名称搜索', + search: '搜索', + serialNumber: '序号', + selectAll: '全选', + deselectAll: '取消全选', + templateDialog: { + title: '模板配置', + templateName: '模板名称', + templateNamePlaceholder: '请输入模板名称', + description: '模板描述', + descriptionPlaceholder: '请输入模板描述', + roleName: '角色名称', + roleNamePlaceholder: '请输入角色名称', + avatar: '头像', + selectAvatar: '选择头像', + systemPrompt: '系统提示词', + systemPromptPlaceholder: '请输入系统提示词', + modelConfig: '模型配置', + modelName: '模型名称', + temperature: '温度', + topP: 'Top P', + maxTokens: '最大 tokens', + save: '保存', + cancel: '取消', + nameRequired: '请输入模板名称', + roleNameRequired: '请输入角色名称', + systemPromptRequired: '请输入系统提示词' + } + }, + templateQuickConfig: { + title: '模块快速配置', + basicSettings: '基本设置', + agentSettings: '助手昵称', + agentSettings: { + agentName: '助手昵称', + agentNamePlaceholder: '请输入助手昵称', + systemPrompt: '角色介绍', + systemPromptPlaceholder: '请输入角色介绍' + }, + modelSettings: '模型设置', + voiceSettings: '语音设置', + serviceSettings: '服务设置', + deviceSettings: '设备设置', + pluginSettings: '插件设置', + saveConfig: '保存配置', + resetConfig: '重置配置', + configSaved: '配置保存成功', + configReset: '配置已重置', + confirmReset: '确定要重置配置吗?', + success: '成功', + error: '错误', + warning: '警告', + info: '提示' + } +} \ No newline at end of file diff --git a/main/manager-web/src/i18n/zh_TW.js b/main/manager-web/src/i18n/zh_TW.js index 51143d26..b78af25e 100644 --- a/main/manager-web/src/i18n/zh_TW.js +++ b/main/manager-web/src/i18n/zh_TW.js @@ -824,4 +824,73 @@ export default { 'providerDialog.selectFieldsToDelete': '請先選擇要刪除的字段', 'providerDialog.confirmBatchDeleteFields': '確定要刪除選中的{count}個字段嗎?', 'providerDialog.batchDeleteFieldsSuccess': '成功刪除{count}個字段', -}; \ No newline at end of file + +agentTemplateManagement: { + title: '預設角色管理', + templateName: '模板名稱', + description: '模板描述', + createTime: '建立時間', + action: '操作', + createTemplate: '建立模板', + editTemplate: '編輯模板', + deleteTemplate: '刪除模板', + deleteSuccess: '模板刪除成功', + confirmDelete: '確定要刪除選取的模板嗎?', + batchDelete: '批次刪除', + batchDeleteSuccess: '批次刪除成功', + selectTemplate: '請選擇模板', + select: '選擇', + searchPlaceholder: '請輸入模板名稱搜尋', + search: '搜尋', + serialNumber:'序號', + selectAll: '全選', + deselectAll: '取消全選', + templateDialog: { + title: '模板配置', + templateName: '模板名稱', + templateNamePlaceholder: '請輸入模板名稱', + description: '模板描述', + descriptionPlaceholder: '請輸入模板描述', + roleName: '角色名稱', + roleNamePlaceholder: '請輸入角色名稱', + avatar: '頭像', + selectAvatar: '選擇頭像', + systemPrompt: '系統提示詞', + systemPromptPlaceholder: '請輸入系統提示詞', + modelConfig: '模型配置', + modelName: '模型名稱', + temperature: '溫度', + topP: 'Top P', + maxTokens: '最大 tokens', + save: '保存', + cancel: '取消', + nameRequired: '請輸入模板名稱', + roleNameRequired: '請輸入角色名稱', + systemPromptRequired: '請輸入系統提示詞' + } +}, +templateQuickConfig: { + title: '模組快速配置', + basicSettings: '基本設置', + agentSettings: { + agentName: '助手暱稱', + agentNamePlaceholder: '請輸入助手暱稱', + systemPrompt: '角色介紹', + systemPromptPlaceholder: '請輸入角色介紹' + }, + modelSettings: '模型設置', + voiceSettings: '語音設置', + serviceSettings: '服務設置', + deviceSettings: '設備設置', + pluginSettings: '外掛設置', + saveConfig: '保存配置', + resetConfig: '重置配置', + configSaved: '配置保存成功', + configReset: '配置已重置', + confirmReset: '確定要重置配置嗎?', + success: '成功', + error: '錯誤', + warning: '警告', + info: '提示' +} +} \ No newline at end of file diff --git a/main/manager-web/src/views/AgentTemplateManagement.vue b/main/manager-web/src/views/AgentTemplateManagement.vue index d8671db4..b57a1a14 100644 --- a/main/manager-web/src/views/AgentTemplateManagement.vue +++ b/main/manager-web/src/views/AgentTemplateManagement.vue @@ -3,12 +3,12 @@
-

默认角色管理

+

{{ $t('agentTemplateManagement.title') }}

- - 搜索 + {{ $t('agentTemplateManagement.search') }}
@@ -23,61 +23,60 @@ + class="transparent-table" :header-cell-style="{padding: '10px 20px'}" :cell-style="{padding: '10px 20px'}"> - + - - - - - - + + + + + + + + + - - + +
-
- - - {{ isAllSelected ? '取消全选' : '全选' }} + + {{ isAllSelected ? $t('agentTemplateManagement.deselectAll') : $t('agentTemplateManagement.selectAll') }} - 新增模板 - - 批量删除模板 + + {{ $t('agentTemplateManagement.createTemplate') }} + + + {{ $t('agentTemplateManagement.batchDelete') }}
- - -
- - - - - - - - - 共{{ total }}条记录 + +
+
@@ -85,12 +84,14 @@
- - - - - + +
@@ -147,14 +148,18 @@ export default { created() { this.loadTemplateList() }, + // 在computed部分添加hasSelected属性 computed: { - pageCount() { - return Math.ceil(this.total / this.pageSize) + pageCount() { + return Math.ceil(this.total / this.pageSize) + }, + visiblePages() { + return this.getVisiblePages() + }, + hasSelected() { + return this.selectedTemplates.length > 0 + } }, - visiblePages() { - return this.getVisiblePages() - } - }, methods: { // 加载模板列表 // 改进loadTemplateList方法的错误处理逻辑 @@ -230,8 +235,13 @@ export default { }) }, + // 添加handleCreate方法,与模板中绑定的按钮保持一致 + handleCreate() { + this.showAddTemplateDialog(); + }, + // 保留原有的editTemplate方法 - // 编辑模板 - 完全替换这个方法 + // 编辑模板 editTemplate(row) { // 跳转到模板快速配置页面,并传递模板ID参数 this.$router.push({ @@ -341,9 +351,31 @@ export default { // 分页相关方法 - handlePageSizeChange() { - this.currentPage = 1 + // 添加日期格式化函数 + formatDate(dateString) { + if (!dateString) return '' + const date = new Date(dateString) + const year = date.getFullYear() + const month = String(date.getMonth() + 1).padStart(2, '0') + const day = String(date.getDate()).padStart(2, '0') + const hours = String(date.getHours()).padStart(2, '0') + const minutes = String(date.getMinutes()).padStart(2, '0') + const seconds = String(date.getSeconds()).padStart(2, '0') + return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}` }, + + // 完善分页相关方法 + handlePageChange(page) { + this.currentPage = page + this.loadTemplateList() + }, + + handlePageSizeChange(size) { + this.pageSize = size + this.currentPage = 1 + this.loadTemplateList() + }, + goFirst() { this.currentPage = 1 }, diff --git a/main/manager-web/src/views/TemplateQuickConfig.vue b/main/manager-web/src/views/TemplateQuickConfig.vue index 06af4ac8..e9e30d58 100644 --- a/main/manager-web/src/views/TemplateQuickConfig.vue +++ b/main/manager-web/src/views/TemplateQuickConfig.vue @@ -3,7 +3,7 @@
-

模板快速配置

+

{{ $t('templateQuickConfig.title') }}

@@ -17,8 +17,8 @@
{{ form.agentName }}
- 保存配置 - 重置 + {{ $t('templateQuickConfig.saveConfig') }} + {{ $t('templateQuickConfig.resetConfig') }} @@ -28,21 +28,21 @@ - + - + Date: Thu, 18 Sep 2025 16:54:00 +0800 Subject: [PATCH 04/19] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=AF=BC=E8=88=AA?= =?UTF-8?q?=E6=A0=8F=E7=9A=84=E8=AF=AD=E8=A8=80=E5=88=87=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/manager-web/src/i18n/en.js | 2 ++ main/manager-web/src/i18n/zh_TW.js | 2 ++ 2 files changed, 4 insertions(+) diff --git a/main/manager-web/src/i18n/en.js b/main/manager-web/src/i18n/en.js index 3f6bef08..c21f3b18 100644 --- a/main/manager-web/src/i18n/en.js +++ b/main/manager-web/src/i18n/en.js @@ -1,5 +1,6 @@ export default { // HeaderBar组件文本 + // 在header相关翻译中添加 'header.smartManagement': 'Agents', 'header.modelConfig': 'Models', 'header.userManagement': 'Users', @@ -7,6 +8,7 @@ export default { 'header.paramDictionary': 'More', 'header.paramManagement': 'Params Management', 'header.dictManagement': 'Dict Management', + 'header.agentTemplate': 'Default Role Templates', // 添加这一行 // Dictionary data dialog related 'dictDataDialog.addDictData': 'Add Dictionary Data', diff --git a/main/manager-web/src/i18n/zh_TW.js b/main/manager-web/src/i18n/zh_TW.js index b78af25e..e0568cbe 100644 --- a/main/manager-web/src/i18n/zh_TW.js +++ b/main/manager-web/src/i18n/zh_TW.js @@ -1,5 +1,6 @@ export default { // HeaderBar组件文本 + // 在header相关翻译中添加 'header.smartManagement': '智能體管理', 'header.modelConfig': '模型配置', 'header.userManagement': '用戶管理', @@ -7,6 +8,7 @@ export default { 'header.paramDictionary': '參數字典', 'header.paramManagement': '參數管理', 'header.dictManagement': '字典管理', + 'header.agentTemplate': '預設角色模板', // 添加这一行 // 字典數據對話框相關 'dictDataDialog.addDictData': '新增字典數據', From 5fcc7592c9e927dca04a0daaea6b37ba670ded10 Mon Sep 17 00:00:00 2001 From: LiJinHui <166460433+stu-rgsze@users.noreply.github.com> Date: Fri, 19 Sep 2025 15:34:43 +0800 Subject: [PATCH 05/19] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=EF=BC=8C=E8=B0=83=E6=95=B4=E6=9D=83=E9=99=90=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?(=20=E9=9D=9E=E7=AE=A1=E7=90=86=E5=91=98=E6=89=93=E5=BC=80?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E6=8B=92=E7=BB=9D=E8=AE=BF=E9=97=AE=E5=B9=B6?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E8=B7=B3=E8=BD=AC=E5=88=B0=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=EF=BC=89=EF=BC=8C=E4=BF=AE=E5=A4=8Dbug=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AgentTemplateController.java | 111 ++------------ .../src/components/AgentTemplateDialog.vue | 107 -------------- main/manager-web/src/i18n/en.js | 10 +- main/manager-web/src/i18n/zh_CN.js | 8 +- main/manager-web/src/i18n/zh_TW.js | 8 + main/manager-web/src/router/index.js | 17 ++- .../src/views/AgentTemplateManagement.vue | 139 +++++++----------- 7 files changed, 103 insertions(+), 297 deletions(-) delete mode 100644 main/manager-web/src/components/AgentTemplateDialog.vue diff --git a/main/manager-api/src/main/java/xiaozhi/modules/agent/controller/AgentTemplateController.java b/main/manager-api/src/main/java/xiaozhi/modules/agent/controller/AgentTemplateController.java index 3b3dda7f..ee6f5e57 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/agent/controller/AgentTemplateController.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/agent/controller/AgentTemplateController.java @@ -26,6 +26,7 @@ import jakarta.validation.Valid; import lombok.AllArgsConstructor; import xiaozhi.common.constant.Constant; import xiaozhi.common.page.PageData; +import xiaozhi.common.utils.ConvertUtils; import xiaozhi.common.utils.Result; import xiaozhi.common.utils.ResultUtils; import xiaozhi.modules.agent.entity.AgentTemplateEntity; @@ -42,42 +43,17 @@ public class AgentTemplateController { @GetMapping("/all") @Operation(summary = "获取所有模板列表") - @RequiresPermissions("sys:role:normal") + @RequiresPermissions("sys:role:superAdmin") public Result> getAgentTemplates() { List templates = agentTemplateService.list(); - // 转换为VO列表 - List voList = templates.stream().map(template -> { - AgentTemplateVO vo = new AgentTemplateVO(); - // 复制属性 - vo.setId(template.getId()); - vo.setAgentCode(template.getAgentCode()); - vo.setAgentName(template.getAgentName()); - vo.setAsrModelId(template.getAsrModelId()); - vo.setVadModelId(template.getVadModelId()); - vo.setLlmModelId(template.getLlmModelId()); - vo.setVllmModelId(template.getVllmModelId()); - vo.setTtsModelId(template.getTtsModelId()); - vo.setTtsVoiceId(template.getTtsVoiceId()); - vo.setMemModelId(template.getMemModelId()); - vo.setIntentModelId(template.getIntentModelId()); - vo.setChatHistoryConf(template.getChatHistoryConf()); - vo.setSystemPrompt(template.getSystemPrompt()); - vo.setSummaryMemory(template.getSummaryMemory()); - vo.setLangCode(template.getLangCode()); - vo.setLanguage(template.getLanguage()); - vo.setSort(template.getSort()); - vo.setCreator(template.getCreator()); - vo.setCreatedAt(template.getCreatedAt()); - vo.setUpdater(template.getUpdater()); - vo.setUpdatedAt(template.getUpdatedAt()); - return vo; - }).toList(); + // 使用ConvertUtils转换为VO列表 + List voList = ConvertUtils.sourceToTarget(templates, AgentTemplateVO.class); return new Result>().ok(voList); } @GetMapping("/page") @Operation(summary = "获取模板分页列表") - @RequiresPermissions("sys:role:normal") + @RequiresPermissions("sys:role:superAdmin") @Parameters({ @Parameter(name = Constant.PAGE, description = "当前页码,从1开始", required = true), @Parameter(name = Constant.LIMIT, description = "每页显示记录数", required = true), @@ -102,33 +78,8 @@ public class AgentTemplateController { // 执行分页查询 IPage pageResult = agentTemplateService.page(pageInfo, wrapper); - // 转换为PageData对象 - List voList = pageResult.getRecords().stream().map(template -> { - AgentTemplateVO vo = new AgentTemplateVO(); - // 复制属性 - vo.setId(template.getId()); - vo.setAgentCode(template.getAgentCode()); - vo.setAgentName(template.getAgentName()); - vo.setAsrModelId(template.getAsrModelId()); - vo.setVadModelId(template.getVadModelId()); - vo.setLlmModelId(template.getLlmModelId()); - vo.setVllmModelId(template.getVllmModelId()); - vo.setTtsModelId(template.getTtsModelId()); - vo.setTtsVoiceId(template.getTtsVoiceId()); - vo.setMemModelId(template.getMemModelId()); - vo.setIntentModelId(template.getIntentModelId()); - vo.setChatHistoryConf(template.getChatHistoryConf()); - vo.setSystemPrompt(template.getSystemPrompt()); - vo.setSummaryMemory(template.getSummaryMemory()); - vo.setLangCode(template.getLangCode()); - vo.setLanguage(template.getLanguage()); - vo.setSort(template.getSort()); - vo.setCreator(template.getCreator()); - vo.setCreatedAt(template.getCreatedAt()); - vo.setUpdater(template.getUpdater()); - vo.setUpdatedAt(template.getUpdatedAt()); - return vo; - }).toList(); + // 使用ConvertUtils转换为VO列表 + List voList = ConvertUtils.sourceToTarget(pageResult.getRecords(), AgentTemplateVO.class); // 修复:使用构造函数创建PageData对象,而不是无参构造+setter PageData pageData = new PageData<>(voList, pageResult.getTotal()); @@ -138,44 +89,22 @@ public class AgentTemplateController { @GetMapping("/{id}") @Operation(summary = "获取模板详情") - @RequiresPermissions("sys:role:normal") + @RequiresPermissions("sys:role:superAdmin") public Result getAgentTemplateById(@PathVariable("id") String id) { AgentTemplateEntity template = agentTemplateService.getById(id); if (template == null) { return ResultUtils.error("模板不存在"); } - // 转换为VO - AgentTemplateVO vo = new AgentTemplateVO(); - // 复制属性 - vo.setId(template.getId()); - vo.setAgentCode(template.getAgentCode()); - vo.setAgentName(template.getAgentName()); - vo.setAsrModelId(template.getAsrModelId()); - vo.setVadModelId(template.getVadModelId()); - vo.setLlmModelId(template.getLlmModelId()); - vo.setVllmModelId(template.getVllmModelId()); - vo.setTtsModelId(template.getTtsModelId()); - vo.setTtsVoiceId(template.getTtsVoiceId()); - vo.setMemModelId(template.getMemModelId()); - vo.setIntentModelId(template.getIntentModelId()); - vo.setChatHistoryConf(template.getChatHistoryConf()); - vo.setSystemPrompt(template.getSystemPrompt()); - vo.setSummaryMemory(template.getSummaryMemory()); - vo.setLangCode(template.getLangCode()); - vo.setLanguage(template.getLanguage()); - vo.setSort(template.getSort()); - vo.setCreator(template.getCreator()); - vo.setCreatedAt(template.getCreatedAt()); - vo.setUpdater(template.getUpdater()); - vo.setUpdatedAt(template.getUpdatedAt()); + // 使用ConvertUtils转换为VO + AgentTemplateVO vo = ConvertUtils.sourceToTarget(template, AgentTemplateVO.class); return ResultUtils.success(vo); } @PostMapping @Operation(summary = "创建模板") - @RequiresPermissions("sys:role:normal") + @RequiresPermissions("sys:role:superAdmin") public Result createAgentTemplate(@Valid @RequestBody AgentTemplateEntity template) { boolean saved = agentTemplateService.save(template); if (saved) { @@ -187,7 +116,7 @@ public class AgentTemplateController { @PutMapping @Operation(summary = "更新模板") - @RequiresPermissions("sys:role:normal") + @RequiresPermissions("sys:role:superAdmin") public Result updateAgentTemplate(@Valid @RequestBody AgentTemplateEntity template) { boolean updated = agentTemplateService.updateById(template); if (updated) { @@ -199,7 +128,7 @@ public class AgentTemplateController { @DeleteMapping("/{id}") @Operation(summary = "删除模板") - @RequiresPermissions("sys:role:normal") + @RequiresPermissions("sys:role:superAdmin") public Result deleteAgentTemplate(@PathVariable("id") String id) { boolean deleted = agentTemplateService.removeById(id); if (deleted) { @@ -209,23 +138,11 @@ public class AgentTemplateController { } } - // 删除原有的批量删除方法 - // @PostMapping("/batch-delete") - // @Operation(summary = "批量删除模板") - // @RequiresPermissions("sys:role:normal") - // public Result batchDeleteAgentTemplates(@RequestBody List ids) { - // boolean deleted = agentTemplateService.removeByIds(ids); - // if (deleted) { - // return ResultUtils.success("批量删除成功"); - // } else { - // return ResultUtils.error("批量删除模板失败"); - // } - // } // 添加新的批量删除方法,使用不同的URL @PostMapping("/batch-remove") @Operation(summary = "批量删除模板") - @RequiresPermissions("sys:role:normal") + @RequiresPermissions("sys:role:superAdmin") public Result batchRemoveAgentTemplates(@RequestBody List ids) { boolean deleted = agentTemplateService.removeByIds(ids); if (deleted) { diff --git a/main/manager-web/src/components/AgentTemplateDialog.vue b/main/manager-web/src/components/AgentTemplateDialog.vue deleted file mode 100644 index 451c80d0..00000000 --- a/main/manager-web/src/components/AgentTemplateDialog.vue +++ /dev/null @@ -1,107 +0,0 @@ - - - - - \ No newline at end of file diff --git a/main/manager-web/src/i18n/en.js b/main/manager-web/src/i18n/en.js index c21f3b18..81a17f76 100644 --- a/main/manager-web/src/i18n/en.js +++ b/main/manager-web/src/i18n/en.js @@ -827,7 +827,7 @@ export default { 'providerDialog.confirmBatchDeleteFields': 'Are you sure to delete {count} selected fields?', 'providerDialog.batchDeleteFieldsSuccess': 'Successfully deleted {count} fields', - // ...existing code ... + // 在agentTemplateManagement对象中添加以下键 agentTemplateManagement: { title: 'Default Role Management', templateName: 'Template Name', @@ -848,6 +848,14 @@ export default { serialNumber: 'Serial Number', selectAll: 'Select All', deselectAll: 'Deselect All', + loading: 'Loading...', + confirmSingleDelete: 'Are you sure you want to delete this template?', + confirmBatchDelete: 'Are you sure you want to delete the selected {count} templates?', + deleteSuccess: 'Template deleted successfully', + deleteFailed: 'Template deletion failed', + batchDeleteSuccess: 'Templates deleted successfully', + batchDeleteFailed: 'Template batch deletion failed', + deleteBackendError: 'Deletion failed, please check if the backend service is working properly', templateDialog: { title: 'Template Configuration', templateName: 'Template Name', diff --git a/main/manager-web/src/i18n/zh_CN.js b/main/manager-web/src/i18n/zh_CN.js index ae1097f4..fbe72c7f 100644 --- a/main/manager-web/src/i18n/zh_CN.js +++ b/main/manager-web/src/i18n/zh_CN.js @@ -827,7 +827,7 @@ export default { 'providerDialog.batchDeleteFieldsSuccess': '成功删除{count}个字段', // 默认角色模版和模版快速配置页面 - // 在agentTemplateManagement对象中添加 + // 在agentTemplateManagement对象中添加以下键 agentTemplateManagement: { title: '默认角色管理', templateName: '模板名称', @@ -848,6 +848,12 @@ export default { serialNumber: '序号', selectAll: '全选', deselectAll: '取消全选', + loading: '拼命加载中', + confirmSingleDelete: '确定要删除这个模板吗?', + confirmBatchDelete: '确定要删除选中的 {count} 个模板吗?', + deleteFailed: '模板删除失败', + batchDeleteFailed: '模板批量删除失败', + deleteBackendError: '删除失败,请检查后端服务是否正常', templateDialog: { title: '模板配置', templateName: '模板名称', diff --git a/main/manager-web/src/i18n/zh_TW.js b/main/manager-web/src/i18n/zh_TW.js index e0568cbe..d3721592 100644 --- a/main/manager-web/src/i18n/zh_TW.js +++ b/main/manager-web/src/i18n/zh_TW.js @@ -847,6 +847,14 @@ agentTemplateManagement: { serialNumber:'序號', selectAll: '全選', deselectAll: '取消全選', + deselectAll: '取消全選', + loading: '拼命加載中', + confirmSingleDelete: '確定要刪除這個模板嗎?', + confirmBatchDelete: '確定要刪除選中的 {count} 個模板嗎?', + deleteFailed: '模板刪除失敗', + batchDeleteFailed: '批次刪除失敗', + deleteBackendError: '刪除失敗,請檢查後端服務是否正常', + deleteCancelled: '已取消刪除', templateDialog: { title: '模板配置', templateName: '模板名稱', diff --git a/main/manager-web/src/router/index.js b/main/manager-web/src/router/index.js index fae7de6a..b916e2f3 100644 --- a/main/manager-web/src/router/index.js +++ b/main/manager-web/src/router/index.js @@ -168,12 +168,15 @@ VueRouter.prototype.push = function push(location) { } // 需要登录才能访问的路由 -const protectedRoutes = ['home', 'RoleConfig', 'DeviceManagement', 'UserManagement', 'ModelConfig', 'TemplateQuickConfig'] +const protectedRoutes = ['home', 'RoleConfig', 'DeviceManagement', 'UserManagement', 'ModelConfig'] + +// 需要管理员权限才能访问的路由 +const adminRoutes = ['TemplateQuickConfig', 'AgentTemplateManagement'] // 路由守卫 router.beforeEach((to, from, next) => { // 检查是否是需要保护的路由 - if (protectedRoutes.includes(to.name)) { + if (protectedRoutes.includes(to.name) || adminRoutes.includes(to.name)) { // 从localStorage获取token const token = localStorage.getItem('token') if (!token) { @@ -181,6 +184,16 @@ router.beforeEach((to, from, next) => { next({ name: 'login', query: { redirect: to.fullPath } }) return } + + // 对于需要管理员权限的路由,检查用户是否是超级管理员 + if (adminRoutes.includes(to.name)) { + const isSuperAdmin = localStorage.getItem('isSuperAdmin') === 'true' + if (!isSuperAdmin) { + // 不是管理员,跳转到首页或显示无权限提示 + next({ name: 'home' }) + return + } + } } next() }) diff --git a/main/manager-web/src/views/AgentTemplateManagement.vue b/main/manager-web/src/views/AgentTemplateManagement.vue index b57a1a14..f2dad108 100644 --- a/main/manager-web/src/views/AgentTemplateManagement.vue +++ b/main/manager-web/src/views/AgentTemplateManagement.vue @@ -1,6 +1,6 @@ - - - - + - + + + + + + + + + + + + + + + + + @@ -84,30 +104,19 @@
- - - - - - \ No newline at end of file From 611d1a65e74e1148572cf01fe57a483ae59013b5 Mon Sep 17 00:00:00 2001 From: LiJinHui <166460433+stu-rgsze@users.noreply.github.com> Date: Fri, 19 Sep 2025 17:53:43 +0800 Subject: [PATCH 09/19] Update index.js MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 权限调整 --- main/manager-web/src/router/index.js | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/main/manager-web/src/router/index.js b/main/manager-web/src/router/index.js index b916e2f3..58cd099f 100644 --- a/main/manager-web/src/router/index.js +++ b/main/manager-web/src/router/index.js @@ -170,13 +170,10 @@ VueRouter.prototype.push = function push(location) { // 需要登录才能访问的路由 const protectedRoutes = ['home', 'RoleConfig', 'DeviceManagement', 'UserManagement', 'ModelConfig'] -// 需要管理员权限才能访问的路由 -const adminRoutes = ['TemplateQuickConfig', 'AgentTemplateManagement'] - // 路由守卫 router.beforeEach((to, from, next) => { // 检查是否是需要保护的路由 - if (protectedRoutes.includes(to.name) || adminRoutes.includes(to.name)) { + if (protectedRoutes.includes(to.name)) { // 从localStorage获取token const token = localStorage.getItem('token') if (!token) { @@ -184,16 +181,6 @@ router.beforeEach((to, from, next) => { next({ name: 'login', query: { redirect: to.fullPath } }) return } - - // 对于需要管理员权限的路由,检查用户是否是超级管理员 - if (adminRoutes.includes(to.name)) { - const isSuperAdmin = localStorage.getItem('isSuperAdmin') === 'true' - if (!isSuperAdmin) { - // 不是管理员,跳转到首页或显示无权限提示 - next({ name: 'home' }) - return - } - } } next() }) From a6f5d868dd25572ff18b5766cc2362a2cb4ab9a2 Mon Sep 17 00:00:00 2001 From: LiJinHui <166460433+stu-rgsze@users.noreply.github.com> Date: Fri, 19 Sep 2025 18:18:18 +0800 Subject: [PATCH 10/19] =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AgentTemplateController.java | 10 -- main/manager-web/src/i18n/en.js | 142 ++++++++--------- main/manager-web/src/i18n/zh_CN.js | 141 ++++++++--------- main/manager-web/src/i18n/zh_TW.js | 149 +++++++++--------- 4 files changed, 214 insertions(+), 228 deletions(-) diff --git a/main/manager-api/src/main/java/xiaozhi/modules/agent/controller/AgentTemplateController.java b/main/manager-api/src/main/java/xiaozhi/modules/agent/controller/AgentTemplateController.java index 1e1cf82f..9c8366ed 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/agent/controller/AgentTemplateController.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/agent/controller/AgentTemplateController.java @@ -41,16 +41,6 @@ public class AgentTemplateController { private final AgentTemplateService agentTemplateService; - @GetMapping("/all") - @Operation(summary = "获取所有模板列表") - @RequiresPermissions("sys:role:superAdmin") - public Result> getAgentTemplates() { - List templates = agentTemplateService.list(); - // 使用ConvertUtils转换为VO列表 - List voList = ConvertUtils.sourceToTarget(templates, AgentTemplateVO.class); - return new Result>().ok(voList); - } - @GetMapping("/page") @Operation(summary = "获取模板分页列表") @RequiresPermissions("sys:role:superAdmin") diff --git a/main/manager-web/src/i18n/en.js b/main/manager-web/src/i18n/en.js index 81a17f76..75448017 100644 --- a/main/manager-web/src/i18n/en.js +++ b/main/manager-web/src/i18n/en.js @@ -828,80 +828,78 @@ export default { 'providerDialog.batchDeleteFieldsSuccess': 'Successfully deleted {count} fields', // 在agentTemplateManagement对象中添加以下键 - agentTemplateManagement: { - title: 'Default Role Management', - templateName: 'Template Name', - description: 'Description', - createTime: 'Creation Time', - action: 'Action', - createTemplate: 'Create Template', - editTemplate: 'Edit Template', - deleteTemplate: 'Delete Template', - deleteSuccess: 'Template deleted successfully', - confirmDelete: 'Are you sure you want to delete the selected templates?', - batchDelete: 'Batch Delete', - batchDeleteSuccess: 'Batch deletion successful', - selectTemplate: 'Please select a template', - select: 'Select', - searchPlaceholder: 'Please enter template name to search', - search: 'Search', - serialNumber: 'Serial Number', - selectAll: 'Select All', - deselectAll: 'Deselect All', - loading: 'Loading...', - confirmSingleDelete: 'Are you sure you want to delete this template?', - confirmBatchDelete: 'Are you sure you want to delete the selected {count} templates?', - deleteSuccess: 'Template deleted successfully', - deleteFailed: 'Template deletion failed', - batchDeleteSuccess: 'Templates deleted successfully', - batchDeleteFailed: 'Template batch deletion failed', - deleteBackendError: 'Deletion failed, please check if the backend service is working properly', - templateDialog: { - title: 'Template Configuration', - templateName: 'Template Name', - templateNamePlaceholder: 'Please enter template name', - description: 'Description', - descriptionPlaceholder: 'Please enter description', - roleName: 'Role Name', - roleNamePlaceholder: 'Please enter role name', - avatar: 'Avatar', - selectAvatar: 'Select Avatar', - systemPrompt: 'System Prompt', - systemPromptPlaceholder: 'Please enter system prompt', - modelConfig: 'Model Configuration', - modelName: 'Model Name', - temperature: 'Temperature', - topP: 'Top P', - maxTokens: 'Max Tokens', - save: 'Save', - cancel: 'Cancel', - nameRequired: 'Please enter template name', - roleNameRequired: 'Please enter role name', - systemPromptRequired: 'Please enter system prompt' + 'agentTemplateManagement': { + 'title': 'Default Role Management', + 'templateName': 'Template Name', + 'description': 'Description', + 'createTime': 'Creation Time', + 'action': 'Action', + 'createTemplate': 'Create Template', + 'editTemplate': 'Edit Template', + 'deleteTemplate': 'Delete Template', + 'deleteSuccess': 'Template deleted successfully', + 'confirmDelete': 'Are you sure you want to delete the selected templates?', + 'batchDelete': 'Batch Delete', + 'batchDeleteSuccess': 'Batch deletion successful', + 'selectTemplate': 'Please select a template', + 'select': 'Select', + 'searchPlaceholder': 'Please enter template name to search', + 'search': 'Search', + 'serialNumber': 'Serial Number', + 'selectAll': 'Select All', + 'deselectAll': 'Deselect All', + 'loading': 'Loading...', + 'confirmSingleDelete': 'Are you sure you want to delete this template?', + 'confirmBatchDelete': 'Are you sure you want to delete the selected {count} templates?', + 'deleteFailed': 'Template deletion failed', + 'batchDeleteFailed': 'Template batch deletion failed', + 'deleteBackendError': 'Deletion failed, please check if the backend service is working properly', + 'templateDialog': { + 'title': 'Template Configuration', + 'templateName': 'Template Name', + 'templateNamePlaceholder': 'Please enter template name', + 'description': 'Description', + 'descriptionPlaceholder': 'Please enter description', + 'roleName': 'Role Name', + 'roleNamePlaceholder': 'Please enter role name', + 'avatar': 'Avatar', + 'selectAvatar': 'Select Avatar', + 'systemPrompt': 'System Prompt', + 'systemPromptPlaceholder': 'Please enter system prompt', + 'modelConfig': 'Model Configuration', + 'modelName': 'Model Name', + 'temperature': 'Temperature', + 'topP': 'Top P', + 'maxTokens': 'Max Tokens', + 'save': 'Save', + 'cancel': 'Cancel', + 'nameRequired': 'Please enter template name', + 'roleNameRequired': 'Please enter role name', + 'systemPromptRequired': 'Please enter system prompt' } }, - templateQuickConfig: { - title: 'Module Quick Configuration', - basicSettings: 'Basic Settings', - agentSettings: { - agentName: 'Nickname', - agentNamePlaceholder: 'Please enter nickname', - systemPrompt: 'Introduction', - systemPromptPlaceholder: 'Please enter introduction' + 'templateQuickConfig': { + 'title': 'Module Quick Configuration', + 'basicSettings': 'Basic Settings', + 'agentSettings': { + 'agentName': 'Nickname', + 'agentNamePlaceholder': 'Please enter nickname', + 'systemPrompt': 'Introduction', + 'systemPromptPlaceholder': 'Please enter introduction' }, - modelSettings: 'Model Settings', - voiceSettings: 'Voice Settings', - serviceSettings: 'Service Settings', - deviceSettings: 'Device Settings', - pluginSettings: 'Plugin Settings', - saveConfig: 'Save Configuration', - resetConfig: 'Reset Configuration', - configSaved: 'Configuration saved successfully', - configReset: 'Configuration has been reset', - confirmReset: 'Are you sure you want to reset the configuration?', - success: 'Success', - error: 'Error', - warning: 'Warning', - info: 'Info' + 'modelSettings': 'Model Settings', + 'voiceSettings': 'Voice Settings', + 'serviceSettings': 'Service Settings', + 'deviceSettings': 'Device Settings', + 'pluginSettings': 'Plugin Settings', + 'saveConfig': 'Save Configuration', + 'resetConfig': 'Reset Configuration', + 'configSaved': 'Configuration saved successfully', + 'configReset': 'Configuration has been reset', + 'confirmReset': 'Are you sure you want to reset the configuration?', + 'success': 'Success', + 'error': 'Error', + 'warning': 'Warning', + 'info': 'Info' } }; \ No newline at end of file diff --git a/main/manager-web/src/i18n/zh_CN.js b/main/manager-web/src/i18n/zh_CN.js index fbe72c7f..d89de9e8 100644 --- a/main/manager-web/src/i18n/zh_CN.js +++ b/main/manager-web/src/i18n/zh_CN.js @@ -828,79 +828,78 @@ export default { // 默认角色模版和模版快速配置页面 // 在agentTemplateManagement对象中添加以下键 - agentTemplateManagement: { - title: '默认角色管理', - templateName: '模板名称', - description: '模板描述', - createTime: '创建时间', - action: '操作', - createTemplate: '创建模板', - editTemplate: '编辑模板', - deleteTemplate: '删除模板', - deleteSuccess: '模板删除成功', - confirmDelete: '确定要删除选中的模板吗?', - batchDelete: '批量删除', - batchDeleteSuccess: '批量删除成功', - selectTemplate: '请选择模板', - select: '选择', - searchPlaceholder: '请输入模板名称搜索', - search: '搜索', - serialNumber: '序号', - selectAll: '全选', - deselectAll: '取消全选', - loading: '拼命加载中', - confirmSingleDelete: '确定要删除这个模板吗?', - confirmBatchDelete: '确定要删除选中的 {count} 个模板吗?', - deleteFailed: '模板删除失败', - batchDeleteFailed: '模板批量删除失败', - deleteBackendError: '删除失败,请检查后端服务是否正常', - templateDialog: { - title: '模板配置', - templateName: '模板名称', - templateNamePlaceholder: '请输入模板名称', - description: '模板描述', - descriptionPlaceholder: '请输入模板描述', - roleName: '角色名称', - roleNamePlaceholder: '请输入角色名称', - avatar: '头像', - selectAvatar: '选择头像', - systemPrompt: '系统提示词', - systemPromptPlaceholder: '请输入系统提示词', - modelConfig: '模型配置', - modelName: '模型名称', - temperature: '温度', - topP: 'Top P', - maxTokens: '最大 tokens', - save: '保存', - cancel: '取消', - nameRequired: '请输入模板名称', - roleNameRequired: '请输入角色名称', - systemPromptRequired: '请输入系统提示词' + 'agentTemplateManagement': { + 'title': '默认角色管理', + 'templateName': '模板名称', + 'description': '模板描述', + 'createTime': '创建时间', + 'action': '操作', + 'createTemplate': '创建模板', + 'editTemplate': '编辑模板', + 'deleteTemplate': '删除模板', + 'deleteSuccess': '模板删除成功', + 'confirmDelete': '确定要删除选中的模板吗?', + 'batchDelete': '批量删除', + 'batchDeleteSuccess': '批量删除成功', + 'selectTemplate': '请选择模板', + 'select': '选择', + 'searchPlaceholder': '请输入模板名称搜索', + 'search': '搜索', + 'serialNumber': '序号', + 'selectAll': '全选', + 'deselectAll': '取消全选', + 'loading': '拼命加载中', + 'confirmSingleDelete': '确定要删除这个模板吗?', + 'confirmBatchDelete': '确定要删除选中的 {count} 个模板吗?', + 'deleteFailed': '模板删除失败', + 'batchDeleteFailed': '模板批量删除失败', + 'deleteBackendError': '删除失败,请检查后端服务是否正常', + 'templateDialog': { + 'title': '模板配置', + 'templateName': '模板名称', + 'templateNamePlaceholder': '请输入模板名称', + 'description': '模板描述', + 'descriptionPlaceholder': '请输入模板描述', + 'roleName': '角色名称', + 'roleNamePlaceholder': '请输入角色名称', + 'avatar': '头像', + 'selectAvatar': '选择头像', + 'systemPrompt': '系统提示词', + 'systemPromptPlaceholder': '请输入系统提示词', + 'modelConfig': '模型配置', + 'modelName': '模型名称', + 'temperature': '温度', + 'topP': 'Top P', + 'maxTokens': '最大 tokens', + 'save': '保存', + 'cancel': '取消', + 'nameRequired': '请输入模板名称', + 'roleNameRequired': '请输入角色名称', + 'systemPromptRequired': '请输入系统提示词' } }, - templateQuickConfig: { - title: '模块快速配置', - basicSettings: '基本设置', - agentSettings: '助手昵称', - agentSettings: { - agentName: '助手昵称', - agentNamePlaceholder: '请输入助手昵称', - systemPrompt: '角色介绍', - systemPromptPlaceholder: '请输入角色介绍' + 'templateQuickConfig': { + 'title': '模块快速配置', + 'basicSettings': '基本设置', + 'agentSettings': { + 'agentName': '助手昵称', + 'agentNamePlaceholder': '请输入助手昵称', + 'systemPrompt': '角色介绍', + 'systemPromptPlaceholder': '请输入角色介绍' }, - modelSettings: '模型设置', - voiceSettings: '语音设置', - serviceSettings: '服务设置', - deviceSettings: '设备设置', - pluginSettings: '插件设置', - saveConfig: '保存配置', - resetConfig: '重置配置', - configSaved: '配置保存成功', - configReset: '配置已重置', - confirmReset: '确定要重置配置吗?', - success: '成功', - error: '错误', - warning: '警告', - info: '提示' + 'modelSettings': '模型设置', + 'voiceSettings': '语音设置', + 'serviceSettings': '服务设置', + 'deviceSettings': '设备设置', + 'pluginSettings': '插件设置', + 'saveConfig': '保存配置', + 'resetConfig': '重置配置', + 'configSaved': '配置保存成功', + 'configReset': '配置已重置', + 'confirmReset': '确定要重置配置吗?', + 'success': '成功', + 'error': '错误', + 'warning': '警告', + 'info': '提示' } } \ No newline at end of file diff --git a/main/manager-web/src/i18n/zh_TW.js b/main/manager-web/src/i18n/zh_TW.js index d3721592..108bea3b 100644 --- a/main/manager-web/src/i18n/zh_TW.js +++ b/main/manager-web/src/i18n/zh_TW.js @@ -827,80 +827,79 @@ export default { 'providerDialog.confirmBatchDeleteFields': '確定要刪除選中的{count}個字段嗎?', 'providerDialog.batchDeleteFieldsSuccess': '成功刪除{count}個字段', -agentTemplateManagement: { - title: '預設角色管理', - templateName: '模板名稱', - description: '模板描述', - createTime: '建立時間', - action: '操作', - createTemplate: '建立模板', - editTemplate: '編輯模板', - deleteTemplate: '刪除模板', - deleteSuccess: '模板刪除成功', - confirmDelete: '確定要刪除選取的模板嗎?', - batchDelete: '批次刪除', - batchDeleteSuccess: '批次刪除成功', - selectTemplate: '請選擇模板', - select: '選擇', - searchPlaceholder: '請輸入模板名稱搜尋', - search: '搜尋', - serialNumber:'序號', - selectAll: '全選', - deselectAll: '取消全選', - deselectAll: '取消全選', - loading: '拼命加載中', - confirmSingleDelete: '確定要刪除這個模板嗎?', - confirmBatchDelete: '確定要刪除選中的 {count} 個模板嗎?', - deleteFailed: '模板刪除失敗', - batchDeleteFailed: '批次刪除失敗', - deleteBackendError: '刪除失敗,請檢查後端服務是否正常', - deleteCancelled: '已取消刪除', - templateDialog: { - title: '模板配置', - templateName: '模板名稱', - templateNamePlaceholder: '請輸入模板名稱', - description: '模板描述', - descriptionPlaceholder: '請輸入模板描述', - roleName: '角色名稱', - roleNamePlaceholder: '請輸入角色名稱', - avatar: '頭像', - selectAvatar: '選擇頭像', - systemPrompt: '系統提示詞', - systemPromptPlaceholder: '請輸入系統提示詞', - modelConfig: '模型配置', - modelName: '模型名稱', - temperature: '溫度', - topP: 'Top P', - maxTokens: '最大 tokens', - save: '保存', - cancel: '取消', - nameRequired: '請輸入模板名稱', - roleNameRequired: '請輸入角色名稱', - systemPromptRequired: '請輸入系統提示詞' - } -}, -templateQuickConfig: { - title: '模組快速配置', - basicSettings: '基本設置', - agentSettings: { - agentName: '助手暱稱', - agentNamePlaceholder: '請輸入助手暱稱', - systemPrompt: '角色介紹', - systemPromptPlaceholder: '請輸入角色介紹' + 'agentTemplateManagement': { + 'title': '預設角色管理', + 'templateName': '模板名稱', + 'description': '模板描述', + 'createTime': '建立時間', + 'action': '操作', + 'createTemplate': '建立模板', + 'editTemplate': '編輯模板', + 'deleteTemplate': '刪除模板', + 'deleteSuccess': '模板刪除成功', + 'confirmDelete': '確定要刪除選取的模板嗎?', + 'batchDelete': '批次刪除', + 'batchDeleteSuccess': '批次刪除成功', + 'selectTemplate': '請選擇模板', + 'select': '選擇', + 'searchPlaceholder': '請輸入模板名稱搜尋', + 'search': '搜尋', + 'serialNumber':'序號', + 'selectAll': '全選', + 'deselectAll': '取消全選', + 'loading': '拼命加載中', + 'confirmSingleDelete': '確定要刪除這個模板嗎?', + 'confirmBatchDelete': '確定要刪除選中的 {count} 個模板嗎?', + 'deleteFailed': '模板刪除失敗', + 'batchDeleteFailed': '批次刪除失敗', + 'deleteBackendError': '刪除失敗,請檢查後端服務是否正常', + 'deleteCancelled': '已取消刪除', + 'templateDialog': { + 'title': '模板配置', + 'templateName': '模板名稱', + 'templateNamePlaceholder': '請輸入模板名稱', + 'description': '模板描述', + 'descriptionPlaceholder': '請輸入模板描述', + 'roleName': '角色名稱', + 'roleNamePlaceholder': '請輸入角色名稱', + 'avatar': '頭像', + 'selectAvatar': '選擇頭像', + 'systemPrompt': '系統提示詞', + 'systemPromptPlaceholder': '請輸入系統提示詞', + 'modelConfig': '模型配置', + 'modelName': '模型名稱', + 'temperature': '溫度', + 'topP': 'Top P', + 'maxTokens': '最大 tokens', + 'save': '保存', + 'cancel': '取消', + 'nameRequired': '請輸入模板名稱', + 'roleNameRequired': '請輸入角色名稱', + 'systemPromptRequired': '請輸入系統提示詞' + } }, - modelSettings: '模型設置', - voiceSettings: '語音設置', - serviceSettings: '服務設置', - deviceSettings: '設備設置', - pluginSettings: '外掛設置', - saveConfig: '保存配置', - resetConfig: '重置配置', - configSaved: '配置保存成功', - configReset: '配置已重置', - confirmReset: '確定要重置配置嗎?', - success: '成功', - error: '錯誤', - warning: '警告', - info: '提示' -} + 'templateQuickConfig': { + 'title': '模組快速配置', + 'basicSettings': '基本設置', + 'agentSettings': { + 'agentName': '助手暱稱', + 'agentNamePlaceholder': '請輸入助手暱稱', + 'systemPrompt': '角色介紹', + 'systemPromptPlaceholder': '請輸入角色介紹' + }, + 'modelSettings': '模型設置', + 'voiceSettings': '語音設置', + 'serviceSettings': '服務設置', + 'deviceSettings': '設備設置', + 'pluginSettings': '外掛設置', + 'saveConfig': '保存配置', + 'resetConfig': '重置配置', + 'configSaved': '配置保存成功', + 'configReset': '配置已重置', + 'confirmReset': '確定要重置配置嗎?', + 'success': '成功', + 'error': '錯誤', + 'warning': '警告', + 'info': '提示' + } } \ No newline at end of file From 0aec742bd39a75d1574ab82f51b6c672ad0dc990 Mon Sep 17 00:00:00 2001 From: LiJinHui <166460433+stu-rgsze@users.noreply.github.com> Date: Fri, 19 Sep 2025 18:33:54 +0800 Subject: [PATCH 11/19] =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E7=BB=9F=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/manager-web/src/i18n/en.js | 141 ++++++++++++++------------- main/manager-web/src/i18n/zh_CN.js | 147 ++++++++++++++--------------- main/manager-web/src/i18n/zh_TW.js | 147 ++++++++++++++--------------- 3 files changed, 212 insertions(+), 223 deletions(-) diff --git a/main/manager-web/src/i18n/en.js b/main/manager-web/src/i18n/en.js index 75448017..8cf50ae5 100644 --- a/main/manager-web/src/i18n/en.js +++ b/main/manager-web/src/i18n/en.js @@ -827,79 +827,76 @@ export default { 'providerDialog.confirmBatchDeleteFields': 'Are you sure to delete {count} selected fields?', 'providerDialog.batchDeleteFieldsSuccess': 'Successfully deleted {count} fields', - // 在agentTemplateManagement对象中添加以下键 - 'agentTemplateManagement': { - 'title': 'Default Role Management', - 'templateName': 'Template Name', - 'description': 'Description', - 'createTime': 'Creation Time', - 'action': 'Action', - 'createTemplate': 'Create Template', - 'editTemplate': 'Edit Template', - 'deleteTemplate': 'Delete Template', - 'deleteSuccess': 'Template deleted successfully', - 'confirmDelete': 'Are you sure you want to delete the selected templates?', - 'batchDelete': 'Batch Delete', - 'batchDeleteSuccess': 'Batch deletion successful', - 'selectTemplate': 'Please select a template', - 'select': 'Select', - 'searchPlaceholder': 'Please enter template name to search', - 'search': 'Search', - 'serialNumber': 'Serial Number', - 'selectAll': 'Select All', - 'deselectAll': 'Deselect All', - 'loading': 'Loading...', - 'confirmSingleDelete': 'Are you sure you want to delete this template?', - 'confirmBatchDelete': 'Are you sure you want to delete the selected {count} templates?', - 'deleteFailed': 'Template deletion failed', - 'batchDeleteFailed': 'Template batch deletion failed', - 'deleteBackendError': 'Deletion failed, please check if the backend service is working properly', - 'templateDialog': { - 'title': 'Template Configuration', - 'templateName': 'Template Name', - 'templateNamePlaceholder': 'Please enter template name', - 'description': 'Description', - 'descriptionPlaceholder': 'Please enter description', - 'roleName': 'Role Name', - 'roleNamePlaceholder': 'Please enter role name', - 'avatar': 'Avatar', - 'selectAvatar': 'Select Avatar', - 'systemPrompt': 'System Prompt', - 'systemPromptPlaceholder': 'Please enter system prompt', - 'modelConfig': 'Model Configuration', - 'modelName': 'Model Name', - 'temperature': 'Temperature', - 'topP': 'Top P', - 'maxTokens': 'Max Tokens', - 'save': 'Save', - 'cancel': 'Cancel', - 'nameRequired': 'Please enter template name', - 'roleNameRequired': 'Please enter role name', - 'systemPromptRequired': 'Please enter system prompt' - } - }, - 'templateQuickConfig': { - 'title': 'Module Quick Configuration', - 'basicSettings': 'Basic Settings', - 'agentSettings': { - 'agentName': 'Nickname', - 'agentNamePlaceholder': 'Please enter nickname', - 'systemPrompt': 'Introduction', - 'systemPromptPlaceholder': 'Please enter introduction' - }, - 'modelSettings': 'Model Settings', - 'voiceSettings': 'Voice Settings', - 'serviceSettings': 'Service Settings', - 'deviceSettings': 'Device Settings', - 'pluginSettings': 'Plugin Settings', - 'saveConfig': 'Save Configuration', - 'resetConfig': 'Reset Configuration', - 'configSaved': 'Configuration saved successfully', - 'configReset': 'Configuration has been reset', - 'confirmReset': 'Are you sure you want to reset the configuration?', - 'success': 'Success', + // agentTemplateManagement + 'agentTemplateManagement.title': 'Default Role Management', + 'agentTemplateManagement.templateName': 'Template Name', + 'agentTemplateManagement.description': 'Description', + 'agentTemplateManagement.createTime': 'Creation Time', + 'agentTemplateManagement.action': 'Action', + 'agentTemplateManagement.createTemplate': 'Create Template', + 'agentTemplateManagement.editTemplate': 'Edit Template', + 'agentTemplateManagement.deleteTemplate': 'Delete Template', + 'agentTemplateManagement.deleteSuccess': 'Template deleted successfully', + 'agentTemplateManagement.confirmDelete': 'Are you sure you want to delete the selected templates?', + 'agentTemplateManagement.batchDelete': 'Batch Delete', + 'agentTemplateManagement.batchDeleteSuccess': 'Batch deletion successful', + 'agentTemplateManagement.selectTemplate': 'Please select a template', + 'agentTemplateManagement.select': 'Select', + 'agentTemplateManagement.searchPlaceholder': 'Please enter template name to search', + 'agentTemplateManagement.search': 'Search', + 'agentTemplateManagement.serialNumber': 'Serial Number', + 'agentTemplateManagement.selectAll': 'Select All', + 'agentTemplateManagement.deselectAll': 'Deselect All', + 'agentTemplateManagement.loading': 'Loading...', + 'agentTemplateManagement.confirmSingleDelete': 'Are you sure you want to delete this template?', + 'agentTemplateManagement.confirmBatchDelete': 'Are you sure you want to delete the selected {count} templates?', + 'agentTemplateManagement.deleteFailed': 'Template deletion failed', + 'agentTemplateManagement.batchDeleteFailed': 'Template batch deletion failed', + 'agentTemplateManagement.deleteBackendError': 'Deletion failed, please check if the backend service is working properly', + + // agentTemplateManagement Dialog + 'agentTemplateManagement.templateDialog.title': 'Template Configuration', + 'agentTemplateManagement.templateDialog.templateName': 'Template Name', + 'agentTemplateManagement.templateDialog.templateNamePlaceholder': 'Please enter template name', + 'agentTemplateManagement.templateDialog.description': 'Description', + 'agentTemplateManagement.templateDialog.descriptionPlaceholder': 'Please enter description', + 'agentTemplateManagement.templateDialog.roleName': 'Role Name', + 'agentTemplateManagement.templateDialog.roleNamePlaceholder': 'Please enter role name', + 'agentTemplateManagement.templateDialog.avatar': 'Avatar', + 'agentTemplateManagement.templateDialog.selectAvatar': 'Select Avatar', + 'agentTemplateManagement.templateDialog.systemPrompt': 'System Prompt', + 'agentTemplateManagement.templateDialog.systemPromptPlaceholder': 'Please enter system prompt', + 'agentTemplateManagement.templateDialog.modelConfig': 'Model Configuration', + 'agentTemplateManagement.templateDialog.modelName': 'Model Name', + 'agentTemplateManagement.templateDialog.temperature': 'Temperature', + 'agentTemplateManagement.templateDialog.topP': 'Top P', + 'agentTemplateManagement.templateDialog.maxTokens': 'Max Tokens', + 'agentTemplateManagement.templateDialog.save': 'Save', + 'agentTemplateManagement.templateDialog.cancel': 'Cancel', + 'agentTemplateManagement.templateDialog.nameRequired': 'Please enter template name', + 'agentTemplateManagement.templateDialog.roleNameRequired': 'Please enter role name', + 'agentTemplateManagement.templateDialog.systemPromptRequired': 'Please enter system prompt', + + // templateQuickConfig + 'templateQuickConfig.title': 'Module Quick Configuration', + 'templateQuickConfig.basicSettings': 'Basic Settings', + 'templateQuickConfig.agentSettings.agentName': 'Nickname', + 'templateQuickConfig.agentSettings.agentNamePlaceholder': 'Please enter nickname', + 'templateQuickConfig.agentSettings.systemPrompt': 'Introduction', + 'templateQuickConfig.agentSettings.systemPromptPlaceholder': 'Please enter introduction', + 'templateQuickConfig.modelSettings': 'Model Settings', + 'templateQuickConfig.voiceSettings': 'Voice Settings', + 'templateQuickConfig.serviceSettings': 'Service Settings', + 'templateQuickConfig.deviceSettings': 'Device Settings', + 'templateQuickConfig.pluginSettings': 'Plugin Settings', + 'templateQuickConfig.saveConfig': 'Save Configuration', + 'templateQuickConfig.resetConfig': 'Reset Configuration', + 'templateQuickConfig.configSaved': 'Configuration saved successfully', + 'templateQuickConfig.configReset': 'Configuration has been reset', + 'templateQuickConfig.confirmReset': 'Are you sure you want to reset the configuration?', + 'templateQuickConfig.success': 'Success', 'error': 'Error', 'warning': 'Warning', 'info': 'Info' } -}; \ No newline at end of file +; \ No newline at end of file diff --git a/main/manager-web/src/i18n/zh_CN.js b/main/manager-web/src/i18n/zh_CN.js index d89de9e8..8b97989c 100644 --- a/main/manager-web/src/i18n/zh_CN.js +++ b/main/manager-web/src/i18n/zh_CN.js @@ -826,80 +826,75 @@ export default { 'providerDialog.confirmBatchDeleteFields': '确定要删除选中的{count}个字段吗?', 'providerDialog.batchDeleteFieldsSuccess': '成功删除{count}个字段', - // 默认角色模版和模版快速配置页面 - // 在agentTemplateManagement对象中添加以下键 - 'agentTemplateManagement': { - 'title': '默认角色管理', - 'templateName': '模板名称', - 'description': '模板描述', - 'createTime': '创建时间', - 'action': '操作', - 'createTemplate': '创建模板', - 'editTemplate': '编辑模板', - 'deleteTemplate': '删除模板', - 'deleteSuccess': '模板删除成功', - 'confirmDelete': '确定要删除选中的模板吗?', - 'batchDelete': '批量删除', - 'batchDeleteSuccess': '批量删除成功', - 'selectTemplate': '请选择模板', - 'select': '选择', - 'searchPlaceholder': '请输入模板名称搜索', - 'search': '搜索', - 'serialNumber': '序号', - 'selectAll': '全选', - 'deselectAll': '取消全选', - 'loading': '拼命加载中', - 'confirmSingleDelete': '确定要删除这个模板吗?', - 'confirmBatchDelete': '确定要删除选中的 {count} 个模板吗?', - 'deleteFailed': '模板删除失败', - 'batchDeleteFailed': '模板批量删除失败', - 'deleteBackendError': '删除失败,请检查后端服务是否正常', - 'templateDialog': { - 'title': '模板配置', - 'templateName': '模板名称', - 'templateNamePlaceholder': '请输入模板名称', - 'description': '模板描述', - 'descriptionPlaceholder': '请输入模板描述', - 'roleName': '角色名称', - 'roleNamePlaceholder': '请输入角色名称', - 'avatar': '头像', - 'selectAvatar': '选择头像', - 'systemPrompt': '系统提示词', - 'systemPromptPlaceholder': '请输入系统提示词', - 'modelConfig': '模型配置', - 'modelName': '模型名称', - 'temperature': '温度', - 'topP': 'Top P', - 'maxTokens': '最大 tokens', - 'save': '保存', - 'cancel': '取消', - 'nameRequired': '请输入模板名称', - 'roleNameRequired': '请输入角色名称', - 'systemPromptRequired': '请输入系统提示词' - } - }, - 'templateQuickConfig': { - 'title': '模块快速配置', - 'basicSettings': '基本设置', - 'agentSettings': { - 'agentName': '助手昵称', - 'agentNamePlaceholder': '请输入助手昵称', - 'systemPrompt': '角色介绍', - 'systemPromptPlaceholder': '请输入角色介绍' - }, - 'modelSettings': '模型设置', - 'voiceSettings': '语音设置', - 'serviceSettings': '服务设置', - 'deviceSettings': '设备设置', - 'pluginSettings': '插件设置', - 'saveConfig': '保存配置', - 'resetConfig': '重置配置', - 'configSaved': '配置保存成功', - 'configReset': '配置已重置', - 'confirmReset': '确定要重置配置吗?', - 'success': '成功', - 'error': '错误', - 'warning': '警告', - 'info': '提示' - } + // 默认角色模版页面文本 + 'agentTemplateManagement.title': '默认角色管理', + 'agentTemplateManagement.templateName': '模板名称', + 'agentTemplateManagement.description': '模板描述', + 'agentTemplateManagement.createTime': '创建时间', + 'agentTemplateManagement.action': '操作', + 'agentTemplateManagement.createTemplate': '创建模板', + 'agentTemplateManagement.editTemplate': '编辑模板', + 'agentTemplateManagement.deleteTemplate': '删除模板', + 'agentTemplateManagement.deleteSuccess': '模板删除成功', + 'agentTemplateManagement.confirmDelete': '确定要删除选中的模板吗?', + 'agentTemplateManagement.batchDelete': '批量删除', + 'agentTemplateManagement.batchDeleteSuccess': '批量删除成功', + 'agentTemplateManagement.selectTemplate': '请选择模板', + 'agentTemplateManagement.select': '选择', + 'agentTemplateManagement.searchPlaceholder': '请输入模板名称搜索', + 'agentTemplateManagement.search': '搜索', + 'agentTemplateManagement.serialNumber': '序号', + 'agentTemplateManagement.selectAll': '全选', + 'agentTemplateManagement.deselectAll': '取消全选', + 'agentTemplateManagement.loading': '拼命加载中', + 'agentTemplateManagement.confirmSingleDelete': '确定要删除这个模板吗?', + 'agentTemplateManagement.confirmBatchDelete': '确定要删除选中的 {count} 个模板吗?', + 'agentTemplateManagement.deleteFailed': '模板删除失败', + 'agentTemplateManagement.batchDeleteFailed': '模板批量删除失败', + 'agentTemplateManagement.deleteBackendError': '删除失败,请检查后端服务是否正常', + + // 默认角色模版对话框文本 + 'agentTemplateManagement.templateDialog.title': '模板配置', + 'agentTemplateManagement.templateDialog.templateName': '模板名称', + 'agentTemplateManagement.templateDialog.templateNamePlaceholder': '请输入模板名称', + 'agentTemplateManagement.templateDialog.description': '模板描述', + 'agentTemplateManagement.templateDialog.descriptionPlaceholder': '请输入模板描述', + 'agentTemplateManagement.templateDialog.roleName': '角色名称', + 'agentTemplateManagement.templateDialog.roleNamePlaceholder': '请输入角色名称', + 'agentTemplateManagement.templateDialog.avatar': '头像', + 'agentTemplateManagement.templateDialog.selectAvatar': '选择头像', + 'agentTemplateManagement.templateDialog.systemPrompt': '系统提示词', + 'agentTemplateManagement.templateDialog.systemPromptPlaceholder': '请输入系统提示词', + 'agentTemplateManagement.templateDialog.modelConfig': '模型配置', + 'agentTemplateManagement.templateDialog.modelName': '模型名称', + 'agentTemplateManagement.templateDialog.temperature': '温度', + 'agentTemplateManagement.templateDialog.topP': 'Top P', + 'agentTemplateManagement.templateDialog.maxTokens': '最大 tokens', + 'agentTemplateManagement.templateDialog.save': '保存', + 'agentTemplateManagement.templateDialog.cancel': '取消', + 'agentTemplateManagement.templateDialog.nameRequired': '请输入模板名称', + 'agentTemplateManagement.templateDialog.roleNameRequired': '请输入角色名称', + 'agentTemplateManagement.templateDialog.systemPromptRequired': '请输入系统提示词', + + // 模板快速配置页面文本 + 'templateQuickConfig.title': '模块快速配置', + 'templateQuickConfig.basicSettings': '基本设置', + 'templateQuickConfig.agentSettings.agentName': '助手昵称', + 'templateQuickConfig.agentSettings.agentNamePlaceholder': '请输入助手昵称', + 'templateQuickConfig.agentSettings.systemPrompt': '角色介绍', + 'templateQuickConfig.agentSettings.systemPromptPlaceholder': '请输入角色介绍', + 'templateQuickConfig.modelSettings': '模型设置', + 'templateQuickConfig.voiceSettings': '语音设置', + 'templateQuickConfig.serviceSettings': '服务设置', + 'templateQuickConfig.deviceSettings': '设备设置', + 'templateQuickConfig.pluginSettings': '插件设置', + 'templateQuickConfig.saveConfig': '保存配置', + 'templateQuickConfig.resetConfig': '重置配置', + 'templateQuickConfig.configSaved': '配置保存成功', + 'templateQuickConfig.configReset': '配置已重置', + 'templateQuickConfig.confirmReset': '确定要重置配置吗?', + 'templateQuickConfig.success': '成功', + 'templateQuickConfig.error': '错误', + 'warning': '警告', + 'info': '提示' } \ No newline at end of file diff --git a/main/manager-web/src/i18n/zh_TW.js b/main/manager-web/src/i18n/zh_TW.js index 108bea3b..83aae70e 100644 --- a/main/manager-web/src/i18n/zh_TW.js +++ b/main/manager-web/src/i18n/zh_TW.js @@ -827,79 +827,76 @@ export default { 'providerDialog.confirmBatchDeleteFields': '確定要刪除選中的{count}個字段嗎?', 'providerDialog.batchDeleteFieldsSuccess': '成功刪除{count}個字段', - 'agentTemplateManagement': { - 'title': '預設角色管理', - 'templateName': '模板名稱', - 'description': '模板描述', - 'createTime': '建立時間', - 'action': '操作', - 'createTemplate': '建立模板', - 'editTemplate': '編輯模板', - 'deleteTemplate': '刪除模板', - 'deleteSuccess': '模板刪除成功', - 'confirmDelete': '確定要刪除選取的模板嗎?', - 'batchDelete': '批次刪除', - 'batchDeleteSuccess': '批次刪除成功', - 'selectTemplate': '請選擇模板', - 'select': '選擇', - 'searchPlaceholder': '請輸入模板名稱搜尋', - 'search': '搜尋', - 'serialNumber':'序號', - 'selectAll': '全選', - 'deselectAll': '取消全選', - 'loading': '拼命加載中', - 'confirmSingleDelete': '確定要刪除這個模板嗎?', - 'confirmBatchDelete': '確定要刪除選中的 {count} 個模板嗎?', - 'deleteFailed': '模板刪除失敗', - 'batchDeleteFailed': '批次刪除失敗', - 'deleteBackendError': '刪除失敗,請檢查後端服務是否正常', - 'deleteCancelled': '已取消刪除', - 'templateDialog': { - 'title': '模板配置', - 'templateName': '模板名稱', - 'templateNamePlaceholder': '請輸入模板名稱', - 'description': '模板描述', - 'descriptionPlaceholder': '請輸入模板描述', - 'roleName': '角色名稱', - 'roleNamePlaceholder': '請輸入角色名稱', - 'avatar': '頭像', - 'selectAvatar': '選擇頭像', - 'systemPrompt': '系統提示詞', - 'systemPromptPlaceholder': '請輸入系統提示詞', - 'modelConfig': '模型配置', - 'modelName': '模型名稱', - 'temperature': '溫度', - 'topP': 'Top P', - 'maxTokens': '最大 tokens', - 'save': '保存', - 'cancel': '取消', - 'nameRequired': '請輸入模板名稱', - 'roleNameRequired': '請輸入角色名稱', - 'systemPromptRequired': '請輸入系統提示詞' - } - }, - 'templateQuickConfig': { - 'title': '模組快速配置', - 'basicSettings': '基本設置', - 'agentSettings': { - 'agentName': '助手暱稱', - 'agentNamePlaceholder': '請輸入助手暱稱', - 'systemPrompt': '角色介紹', - 'systemPromptPlaceholder': '請輸入角色介紹' - }, - 'modelSettings': '模型設置', - 'voiceSettings': '語音設置', - 'serviceSettings': '服務設置', - 'deviceSettings': '設備設置', - 'pluginSettings': '外掛設置', - 'saveConfig': '保存配置', - 'resetConfig': '重置配置', - 'configSaved': '配置保存成功', - 'configReset': '配置已重置', - 'confirmReset': '確定要重置配置嗎?', - 'success': '成功', - 'error': '錯誤', - 'warning': '警告', - 'info': '提示' - } + // 預設角色管理頁面文本 + 'agentTemplateManagement.title': '預設角色管理', + 'agentTemplateManagement.templateName': '模板名稱', + 'agentTemplateManagement.description': '模板描述', + 'agentTemplateManagement.createTime': '建立時間', + 'agentTemplateManagement.action': '操作', + 'agentTemplateManagement.createTemplate': '建立模板', + 'agentTemplateManagement.editTemplate': '編輯模板', + 'agentTemplateManagement.deleteTemplate': '刪除模板', + 'agentTemplateManagement.deleteSuccess': '模板刪除成功', + 'agentTemplateManagement.confirmDelete': '確定要刪除選取的模板嗎?', + 'agentTemplateManagement.batchDelete': '批次刪除', + 'agentTemplateManagement.batchDeleteSuccess': '批次刪除成功', + 'agentTemplateManagement.selectTemplate': '請選擇模板', + 'agentTemplateManagement.select': '選擇', + 'agentTemplateManagement.searchPlaceholder': '請輸入模板名稱搜尋', + 'agentTemplateManagement.search': '搜尋', + 'agentTemplateManagement.serialNumber': '序號', + 'agentTemplateManagement.selectAll': '全選', + 'agentTemplateManagement.deselectAll': '取消全選', + 'agentTemplateManagement.loading': '拼命加載中', + 'agentTemplateManagement.confirmSingleDelete': '確定要刪除這個模板嗎?', + 'agentTemplateManagement.confirmBatchDelete': '確定要刪除選中的 {count} 個模板嗎?', + 'agentTemplateManagement.deleteFailed': '模板刪除失敗', + 'agentTemplateManagement.batchDeleteFailed': '批次刪除失敗', + 'agentTemplateManagement.deleteBackendError': '刪除失敗,請檢查後端服務是否正常', + 'agentTemplateManagement.deleteCancelled': '已取消刪除', + + // 預設角色管理對話框文本 + 'agentTemplateManagement.templateDialog.title': '模板配置', + 'agentTemplateManagement.templateDialog.templateName': '模板名稱', + 'agentTemplateManagement.templateDialog.templateNamePlaceholder': '請輸入模板名稱', + 'agentTemplateManagement.templateDialog.description': '模板描述', + 'agentTemplateManagement.templateDialog.descriptionPlaceholder': '請輸入模板描述', + 'agentTemplateManagement.templateDialog.roleName': '角色名稱', + 'agentTemplateManagement.templateDialog.roleNamePlaceholder': '請輸入角色名稱', + 'agentTemplateManagement.templateDialog.avatar': '頭像', + 'agentTemplateManagement.templateDialog.selectAvatar': '選擇頭像', + 'agentTemplateManagement.templateDialog.systemPrompt': '系統提示詞', + 'agentTemplateManagement.templateDialog.systemPromptPlaceholder': '請輸入系統提示詞', + 'agentTemplateManagement.templateDialog.modelConfig': '模型配置', + 'agentTemplateManagement.templateDialog.modelName': '模型名稱', + 'agentTemplateManagement.templateDialog.temperature': '溫度', + 'agentTemplateManagement.templateDialog.topP': 'Top P', + 'agentTemplateManagement.templateDialog.maxTokens': '最大 tokens', + 'agentTemplateManagement.templateDialog.save': '保存', + 'agentTemplateManagement.templateDialog.cancel': '取消', + 'agentTemplateManagement.templateDialog.nameRequired': '請輸入模板名稱', + 'agentTemplateManagement.templateDialog.roleNameRequired': '請輸入角色名稱', + 'agentTemplateManagement.templateDialog.systemPromptRequired': '請輸入系統提示詞', + + // 模組快速配置頁面文本 + 'templateQuickConfig.title': '模組快速配置', + 'templateQuickConfig.basicSettings': '基本設置', + 'templateQuickConfig.agentSettings.agentName': '助手暱稱', + 'templateQuickConfig.agentSettings.agentNamePlaceholder': '請輸入助手暱稱', + 'templateQuickConfig.agentSettings.systemPrompt': '角色介紹', + 'templateQuickConfig.agentSettings.systemPromptPlaceholder': '請輸入角色介紹', + 'templateQuickConfig.modelSettings': '模型設置', + 'templateQuickConfig.voiceSettings': '語音設置', + 'templateQuickConfig.serviceSettings': '服務設置', + 'templateQuickConfig.deviceSettings': '設備設置', + 'templateQuickConfig.pluginSettings': '外掛設置', + 'templateQuickConfig.saveConfig': '保存配置', + 'templateQuickConfig.resetConfig': '重置配置', + 'templateQuickConfig.configSaved': '配置保存成功', + 'templateQuickConfig.configReset': '配置已重置', + 'templateQuickConfig.confirmReset': '確定要重置配置嗎?', + 'templateQuickConfig.success': '成功', + 'error': '錯誤', + 'warning': '警告', + 'info': '提示' } \ No newline at end of file From 9e218281da5fc16e19d41117b90a82a8deb7b575 Mon Sep 17 00:00:00 2001 From: LiJinHui <166460433+stu-rgsze@users.noreply.github.com> Date: Sat, 20 Sep 2025 17:30:00 +0800 Subject: [PATCH 12/19] =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/manager-web/src/apis/module/agent.js | 35 ++ main/manager-web/src/i18n/en.js | 35 +- main/manager-web/src/i18n/zh_CN.js | 34 +- main/manager-web/src/i18n/zh_TW.js | 35 +- .../src/views/AgentTemplateManagement.vue | 12 +- .../src/views/TemplateQuickConfig.vue | 549 +++++------------- 6 files changed, 208 insertions(+), 492 deletions(-) diff --git a/main/manager-web/src/apis/module/agent.js b/main/manager-web/src/apis/module/agent.js index ec7201c3..2a4ae9f9 100644 --- a/main/manager-web/src/apis/module/agent.js +++ b/main/manager-web/src/apis/module/agent.js @@ -97,6 +97,25 @@ export default { }); }).send(); }, + // 删除以下重复定义的方法 + // 保留此方法以保持向后兼容性,但内部使用分页API + // getAgentTemplate(callback) { + // // 内部调用分页API获取所有模板 + // this.getAgentTemplatesPage({ pageNum: 1, pageSize: 100 }, (res) => { + // if (res && res.data && res.data.code === 0) { + // // 转换响应格式以保持兼容性 + // const compatibleRes = { + // data: { + // code: 0, + // data: res.data.data?.records || [] + // } + // }; + // callback(compatibleRes); + // } else { + // callback(res); + // } + // }); + // }, // 新增:获取智能体模板分页列表 getAgentTemplatesPage(params, callback) { @@ -350,4 +369,20 @@ export default { }); }).send(); }, + // 在getAgentTemplate方法后添加获取单个模板的方法 + getAgentTemplateById(templateId, callback) { + RequestService.sendRequest() + .url(`${getServiceUrl()}/agent/template/${templateId}`) + .method('GET') + .success((res) => { + RequestService.clearRequestTime(); + callback(res); + }) + .networkFail((err) => { + console.error('获取单个模板失败:', err); + RequestService.reAjaxFun(() => { + this.getAgentTemplateById(templateId, callback); + }); + }).send(); + }, } diff --git a/main/manager-web/src/i18n/en.js b/main/manager-web/src/i18n/en.js index 8cf50ae5..cc522420 100644 --- a/main/manager-web/src/i18n/en.js +++ b/main/manager-web/src/i18n/en.js @@ -852,30 +852,8 @@ export default { 'agentTemplateManagement.confirmBatchDelete': 'Are you sure you want to delete the selected {count} templates?', 'agentTemplateManagement.deleteFailed': 'Template deletion failed', 'agentTemplateManagement.batchDeleteFailed': 'Template batch deletion failed', - 'agentTemplateManagement.deleteBackendError': 'Deletion failed, please check if the backend service is working properly', - - // agentTemplateManagement Dialog - 'agentTemplateManagement.templateDialog.title': 'Template Configuration', - 'agentTemplateManagement.templateDialog.templateName': 'Template Name', - 'agentTemplateManagement.templateDialog.templateNamePlaceholder': 'Please enter template name', - 'agentTemplateManagement.templateDialog.description': 'Description', - 'agentTemplateManagement.templateDialog.descriptionPlaceholder': 'Please enter description', - 'agentTemplateManagement.templateDialog.roleName': 'Role Name', - 'agentTemplateManagement.templateDialog.roleNamePlaceholder': 'Please enter role name', - 'agentTemplateManagement.templateDialog.avatar': 'Avatar', - 'agentTemplateManagement.templateDialog.selectAvatar': 'Select Avatar', - 'agentTemplateManagement.templateDialog.systemPrompt': 'System Prompt', - 'agentTemplateManagement.templateDialog.systemPromptPlaceholder': 'Please enter system prompt', - 'agentTemplateManagement.templateDialog.modelConfig': 'Model Configuration', - 'agentTemplateManagement.templateDialog.modelName': 'Model Name', - 'agentTemplateManagement.templateDialog.temperature': 'Temperature', - 'agentTemplateManagement.templateDialog.topP': 'Top P', - 'agentTemplateManagement.templateDialog.maxTokens': 'Max Tokens', - 'agentTemplateManagement.templateDialog.save': 'Save', - 'agentTemplateManagement.templateDialog.cancel': 'Cancel', - 'agentTemplateManagement.templateDialog.nameRequired': 'Please enter template name', - 'agentTemplateManagement.templateDialog.roleNameRequired': 'Please enter role name', - 'agentTemplateManagement.templateDialog.systemPromptRequired': 'Please enter system prompt', + 'agentTemplateManagement.deleteBackendError': 'Deletion failed, please check if the backend service is normal', + 'agentTemplateManagement.deleteCancelled': 'Deletion cancelled', // templateQuickConfig 'templateQuickConfig.title': 'Module Quick Configuration', @@ -895,7 +873,14 @@ export default { 'templateQuickConfig.configReset': 'Configuration has been reset', 'templateQuickConfig.confirmReset': 'Are you sure you want to reset the configuration?', 'templateQuickConfig.success': 'Success', - 'error': 'Error', + 'templateQuickConfig.error': 'Error', + 'templateQuickConfig.configSaveFailed': 'Template configuration save failed', + 'templateQuickConfig.saveBackendError': 'Save failed, please check if the backend service is normal', + 'templateQuickConfig.confirm': 'Confirm', + 'templateQuickConfig.cancel': 'Cancel', + 'templateQuickConfig.templateNotFound': 'Template not found', + 'templateQuickConfig.fetchTemplateFailed': 'Failed to fetch template', + 'templateQuickConfig.fetchTemplateBackendError': 'Failed to fetch template, please check if the backend service is normal', 'warning': 'Warning', 'info': 'Info' } diff --git a/main/manager-web/src/i18n/zh_CN.js b/main/manager-web/src/i18n/zh_CN.js index 8b97989c..efd3836e 100644 --- a/main/manager-web/src/i18n/zh_CN.js +++ b/main/manager-web/src/i18n/zh_CN.js @@ -853,29 +853,6 @@ export default { 'agentTemplateManagement.batchDeleteFailed': '模板批量删除失败', 'agentTemplateManagement.deleteBackendError': '删除失败,请检查后端服务是否正常', - // 默认角色模版对话框文本 - 'agentTemplateManagement.templateDialog.title': '模板配置', - 'agentTemplateManagement.templateDialog.templateName': '模板名称', - 'agentTemplateManagement.templateDialog.templateNamePlaceholder': '请输入模板名称', - 'agentTemplateManagement.templateDialog.description': '模板描述', - 'agentTemplateManagement.templateDialog.descriptionPlaceholder': '请输入模板描述', - 'agentTemplateManagement.templateDialog.roleName': '角色名称', - 'agentTemplateManagement.templateDialog.roleNamePlaceholder': '请输入角色名称', - 'agentTemplateManagement.templateDialog.avatar': '头像', - 'agentTemplateManagement.templateDialog.selectAvatar': '选择头像', - 'agentTemplateManagement.templateDialog.systemPrompt': '系统提示词', - 'agentTemplateManagement.templateDialog.systemPromptPlaceholder': '请输入系统提示词', - 'agentTemplateManagement.templateDialog.modelConfig': '模型配置', - 'agentTemplateManagement.templateDialog.modelName': '模型名称', - 'agentTemplateManagement.templateDialog.temperature': '温度', - 'agentTemplateManagement.templateDialog.topP': 'Top P', - 'agentTemplateManagement.templateDialog.maxTokens': '最大 tokens', - 'agentTemplateManagement.templateDialog.save': '保存', - 'agentTemplateManagement.templateDialog.cancel': '取消', - 'agentTemplateManagement.templateDialog.nameRequired': '请输入模板名称', - 'agentTemplateManagement.templateDialog.roleNameRequired': '请输入角色名称', - 'agentTemplateManagement.templateDialog.systemPromptRequired': '请输入系统提示词', - // 模板快速配置页面文本 'templateQuickConfig.title': '模块快速配置', 'templateQuickConfig.basicSettings': '基本设置', @@ -889,12 +866,17 @@ export default { 'templateQuickConfig.deviceSettings': '设备设置', 'templateQuickConfig.pluginSettings': '插件设置', 'templateQuickConfig.saveConfig': '保存配置', - 'templateQuickConfig.resetConfig': '重置配置', - 'templateQuickConfig.configSaved': '配置保存成功', - 'templateQuickConfig.configReset': '配置已重置', + 'templateQuickConfig.resetConfig': '配置已重置', 'templateQuickConfig.confirmReset': '确定要重置配置吗?', 'templateQuickConfig.success': '成功', 'templateQuickConfig.error': '错误', + 'templateQuickConfig.configSaveFailed': '模板配置保存失败', + 'templateQuickConfig.saveBackendError': '保存失败,请检查后端服务是否正常', + 'templateQuickConfig.confirm': '确定', + 'templateQuickConfig.cancel': '取消', + 'templateQuickConfig.templateNotFound': '未找到指定模板', + 'templateQuickConfig.fetchTemplateFailed': '获取模板失败', + 'templateQuickConfig.fetchTemplateBackendError': '获取模板失败,请检查后端服务是否正常', 'warning': '警告', 'info': '提示' } \ No newline at end of file diff --git a/main/manager-web/src/i18n/zh_TW.js b/main/manager-web/src/i18n/zh_TW.js index 83aae70e..43061c1b 100644 --- a/main/manager-web/src/i18n/zh_TW.js +++ b/main/manager-web/src/i18n/zh_TW.js @@ -855,31 +855,8 @@ export default { 'agentTemplateManagement.deleteBackendError': '刪除失敗,請檢查後端服務是否正常', 'agentTemplateManagement.deleteCancelled': '已取消刪除', - // 預設角色管理對話框文本 - 'agentTemplateManagement.templateDialog.title': '模板配置', - 'agentTemplateManagement.templateDialog.templateName': '模板名稱', - 'agentTemplateManagement.templateDialog.templateNamePlaceholder': '請輸入模板名稱', - 'agentTemplateManagement.templateDialog.description': '模板描述', - 'agentTemplateManagement.templateDialog.descriptionPlaceholder': '請輸入模板描述', - 'agentTemplateManagement.templateDialog.roleName': '角色名稱', - 'agentTemplateManagement.templateDialog.roleNamePlaceholder': '請輸入角色名稱', - 'agentTemplateManagement.templateDialog.avatar': '頭像', - 'agentTemplateManagement.templateDialog.selectAvatar': '選擇頭像', - 'agentTemplateManagement.templateDialog.systemPrompt': '系統提示詞', - 'agentTemplateManagement.templateDialog.systemPromptPlaceholder': '請輸入系統提示詞', - 'agentTemplateManagement.templateDialog.modelConfig': '模型配置', - 'agentTemplateManagement.templateDialog.modelName': '模型名稱', - 'agentTemplateManagement.templateDialog.temperature': '溫度', - 'agentTemplateManagement.templateDialog.topP': 'Top P', - 'agentTemplateManagement.templateDialog.maxTokens': '最大 tokens', - 'agentTemplateManagement.templateDialog.save': '保存', - 'agentTemplateManagement.templateDialog.cancel': '取消', - 'agentTemplateManagement.templateDialog.nameRequired': '請輸入模板名稱', - 'agentTemplateManagement.templateDialog.roleNameRequired': '請輸入角色名稱', - 'agentTemplateManagement.templateDialog.systemPromptRequired': '請輸入系統提示詞', - - // 模組快速配置頁面文本 - 'templateQuickConfig.title': '模組快速配置', + // 模板快速配置 + 'templateQuickConfig.title': '模組快速設定', 'templateQuickConfig.basicSettings': '基本設置', 'templateQuickConfig.agentSettings.agentName': '助手暱稱', 'templateQuickConfig.agentSettings.agentNamePlaceholder': '請輸入助手暱稱', @@ -896,6 +873,14 @@ export default { 'templateQuickConfig.configReset': '配置已重置', 'templateQuickConfig.confirmReset': '確定要重置配置嗎?', 'templateQuickConfig.success': '成功', + 'templateQuickConfig.error': '錯誤', + 'templateQuickConfig.configSaveFailed': '模板配置保存失敗', + 'templateQuickConfig.saveBackendError': '保存失敗,請檢查後端服務是否正常', + 'templateQuickConfig.confirm': '確定', + 'templateQuickConfig.cancel': '取消', + 'templateQuickConfig.templateNotFound': '未找到指定模板', + 'templateQuickConfig.fetchTemplateFailed': '獲取模板失敗', + 'templateQuickConfig.fetchTemplateBackendError': '獲取模板失敗,請檢查後端服務是否正常', 'error': '錯誤', 'warning': '警告', 'info': '提示' diff --git a/main/manager-web/src/views/AgentTemplateManagement.vue b/main/manager-web/src/views/AgentTemplateManagement.vue index 170041b7..47a40bc2 100644 --- a/main/manager-web/src/views/AgentTemplateManagement.vue +++ b/main/manager-web/src/views/AgentTemplateManagement.vue @@ -30,22 +30,16 @@ - - - - - - + + diff --git a/main/manager-web/src/views/TemplateQuickConfig.vue b/main/manager-web/src/views/TemplateQuickConfig.vue index e9e30d58..024e120f 100644 --- a/main/manager-web/src/views/TemplateQuickConfig.vue +++ b/main/manager-web/src/views/TemplateQuickConfig.vue @@ -57,210 +57,145 @@ \ No newline at end of file From 588d75763c739a1074e41ce22737a4fe65c9740b Mon Sep 17 00:00:00 2001 From: LiJinHui <166460433+stu-rgsze@users.noreply.github.com> Date: Sat, 20 Sep 2025 23:43:58 +0800 Subject: [PATCH 13/19] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=A4=9A=E4=BD=99?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/manager-web/src/i18n/en.js | 13 +- main/manager-web/src/i18n/zh_CN.js | 8 +- main/manager-web/src/i18n/zh_TW.js | 8 +- .../src/views/AgentTemplateManagement.vue | 698 +++++++++--------- 4 files changed, 352 insertions(+), 375 deletions(-) diff --git a/main/manager-web/src/i18n/en.js b/main/manager-web/src/i18n/en.js index cc522420..800ecbbc 100644 --- a/main/manager-web/src/i18n/en.js +++ b/main/manager-web/src/i18n/en.js @@ -881,7 +881,12 @@ export default { 'templateQuickConfig.templateNotFound': 'Template not found', 'templateQuickConfig.fetchTemplateFailed': 'Failed to fetch template', 'templateQuickConfig.fetchTemplateBackendError': 'Failed to fetch template, please check if the backend service is normal', - 'warning': 'Warning', - 'info': 'Info' - } -; \ No newline at end of file + 'warning': 'Warning', + 'info': 'Info', + + // agentTemplateManagement error handling + 'agentTemplateManagement.invalidResponse': 'Invalid response object:', + 'agentTemplateManagement.apiCallFailed': 'API call failed:', + 'agentTemplateManagement.apiCallException': 'Exception occurred when calling API:', + 'common.networkError': 'Network request failed' +} \ No newline at end of file diff --git a/main/manager-web/src/i18n/zh_CN.js b/main/manager-web/src/i18n/zh_CN.js index efd3836e..3205c3e1 100644 --- a/main/manager-web/src/i18n/zh_CN.js +++ b/main/manager-web/src/i18n/zh_CN.js @@ -878,5 +878,11 @@ export default { 'templateQuickConfig.fetchTemplateFailed': '获取模板失败', 'templateQuickConfig.fetchTemplateBackendError': '获取模板失败,请检查后端服务是否正常', 'warning': '警告', - 'info': '提示' + 'info': '提示', + +// 在agentTemplateManagement部分添加以下内容 + 'agentTemplateManagement.invalidResponse': '无效的响应对象:', + 'agentTemplateManagement.apiCallFailed': 'API调用失败:', + 'agentTemplateManagement.apiCallException': '调用API时发生异常:', + 'common.networkError': '网络请求失败' } \ No newline at end of file diff --git a/main/manager-web/src/i18n/zh_TW.js b/main/manager-web/src/i18n/zh_TW.js index 43061c1b..ef47388c 100644 --- a/main/manager-web/src/i18n/zh_TW.js +++ b/main/manager-web/src/i18n/zh_TW.js @@ -883,5 +883,11 @@ export default { 'templateQuickConfig.fetchTemplateBackendError': '獲取模板失敗,請檢查後端服務是否正常', 'error': '錯誤', 'warning': '警告', - 'info': '提示' + 'info': '提示', + + // agentTemplateManagement錯誤處理相關 + 'agentTemplateManagement.invalidResponse': '無效的回應物件:', + 'agentTemplateManagement.apiCallFailed': 'API調用失敗:', + 'agentTemplateManagement.apiCallException': '調用API時發生異常:', + 'common.networkError': '網路請求失敗' } \ No newline at end of file diff --git a/main/manager-web/src/views/AgentTemplateManagement.vue b/main/manager-web/src/views/AgentTemplateManagement.vue index 47a40bc2..202bb258 100644 --- a/main/manager-web/src/views/AgentTemplateManagement.vue +++ b/main/manager-web/src/views/AgentTemplateManagement.vue @@ -1,14 +1,20 @@ \ No newline at end of file + From ffc1541343b33e634b6aebf14cc1ee59ad95d2f0 Mon Sep 17 00:00:00 2001 From: LiJinHui <166460433+stu-rgsze@users.noreply.github.com> Date: Sun, 21 Sep 2025 00:25:23 +0800 Subject: [PATCH 14/19] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=A4=9A=E4=BD=99?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/manager-web/src/apis/module/agent.js | 23 ++--------------- main/manager-web/src/i18n/zh_CN.js | 2 ++ .../src/views/AgentTemplateManagement.vue | 25 +------------------ 3 files changed, 5 insertions(+), 45 deletions(-) diff --git a/main/manager-web/src/apis/module/agent.js b/main/manager-web/src/apis/module/agent.js index 2a4ae9f9..bcf68a29 100644 --- a/main/manager-web/src/apis/module/agent.js +++ b/main/manager-web/src/apis/module/agent.js @@ -84,7 +84,7 @@ export default { // 新增方法:获取智能体模板 getAgentTemplate(callback) { // 移除templateName参数 RequestService.sendRequest() - .url(`${getServiceUrl()}/agent/template/all`) + .url(`${getServiceUrl()}/agent/template`) .method('GET') .success((res) => { RequestService.clearRequestTime(); @@ -97,26 +97,7 @@ export default { }); }).send(); }, - // 删除以下重复定义的方法 - // 保留此方法以保持向后兼容性,但内部使用分页API - // getAgentTemplate(callback) { - // // 内部调用分页API获取所有模板 - // this.getAgentTemplatesPage({ pageNum: 1, pageSize: 100 }, (res) => { - // if (res && res.data && res.data.code === 0) { - // // 转换响应格式以保持兼容性 - // const compatibleRes = { - // data: { - // code: 0, - // data: res.data.data?.records || [] - // } - // }; - // callback(compatibleRes); - // } else { - // callback(res); - // } - // }); - // }, - + // 新增:获取智能体模板分页列表 getAgentTemplatesPage(params, callback) { RequestService.sendRequest() diff --git a/main/manager-web/src/i18n/zh_CN.js b/main/manager-web/src/i18n/zh_CN.js index 3205c3e1..3d12b59f 100644 --- a/main/manager-web/src/i18n/zh_CN.js +++ b/main/manager-web/src/i18n/zh_CN.js @@ -832,6 +832,8 @@ export default { 'agentTemplateManagement.description': '模板描述', 'agentTemplateManagement.createTime': '创建时间', 'agentTemplateManagement.action': '操作', + 'templateQuickConfig.saveSuccess': '配置保存成功', + 'templateQuickConfig.saveFailed': '配置保存失败', 'agentTemplateManagement.createTemplate': '创建模板', 'agentTemplateManagement.editTemplate': '编辑模板', 'agentTemplateManagement.deleteTemplate': '删除模板', diff --git a/main/manager-web/src/views/AgentTemplateManagement.vue b/main/manager-web/src/views/AgentTemplateManagement.vue index 202bb258..0bff2e99 100644 --- a/main/manager-web/src/views/AgentTemplateManagement.vue +++ b/main/manager-web/src/views/AgentTemplateManagement.vue @@ -83,7 +83,6 @@ {{ $t("agentTemplateManagement.editTemplate") }} - {{ $t("agentTemplateManagement.deleteTemplate") }} @@ -150,7 +149,6 @@ export default { HeaderBar, }, - // 1. 首先确保在 data 部分添加了 isAllSelected 状态 data() { return { // 模板相关 @@ -270,12 +268,6 @@ export default { }); }, - // 添加handleCreate方法,与模板中绑定的按钮保持一致 - handleCreate() { - this.showAddTemplateDialog(); - }, - - // 保留原有的editTemplate方法 // 编辑模板 editTemplate(row) { // 跳转到模板快速配置页面,并传递模板ID参数 @@ -322,8 +314,7 @@ export default { }); }, - // 修改batchDeleteTemplate方法,使用selectedTemplates - // 批量删除模板 - 完全重写这个方法 + // 批量删除模板 batchDeleteTemplate() { if (this.selectedTemplates.length === 0) { this.$message.warning(this.$t("agentTemplateManagement.selectTemplate")); @@ -374,20 +365,6 @@ export default { }); }, - // 分页相关方法 - // 添加日期格式化函数 - formatDate(dateString) { - if (!dateString) return ""; - const date = new Date(dateString); - const year = date.getFullYear(); - const month = String(date.getMonth() + 1).padStart(2, "0"); - const day = String(date.getDate()).padStart(2, "0"); - const hours = String(date.getHours()).padStart(2, "0"); - const minutes = String(date.getMinutes()).padStart(2, "0"); - const seconds = String(date.getSeconds()).padStart(2, "0"); - return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; - }, - // 完善分页相关方法 handlePageChange(page) { this.currentPage = page; From 4d283c35047fe0aa2d61066a1cde1b1f5c5f0a02 Mon Sep 17 00:00:00 2001 From: LiJinHui <166460433+stu-rgsze@users.noreply.github.com> Date: Sun, 21 Sep 2025 01:51:35 +0800 Subject: [PATCH 15/19] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E8=B0=83=E8=AF=95?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/manager-web/src/i18n/en.js | 2 ++ main/manager-web/src/i18n/zh_CN.js | 6 +++++- main/manager-web/src/i18n/zh_TW.js | 2 ++ .../src/views/AgentTemplateManagement.vue | 16 +--------------- 4 files changed, 10 insertions(+), 16 deletions(-) diff --git a/main/manager-web/src/i18n/en.js b/main/manager-web/src/i18n/en.js index 800ecbbc..7633ce21 100644 --- a/main/manager-web/src/i18n/en.js +++ b/main/manager-web/src/i18n/en.js @@ -447,6 +447,7 @@ export default { 'common.deleteFailure': 'Delete Failed, Please Try Again', 'common.deleteCancelled': 'Delete Cancelled', 'common.warning': 'Warning', + 'common.tip': 'Tip', 'common.confirm': 'Confirm', 'common.cancel': 'Cancel', 'common.sensitive': 'Sensitive', @@ -834,6 +835,7 @@ export default { 'agentTemplateManagement.createTime': 'Creation Time', 'agentTemplateManagement.action': 'Action', 'agentTemplateManagement.createTemplate': 'Create Template', + 'templateQuickConfig.newTemplate': 'New Template', 'agentTemplateManagement.editTemplate': 'Edit Template', 'agentTemplateManagement.deleteTemplate': 'Delete Template', 'agentTemplateManagement.deleteSuccess': 'Template deleted successfully', diff --git a/main/manager-web/src/i18n/zh_CN.js b/main/manager-web/src/i18n/zh_CN.js index 3d12b59f..290e2c8c 100644 --- a/main/manager-web/src/i18n/zh_CN.js +++ b/main/manager-web/src/i18n/zh_CN.js @@ -447,6 +447,7 @@ export default { 'common.deleteFailure': '删除失败,请重试', 'common.deleteCancelled': '已取消删除', 'common.warning': '警告', + 'common.tip': '提示', 'common.confirm': '确定', 'common.cancel': '取消', 'common.sensitive': '敏感', @@ -868,7 +869,7 @@ export default { 'templateQuickConfig.deviceSettings': '设备设置', 'templateQuickConfig.pluginSettings': '插件设置', 'templateQuickConfig.saveConfig': '保存配置', - 'templateQuickConfig.resetConfig': '配置已重置', + 'templateQuickConfig.resetConfig': '重置配置', 'templateQuickConfig.confirmReset': '确定要重置配置吗?', 'templateQuickConfig.success': '成功', 'templateQuickConfig.error': '错误', @@ -879,6 +880,9 @@ export default { 'templateQuickConfig.templateNotFound': '未找到指定模板', 'templateQuickConfig.fetchTemplateFailed': '获取模板失败', 'templateQuickConfig.fetchTemplateBackendError': '获取模板失败,请检查后端服务是否正常', + 'templateQuickConfig.newTemplate': '新模板', + 'templateQuickConfig.saveSuccess': '保存成功', + 'templateQuickConfig.resetSuccess': '重置成功', 'warning': '警告', 'info': '提示', diff --git a/main/manager-web/src/i18n/zh_TW.js b/main/manager-web/src/i18n/zh_TW.js index ef47388c..bf5e6bec 100644 --- a/main/manager-web/src/i18n/zh_TW.js +++ b/main/manager-web/src/i18n/zh_TW.js @@ -483,6 +483,7 @@ export default { 'common.deleteFailure': '刪除失敗,請重試', 'common.deleteCancelled': '已取消刪除', 'common.warning': '警告', + 'common.tip': '提示', 'common.confirm': '確定', 'common.cancel': '取消', 'common.sensitive': '敏感', @@ -881,6 +882,7 @@ export default { 'templateQuickConfig.templateNotFound': '未找到指定模板', 'templateQuickConfig.fetchTemplateFailed': '獲取模板失敗', 'templateQuickConfig.fetchTemplateBackendError': '獲取模板失敗,請檢查後端服務是否正常', + 'templateQuickConfig.newTemplate': '新模板', 'error': '錯誤', 'warning': '警告', 'info': '提示', diff --git a/main/manager-web/src/views/AgentTemplateManagement.vue b/main/manager-web/src/views/AgentTemplateManagement.vue index 0bff2e99..d09738d8 100644 --- a/main/manager-web/src/views/AgentTemplateManagement.vue +++ b/main/manager-web/src/views/AgentTemplateManagement.vue @@ -106,7 +106,7 @@ : $t("agentTemplateManagement.selectAll") }} - + {{ $t("agentTemplateManagement.createTemplate") }} { - console.error(this.$t("agentTemplateManagement.apiCallFailed"), error); this.templateList = []; this.total = 0; this.templateLoading = false; @@ -237,7 +231,6 @@ export default { } ); } catch (error) { - console.error(this.$t("agentTemplateManagement.apiCallException"), error); this.templateList = []; this.total = 0; this.templateLoading = false; @@ -290,9 +283,6 @@ export default { ) .then(() => { agentApi.deleteAgentTemplate(row.id, (res) => { - // 添加调试日志 - console.log("删除模板响应:", res); - if (res && typeof res === "object") { // 检查res.data是否存在且包含code=0 if (res.data && res.data.code === 0) { @@ -304,7 +294,6 @@ export default { ); } } else { - console.error("无效的响应对象:", res); this.$message.error(this.$t("agentTemplateManagement.deleteBackendError")); } }); @@ -335,10 +324,8 @@ export default { .then(() => { // 确保参数格式正确 - 将id数组作为请求体 const ids = this.selectedTemplates.map((template) => template.id); - console.log("批量删除的模板ID:", ids); agentApi.batchDeleteAgentTemplate(ids, (res) => { - console.log("批量删除响应:", res); if (res && typeof res === "object") { if (res.data && res.data.code === 0) { this.$message.success( @@ -355,7 +342,6 @@ export default { ); } } else { - console.error("无效的响应对象:", res); this.$message.error(this.$t("agentTemplateManagement.deleteBackendError")); } }); From c4b3e30c5dbedcb6b1f5a2e409829bf4b6c1f3ff Mon Sep 17 00:00:00 2001 From: LiJinHui <166460433+stu-rgsze@users.noreply.github.com> Date: Sun, 21 Sep 2025 16:41:53 +0800 Subject: [PATCH 16/19] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=A4=9A=E7=9A=84?= =?UTF-8?q?=E5=AE=9A=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/manager-web/src/i18n/en.js | 22 ++-------------------- main/manager-web/src/i18n/zh_CN.js | 19 ------------------- main/manager-web/src/i18n/zh_TW.js | 19 ------------------- 3 files changed, 2 insertions(+), 58 deletions(-) diff --git a/main/manager-web/src/i18n/en.js b/main/manager-web/src/i18n/en.js index 7633ce21..98b76d24 100644 --- a/main/manager-web/src/i18n/en.js +++ b/main/manager-web/src/i18n/en.js @@ -831,15 +831,12 @@ export default { // agentTemplateManagement 'agentTemplateManagement.title': 'Default Role Management', 'agentTemplateManagement.templateName': 'Template Name', - 'agentTemplateManagement.description': 'Description', - 'agentTemplateManagement.createTime': 'Creation Time', 'agentTemplateManagement.action': 'Action', 'agentTemplateManagement.createTemplate': 'Create Template', 'templateQuickConfig.newTemplate': 'New Template', 'agentTemplateManagement.editTemplate': 'Edit Template', 'agentTemplateManagement.deleteTemplate': 'Delete Template', 'agentTemplateManagement.deleteSuccess': 'Template deleted successfully', - 'agentTemplateManagement.confirmDelete': 'Are you sure you want to delete the selected templates?', 'agentTemplateManagement.batchDelete': 'Batch Delete', 'agentTemplateManagement.batchDeleteSuccess': 'Batch deletion successful', 'agentTemplateManagement.selectTemplate': 'Please select a template', @@ -863,32 +860,17 @@ export default { 'templateQuickConfig.agentSettings.agentName': 'Nickname', 'templateQuickConfig.agentSettings.agentNamePlaceholder': 'Please enter nickname', 'templateQuickConfig.agentSettings.systemPrompt': 'Introduction', - 'templateQuickConfig.agentSettings.systemPromptPlaceholder': 'Please enter introduction', - 'templateQuickConfig.modelSettings': 'Model Settings', - 'templateQuickConfig.voiceSettings': 'Voice Settings', - 'templateQuickConfig.serviceSettings': 'Service Settings', - 'templateQuickConfig.deviceSettings': 'Device Settings', - 'templateQuickConfig.pluginSettings': 'Plugin Settings', + 'templateQuickConfig.agentSettings.systemPromptPlaceholder': 'Please enter ntroduction', 'templateQuickConfig.saveConfig': 'Save Configuration', 'templateQuickConfig.resetConfig': 'Reset Configuration', 'templateQuickConfig.configSaved': 'Configuration saved successfully', 'templateQuickConfig.configReset': 'Configuration has been reset', 'templateQuickConfig.confirmReset': 'Are you sure you want to reset the configuration?', - 'templateQuickConfig.success': 'Success', - 'templateQuickConfig.error': 'Error', - 'templateQuickConfig.configSaveFailed': 'Template configuration save failed', - 'templateQuickConfig.saveBackendError': 'Save failed, please check if the backend service is normal', + 'templateQuickConfig.saveFailed': 'Configuration save failed', 'templateQuickConfig.confirm': 'Confirm', 'templateQuickConfig.cancel': 'Cancel', 'templateQuickConfig.templateNotFound': 'Template not found', - 'templateQuickConfig.fetchTemplateFailed': 'Failed to fetch template', - 'templateQuickConfig.fetchTemplateBackendError': 'Failed to fetch template, please check if the backend service is normal', 'warning': 'Warning', 'info': 'Info', - - // agentTemplateManagement error handling - 'agentTemplateManagement.invalidResponse': 'Invalid response object:', - 'agentTemplateManagement.apiCallFailed': 'API call failed:', - 'agentTemplateManagement.apiCallException': 'Exception occurred when calling API:', 'common.networkError': 'Network request failed' } \ No newline at end of file diff --git a/main/manager-web/src/i18n/zh_CN.js b/main/manager-web/src/i18n/zh_CN.js index 290e2c8c..ad793f87 100644 --- a/main/manager-web/src/i18n/zh_CN.js +++ b/main/manager-web/src/i18n/zh_CN.js @@ -830,8 +830,6 @@ export default { // 默认角色模版页面文本 'agentTemplateManagement.title': '默认角色管理', 'agentTemplateManagement.templateName': '模板名称', - 'agentTemplateManagement.description': '模板描述', - 'agentTemplateManagement.createTime': '创建时间', 'agentTemplateManagement.action': '操作', 'templateQuickConfig.saveSuccess': '配置保存成功', 'templateQuickConfig.saveFailed': '配置保存失败', @@ -839,7 +837,6 @@ export default { 'agentTemplateManagement.editTemplate': '编辑模板', 'agentTemplateManagement.deleteTemplate': '删除模板', 'agentTemplateManagement.deleteSuccess': '模板删除成功', - 'agentTemplateManagement.confirmDelete': '确定要删除选中的模板吗?', 'agentTemplateManagement.batchDelete': '批量删除', 'agentTemplateManagement.batchDeleteSuccess': '批量删除成功', 'agentTemplateManagement.selectTemplate': '请选择模板', @@ -863,32 +860,16 @@ export default { 'templateQuickConfig.agentSettings.agentNamePlaceholder': '请输入助手昵称', 'templateQuickConfig.agentSettings.systemPrompt': '角色介绍', 'templateQuickConfig.agentSettings.systemPromptPlaceholder': '请输入角色介绍', - 'templateQuickConfig.modelSettings': '模型设置', - 'templateQuickConfig.voiceSettings': '语音设置', - 'templateQuickConfig.serviceSettings': '服务设置', - 'templateQuickConfig.deviceSettings': '设备设置', - 'templateQuickConfig.pluginSettings': '插件设置', 'templateQuickConfig.saveConfig': '保存配置', 'templateQuickConfig.resetConfig': '重置配置', 'templateQuickConfig.confirmReset': '确定要重置配置吗?', - 'templateQuickConfig.success': '成功', - 'templateQuickConfig.error': '错误', - 'templateQuickConfig.configSaveFailed': '模板配置保存失败', - 'templateQuickConfig.saveBackendError': '保存失败,请检查后端服务是否正常', 'templateQuickConfig.confirm': '确定', 'templateQuickConfig.cancel': '取消', 'templateQuickConfig.templateNotFound': '未找到指定模板', - 'templateQuickConfig.fetchTemplateFailed': '获取模板失败', - 'templateQuickConfig.fetchTemplateBackendError': '获取模板失败,请检查后端服务是否正常', 'templateQuickConfig.newTemplate': '新模板', 'templateQuickConfig.saveSuccess': '保存成功', 'templateQuickConfig.resetSuccess': '重置成功', 'warning': '警告', 'info': '提示', - -// 在agentTemplateManagement部分添加以下内容 - 'agentTemplateManagement.invalidResponse': '无效的响应对象:', - 'agentTemplateManagement.apiCallFailed': 'API调用失败:', - 'agentTemplateManagement.apiCallException': '调用API时发生异常:', 'common.networkError': '网络请求失败' } \ No newline at end of file diff --git a/main/manager-web/src/i18n/zh_TW.js b/main/manager-web/src/i18n/zh_TW.js index bf5e6bec..f553ba3a 100644 --- a/main/manager-web/src/i18n/zh_TW.js +++ b/main/manager-web/src/i18n/zh_TW.js @@ -831,14 +831,11 @@ export default { // 預設角色管理頁面文本 'agentTemplateManagement.title': '預設角色管理', 'agentTemplateManagement.templateName': '模板名稱', - 'agentTemplateManagement.description': '模板描述', - 'agentTemplateManagement.createTime': '建立時間', 'agentTemplateManagement.action': '操作', 'agentTemplateManagement.createTemplate': '建立模板', 'agentTemplateManagement.editTemplate': '編輯模板', 'agentTemplateManagement.deleteTemplate': '刪除模板', 'agentTemplateManagement.deleteSuccess': '模板刪除成功', - 'agentTemplateManagement.confirmDelete': '確定要刪除選取的模板嗎?', 'agentTemplateManagement.batchDelete': '批次刪除', 'agentTemplateManagement.batchDeleteSuccess': '批次刪除成功', 'agentTemplateManagement.selectTemplate': '請選擇模板', @@ -863,33 +860,17 @@ export default { 'templateQuickConfig.agentSettings.agentNamePlaceholder': '請輸入助手暱稱', 'templateQuickConfig.agentSettings.systemPrompt': '角色介紹', 'templateQuickConfig.agentSettings.systemPromptPlaceholder': '請輸入角色介紹', - 'templateQuickConfig.modelSettings': '模型設置', - 'templateQuickConfig.voiceSettings': '語音設置', - 'templateQuickConfig.serviceSettings': '服務設置', - 'templateQuickConfig.deviceSettings': '設備設置', - 'templateQuickConfig.pluginSettings': '外掛設置', 'templateQuickConfig.saveConfig': '保存配置', 'templateQuickConfig.resetConfig': '重置配置', 'templateQuickConfig.configSaved': '配置保存成功', 'templateQuickConfig.configReset': '配置已重置', 'templateQuickConfig.confirmReset': '確定要重置配置嗎?', - 'templateQuickConfig.success': '成功', - 'templateQuickConfig.error': '錯誤', - 'templateQuickConfig.configSaveFailed': '模板配置保存失敗', - 'templateQuickConfig.saveBackendError': '保存失敗,請檢查後端服務是否正常', 'templateQuickConfig.confirm': '確定', 'templateQuickConfig.cancel': '取消', 'templateQuickConfig.templateNotFound': '未找到指定模板', - 'templateQuickConfig.fetchTemplateFailed': '獲取模板失敗', - 'templateQuickConfig.fetchTemplateBackendError': '獲取模板失敗,請檢查後端服務是否正常', 'templateQuickConfig.newTemplate': '新模板', 'error': '錯誤', 'warning': '警告', 'info': '提示', - - // agentTemplateManagement錯誤處理相關 - 'agentTemplateManagement.invalidResponse': '無效的回應物件:', - 'agentTemplateManagement.apiCallFailed': 'API調用失敗:', - 'agentTemplateManagement.apiCallException': '調用API時發生異常:', 'common.networkError': '網路請求失敗' } \ No newline at end of file From 7e338b28dff17eb70ca44844d6315e57f8a6bc45 Mon Sep 17 00:00:00 2001 From: LiJinHui <166460433+stu-rgsze@users.noreply.github.com> Date: Sun, 21 Sep 2025 16:44:18 +0800 Subject: [PATCH 17/19] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=A4=9A=E4=BD=99?= =?UTF-8?q?=E5=AE=9A=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/manager-web/src/i18n/en.js | 1 - main/manager-web/src/i18n/zh_CN.js | 1 - main/manager-web/src/i18n/zh_TW.js | 1 - 3 files changed, 3 deletions(-) diff --git a/main/manager-web/src/i18n/en.js b/main/manager-web/src/i18n/en.js index 98b76d24..a6a2900e 100644 --- a/main/manager-web/src/i18n/en.js +++ b/main/manager-web/src/i18n/en.js @@ -856,7 +856,6 @@ export default { // templateQuickConfig 'templateQuickConfig.title': 'Module Quick Configuration', - 'templateQuickConfig.basicSettings': 'Basic Settings', 'templateQuickConfig.agentSettings.agentName': 'Nickname', 'templateQuickConfig.agentSettings.agentNamePlaceholder': 'Please enter nickname', 'templateQuickConfig.agentSettings.systemPrompt': 'Introduction', diff --git a/main/manager-web/src/i18n/zh_CN.js b/main/manager-web/src/i18n/zh_CN.js index ad793f87..e4250776 100644 --- a/main/manager-web/src/i18n/zh_CN.js +++ b/main/manager-web/src/i18n/zh_CN.js @@ -855,7 +855,6 @@ export default { // 模板快速配置页面文本 'templateQuickConfig.title': '模块快速配置', - 'templateQuickConfig.basicSettings': '基本设置', 'templateQuickConfig.agentSettings.agentName': '助手昵称', 'templateQuickConfig.agentSettings.agentNamePlaceholder': '请输入助手昵称', 'templateQuickConfig.agentSettings.systemPrompt': '角色介绍', diff --git a/main/manager-web/src/i18n/zh_TW.js b/main/manager-web/src/i18n/zh_TW.js index f553ba3a..3fa9874d 100644 --- a/main/manager-web/src/i18n/zh_TW.js +++ b/main/manager-web/src/i18n/zh_TW.js @@ -855,7 +855,6 @@ export default { // 模板快速配置 'templateQuickConfig.title': '模組快速設定', - 'templateQuickConfig.basicSettings': '基本設置', 'templateQuickConfig.agentSettings.agentName': '助手暱稱', 'templateQuickConfig.agentSettings.agentNamePlaceholder': '請輸入助手暱稱', 'templateQuickConfig.agentSettings.systemPrompt': '角色介紹', From ebb4ba55954451c73625029a21b0caebdb5fc670 Mon Sep 17 00:00:00 2001 From: hrz <1710360675@qq.com> Date: Sun, 21 Sep 2025 18:04:56 +0800 Subject: [PATCH 18/19] =?UTF-8?q?update:=E8=B0=83=E6=95=B4=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E9=A1=BA=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/manager-web/src/components/HeaderBar.vue | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/main/manager-web/src/components/HeaderBar.vue b/main/manager-web/src/components/HeaderBar.vue index c14804cc..e6048b00 100644 --- a/main/manager-web/src/components/HeaderBar.vue +++ b/main/manager-web/src/components/HeaderBar.vue @@ -53,17 +53,16 @@ {{ $t('header.providerManagement') }} - - {{ $t('header.serverSideManagement') }} - - {{ $t('header.agentTemplate') }} + + {{ $t('header.serverSideManagement') }} + - +
From 9987555a728253717451f31092cd12b350a2160a Mon Sep 17 00:00:00 2001 From: hrz <1710360675@qq.com> Date: Sun, 21 Sep 2025 18:07:48 +0800 Subject: [PATCH 19/19] Bump to v0.8.3 --- .../src/main/java/xiaozhi/common/constant/Constant.java | 2 +- main/manager-mobile/src/pages/settings/index.vue | 2 +- main/xiaozhi-server/config/logger.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) 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 42a7d239..55f8fcdb 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 @@ -247,7 +247,7 @@ public interface Constant { /** * 版本号 */ - public static final String VERSION = "0.8.1"; + public static final String VERSION = "0.8.3"; /** * 无效固件URL diff --git a/main/manager-mobile/src/pages/settings/index.vue b/main/manager-mobile/src/pages/settings/index.vue index 03a2c74e..220d2338 100644 --- a/main/manager-mobile/src/pages/settings/index.vue +++ b/main/manager-mobile/src/pages/settings/index.vue @@ -222,7 +222,7 @@ function showAbout() { title: `关于${import.meta.env.VITE_APP_TITLE}`, content: `${import.meta.env.VITE_APP_TITLE}\n\n基于 Vue.js 3 + uni-app 构建的跨平台移动端管理应用,为小智ESP32智能硬件提供设备管理、智能体配置等功能。\n\n© 2025 xiaozhi-esp32-server`, title: `关于小智智控台`, - content: `小智智控台\n\n基于 Vue.js 3 + uni-app 构建的跨平台移动端管理应用,为小智ESP32智能硬件提供设备管理、智能体配置等功能。\n\n© 2025 xiaozhi-esp32-server 0.8.1`, + content: `小智智控台\n\n基于 Vue.js 3 + uni-app 构建的跨平台移动端管理应用,为小智ESP32智能硬件提供设备管理、智能体配置等功能。\n\n© 2025 xiaozhi-esp32-server 0.8.3`, showCancel: false, confirmText: '确定', }) diff --git a/main/xiaozhi-server/config/logger.py b/main/xiaozhi-server/config/logger.py index 9c093106..919d05d0 100644 --- a/main/xiaozhi-server/config/logger.py +++ b/main/xiaozhi-server/config/logger.py @@ -5,7 +5,7 @@ from config.config_loader import load_config from config.settings import check_config_file from datetime import datetime -SERVER_VERSION = "0.8.1" +SERVER_VERSION = "0.8.3" _logger_initialized = False