From b2d26b9481e3d0d5c0fd404a4f41d78ab19b0a1f Mon Sep 17 00:00:00 2001 From: hrz <1710360675@qq.com> Date: Wed, 11 Jun 2025 22:09:21 +0800 Subject: [PATCH] =?UTF-8?q?update:=E4=BC=98=E5=8C=96=E6=8F=92=E4=BB=B6?= =?UTF-8?q?=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../agent/controller/AgentController.java | 11 +-- .../agent/service/impl/AgentServiceImpl.java | 2 - .../resources/db/changelog/202505091409.sql | 6 -- .../resources/db/changelog/202505292203.sql | 87 +++++++++++-------- .../db/changelog/db.changelog-master.yaml | 7 -- .../main/resources/mapper/agent/AgentDao.xml | 1 + .../src/components/FunctionDialog.vue | 1 - .../src/components/ProviderDialog.vue | 6 +- main/manager-web/src/views/roleConfig.vue | 70 +++++++-------- main/xiaozhi-server/config.yaml | 7 +- .../functions/get_news_from_chinanews.py | 20 ++--- 11 files changed, 105 insertions(+), 113 deletions(-) delete mode 100644 main/manager-api/src/main/resources/db/changelog/202505091409.sql diff --git a/main/manager-api/src/main/java/xiaozhi/modules/agent/controller/AgentController.java b/main/manager-api/src/main/java/xiaozhi/modules/agent/controller/AgentController.java index 1a331f03..c9275f92 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/agent/controller/AgentController.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/agent/controller/AgentController.java @@ -4,7 +4,6 @@ import java.util.Date; import java.util.List; import java.util.Map; import java.util.UUID; -import java.util.stream.Collectors; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; @@ -35,7 +34,6 @@ import xiaozhi.common.redis.RedisKeys; import xiaozhi.common.redis.RedisUtils; import xiaozhi.common.user.UserDetail; import xiaozhi.common.utils.ConvertUtils; -import xiaozhi.common.utils.JsonUtils; import xiaozhi.common.utils.Result; import xiaozhi.common.utils.ResultUtils; import xiaozhi.modules.agent.dto.AgentChatHistoryDTO; @@ -45,14 +43,14 @@ import xiaozhi.modules.agent.dto.AgentDTO; import xiaozhi.modules.agent.dto.AgentMemoryDTO; import xiaozhi.modules.agent.dto.AgentUpdateDTO; import xiaozhi.modules.agent.entity.AgentEntity; -import xiaozhi.modules.agent.entity.AgentPluginMapping; import xiaozhi.modules.agent.entity.AgentTemplateEntity; -import xiaozhi.modules.agent.service.*; +import xiaozhi.modules.agent.service.AgentChatAudioService; +import xiaozhi.modules.agent.service.AgentChatHistoryService; +import xiaozhi.modules.agent.service.AgentService; +import xiaozhi.modules.agent.service.AgentTemplateService; import xiaozhi.modules.agent.vo.AgentInfoVO; import xiaozhi.modules.device.entity.DeviceEntity; import xiaozhi.modules.device.service.DeviceService; -import xiaozhi.modules.model.dto.ModelProviderDTO; -import xiaozhi.modules.model.service.ModelProviderService; import xiaozhi.modules.security.user.SecurityUser; @Tag(name = "智能体管理") @@ -155,7 +153,6 @@ public class AgentController { return new Result<>(); } - @DeleteMapping("/{id}") @Operation(summary = "删除智能体") @RequiresPermissions("sys:role:normal") diff --git a/main/manager-api/src/main/java/xiaozhi/modules/agent/service/impl/AgentServiceImpl.java b/main/manager-api/src/main/java/xiaozhi/modules/agent/service/impl/AgentServiceImpl.java index 39302d6e..003c3eb3 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/agent/service/impl/AgentServiceImpl.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/agent/service/impl/AgentServiceImpl.java @@ -35,7 +35,6 @@ import xiaozhi.modules.agent.service.AgentService; import xiaozhi.modules.agent.vo.AgentInfoVO; import xiaozhi.modules.device.service.DeviceService; import xiaozhi.modules.model.service.ModelConfigService; -import xiaozhi.modules.model.service.ModelProviderService; import xiaozhi.modules.security.user.SecurityUser; import xiaozhi.modules.sys.enums.SuperAdminEnum; import xiaozhi.modules.timbre.service.TimbreService; @@ -49,7 +48,6 @@ public class AgentServiceImpl extends BaseServiceImpl imp private final RedisUtils redisUtils; private final DeviceService deviceService; private final AgentPluginMappingService agentPluginMappingService; - private final ModelProviderService modelProviderService; private final AgentChatHistoryService agentChatHistoryService; @Override diff --git a/main/manager-api/src/main/resources/db/changelog/202505091409.sql b/main/manager-api/src/main/resources/db/changelog/202505091409.sql deleted file mode 100644 index 76ea8ae0..00000000 --- a/main/manager-api/src/main/resources/db/changelog/202505091409.sql +++ /dev/null @@ -1,6 +0,0 @@ --- 更新intent_llmM供应器 -update `ai_model_provider` set fields = '[{"key":"llm","label":"LLM模型","type":"string"},{"key":"functions","label":"函数列表","type":"dict","dict_name":"functions"}]' where id = 'SYSTEM_Intent_intent_llm'; --- 更新ChatGLMLLM的意图识别配置 -update `ai_model_config` set config_json = '{\"type\": \"intent_llm\", \"llm\": \"LLM_ChatGLMLLM\", \"functions\": \"get_weather;get_news_from_newsnow;play_music\"}' where id = 'Intent_intent_llm'; --- 更新函数调用意图识别配置 -UPDATE `ai_model_config` SET config_json = REPLACE(config_json, ';get_news;', ';get_news_from_newsnow;') WHERE id = 'Intent_function_call'; diff --git a/main/manager-api/src/main/resources/db/changelog/202505292203.sql b/main/manager-api/src/main/resources/db/changelog/202505292203.sql index 6b0f03ee..cdb5efe6 100644 --- a/main/manager-api/src/main/resources/db/changelog/202505292203.sql +++ b/main/manager-api/src/main/resources/db/changelog/202505292203.sql @@ -3,6 +3,15 @@ -- =============================== START TRANSACTION; + +-- intent_llm和function_call不设置函数列表 +update `ai_model_provider` set fields = '[{"key":"llm","label":"LLM模型","type":"string"}]' where id = 'SYSTEM_Intent_intent_llm'; +update `ai_model_provider` set fields = '[]' where id = 'SYSTEM_Intent_function_call'; +update `ai_model_config` set config_json = '{\"type\": \"intent_llm\", \"llm\": \"LLM_ChatGLMLLM\"}' where id = 'Intent_intent_llm'; +UPDATE `ai_model_config` SET config_json = '{}' WHERE id = 'Intent_function_call'; + + +delete from ai_model_provider where model_type = 'Plugin'; -- 1. 天气查询 INSERT INTO ai_model_provider (id, model_type, provider_code, name, fields, sort, creator, create_date, updater, update_date) @@ -37,10 +46,10 @@ VALUES ('SYSTEM_PLUGIN_WEATHER', -- 2. 新闻订阅 INSERT INTO ai_model_provider (id, model_type, provider_code, name, fields, sort, creator, create_date, updater, update_date) -VALUES ('SYSTEM_PLUGIN_NEWS', +VALUES ('SYSTEM_PLUGIN_NEWS_CHINANEWS', 'Plugin', - 'get_news_from_newsnow', - '新闻订阅', + 'get_news_from_chinanews', + '中新网新闻', JSON_ARRAY( JSON_OBJECT( 'key', 'default_rss_url', @@ -50,16 +59,48 @@ VALUES ('SYSTEM_PLUGIN_NEWS', (SELECT param_value FROM sys_params WHERE param_code = 'plugins.get_news.default_rss_url') ), JSON_OBJECT( - 'key', 'category_urls', - 'type', 'json', - 'label', '分类 RSS 地址映射', + 'key', 'society_rss_url', + 'type', 'string', + 'label', '社会新闻 RSS 地址', 'default', - (SELECT param_value FROM sys_params WHERE param_code = 'plugins.get_news.category_urls') + 'https://www.chinanews.com.cn/rss/society.xml' + ), + JSON_OBJECT( + 'key', 'world_rss_url', + 'type', 'string', + 'label', '国际新闻 RSS 地址', + 'default', + 'https://www.chinanews.com.cn/rss/world.xml' + ), + JSON_OBJECT( + 'key', 'finance_rss_url', + 'type', 'string', + 'label', '财经新闻 RSS 地址', + 'default', + 'https://www.chinanews.com.cn/rss/finance.xml' ) ), 20, 0, NOW(), 0, NOW()); --- 3. HomeAssistant 状态查询 +-- 3. 新闻订阅 +INSERT INTO ai_model_provider (id, model_type, provider_code, name, fields, + sort, creator, create_date, updater, update_date) +VALUES ('SYSTEM_PLUGIN_NEWS_NEWSNOW', + 'Plugin', + 'get_news_from_newsnow', + 'newsnow新闻聚合', + JSON_ARRAY( + JSON_OBJECT( + 'key', 'url', + 'type', 'string', + 'label', '接口地址', + 'default', + 'https://newsnow.busiyi.world/api/s?id=' + ) + ), + 20, 0, NOW(), 0, NOW()); + +-- 4. HomeAssistant 状态查询 INSERT INTO ai_model_provider (id, model_type, provider_code, name, fields, sort, creator, create_date, updater, update_date) VALUES ('SYSTEM_PLUGIN_HA_GET_STATE', @@ -91,7 +132,7 @@ VALUES ('SYSTEM_PLUGIN_HA_GET_STATE', ), 30, 0, NOW(), 0, NOW()); --- 4. HomeAssistant 状态写入 +-- 5. HomeAssistant 状态写入 INSERT INTO ai_model_provider (id, model_type, provider_code, name, fields, sort, creator, create_date, updater, update_date) VALUES ('SYSTEM_PLUGIN_HA_SET_STATE', @@ -123,36 +164,14 @@ VALUES ('SYSTEM_PLUGIN_HA_SET_STATE', ), 40, 0, NOW(), 0, NOW()); --- 5. 本地播放 +-- 6. 本地播放音乐 INSERT INTO ai_model_provider (id, model_type, provider_code, name, fields, sort, creator, create_date, updater, update_date) VALUES ('SYSTEM_PLUGIN_MUSIC', 'Plugin', 'play_music', - '本地播放', - JSON_ARRAY( - JSON_OBJECT( - 'key', 'music_dir', - 'type', 'string', - 'label', '音乐文件根目录', - 'default', - (SELECT param_value FROM sys_params WHERE param_code = 'plugins.play_music.music_dir') - ), - JSON_OBJECT( - 'key', 'music_ext', - 'type', 'array', - 'label', '支持的文件后缀', - 'default', - (SELECT param_value FROM sys_params WHERE param_code = 'plugins.play_music.music_ext') - ), - JSON_OBJECT( - 'key', 'refresh_time', - 'type', 'number', - 'label', '列表刷新间隔(秒)', - 'default', - (SELECT param_value FROM sys_params WHERE param_code = 'plugins.play_music.refresh_time') - ) - ), + '本地音乐播放', + JSON_ARRAY(), 50, 0, NOW(), 0, NOW()); diff --git a/main/manager-api/src/main/resources/db/changelog/db.changelog-master.yaml b/main/manager-api/src/main/resources/db/changelog/db.changelog-master.yaml index b79ff8a3..4d253f13 100755 --- a/main/manager-api/src/main/resources/db/changelog/db.changelog-master.yaml +++ b/main/manager-api/src/main/resources/db/changelog/db.changelog-master.yaml @@ -107,13 +107,6 @@ databaseChangeLog: - sqlFile: encoding: utf8 path: classpath:db/changelog/202505081146.sql - - changeSet: - id: 202505091409 - author: hrz - changes: - - sqlFile: - encoding: utf8 - path: classpath:db/changelog/202505091409.sql - changeSet: id: 202505091555 author: whosmyqueen diff --git a/main/manager-api/src/main/resources/mapper/agent/AgentDao.xml b/main/manager-api/src/main/resources/mapper/agent/AgentDao.xml index 0dc7deab..439be096 100644 --- a/main/manager-api/src/main/resources/mapper/agent/AgentDao.xml +++ b/main/manager-api/src/main/resources/mapper/agent/AgentDao.xml @@ -42,6 +42,7 @@ a.asr_model_id AS asrModelId, a.vad_model_id AS vadModelId, a.llm_model_id AS llmModelId, + a.vllm_model_id AS vllmModelId, a.tts_model_id AS ttsModelId, a.tts_voice_id AS ttsVoiceId, a.mem_model_id AS memModelId, diff --git a/main/manager-web/src/components/FunctionDialog.vue b/main/manager-web/src/components/FunctionDialog.vue index a641592f..4c618ae7 100644 --- a/main/manager-web/src/components/FunctionDialog.vue +++ b/main/manager-web/src/components/FunctionDialog.vue @@ -275,7 +275,6 @@ export default { this.$emit('update-functions', selected); this.dialogVisible = false; - this.$message.success('配置保存成功'); // 通知父组件对话框已关闭且已保存 this.$emit('dialog-closed', true); }, diff --git a/main/manager-web/src/components/ProviderDialog.vue b/main/manager-web/src/components/ProviderDialog.vue index d31850ef..5dbd9348 100644 --- a/main/manager-web/src/components/ProviderDialog.vue +++ b/main/manager-web/src/components/ProviderDialog.vue @@ -18,7 +18,7 @@ - + @@ -87,6 +87,7 @@ +