refactor: 移除LLM旧兼容入口并统一scene单路由
变更项: 1. LLMRegistry 仅保留 scene 入口,删除 backend_name/backend_ref/scene_ref 等兼容解析分支,未声明 scene 时仅保留直连配置。 2. Dify/GlobalNews/GameTask 插件初始化改为仅传 scene,不再拼接 backend/provider/url 等旧兼容字段。 3. 清理插件配置冗余:dify/global_news/game_task/douyu 的 config.toml 删除 backend 字段,统一由 scene 映射后端。 4. 后台 system API 调整为严格模式:插件依赖扫描仅采集 scene;scene 保存时必须绑定有效 backend。 5. 后台页面去除拓扑中的配置Backend冗余列,并新增前端校验,禁止提交空场景或未绑定后端。
This commit is contained in:
@@ -54,7 +54,7 @@
|
||||
<div class="scene-list" v-if="llmForm.scenes.length">
|
||||
<div class="scene-row" v-for="(scene, index) in llmForm.scenes" :key="scene.uid">
|
||||
<el-input v-model="scene.name" placeholder="例如:chat.main"></el-input>
|
||||
<el-select v-model="scene.backend" placeholder="绑定后端" filterable clearable>
|
||||
<el-select v-model="scene.backend" placeholder="绑定后端" filterable>
|
||||
<el-option v-for="item in backendNameOptions" :key="item" :label="item" :value="item"></el-option>
|
||||
</el-select>
|
||||
<el-button type="text" class="danger-text" @click="removeScene(index)">删除</el-button>
|
||||
@@ -172,11 +172,6 @@
|
||||
<span v-else>-</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="backend" label="配置Backend" min-width="160">
|
||||
<template slot-scope="scope">
|
||||
<span>{% raw %}{{ scope.row.backend || '-' }}{% endraw %}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="resolved_backend" label="实际Backend" min-width="160">
|
||||
<template slot-scope="scope">
|
||||
<el-tag v-if="scope.row.resolved_backend" size="mini" :type="scope.row.valid_backend ? 'success' : 'danger'">
|
||||
@@ -327,6 +322,14 @@
|
||||
}
|
||||
},
|
||||
async saveLlmConfig() {
|
||||
// 前端先做一次严格校验,避免把空场景名或未绑定后端的记录提交到后端。
|
||||
const invalidScene = (this.llmForm.scenes || []).find(item => {
|
||||
return !String(item.name || '').trim() || !String(item.backend || '').trim();
|
||||
});
|
||||
if (invalidScene) {
|
||||
this.$message.error('场景配置不完整:请确保每一行都填写场景名并绑定后端');
|
||||
return;
|
||||
}
|
||||
const payload = {
|
||||
default_backend: this.llmForm.default_backend || '',
|
||||
backends: (this.llmForm.backends || []).map(item => {
|
||||
|
||||
Reference in New Issue
Block a user