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:
@@ -94,15 +94,10 @@ class LLMRegistry:
|
||||
@classmethod
|
||||
def resolve(cls, local_config: Optional[Dict[str, Any]] = None) -> Dict[str, Any]:
|
||||
local = dict(local_config or {})
|
||||
# 兼容说明:
|
||||
# 1. 新链路优先支持 scene 字段,便于“业务场景 -> 后端”集中路由;
|
||||
# 2. 若未配置 scene,再按旧逻辑读取 backend,保持历史插件零改动可运行。
|
||||
scene_name = (
|
||||
local.get("scene")
|
||||
or local.get("scene_name")
|
||||
or local.get("scene_ref")
|
||||
or ""
|
||||
)
|
||||
# 严格模式说明:
|
||||
# 1. 统一只认 scene 作为路由入口,避免 backend/backend_ref 等多入口并存;
|
||||
# 2. 若未声明 scene,则视为“调用方直接给出完整连接参数”,原样返回 local。
|
||||
scene_name = local.get("scene") or ""
|
||||
scene_name = str(scene_name).strip()
|
||||
if scene_name:
|
||||
merged = cls.resolve_by_scene(scene_name)
|
||||
@@ -113,16 +108,4 @@ class LLMRegistry:
|
||||
merged["scene"] = scene_name
|
||||
return merged
|
||||
|
||||
backend_name = (
|
||||
local.get("backend")
|
||||
or local.get("backend_name")
|
||||
or local.get("backend_ref")
|
||||
or ""
|
||||
)
|
||||
if not backend_name:
|
||||
return local
|
||||
|
||||
merged = cls.get_backend(str(backend_name).strip())
|
||||
merged.update(local)
|
||||
merged["backend"] = backend_name
|
||||
return merged
|
||||
return local
|
||||
|
||||
Reference in New Issue
Block a user