feat: 重构LLM配置为Provider模板+Dify应用+Scene绑定

变更项:

1. 新增 LLM 目录数据层(t_llm_provider_templates/t_llm_dify_apps/t_llm_backends/t_llm_scenes/t_llm_catalog_meta),支持三层配置管理。

2. Robot 启动接入 llm_catalog_db:自动建表并从旧 llm(backends/scenes) 配置迁移初始化。

3. LLMRegistry 改为优先读取目录模型并按 scene 解析:dify_app 自动合并 Provider 模板与 app_key 差异,降低重复配置。

4. system 蓝图 /api/system/llm_config 改为目录模型读写,新增完整校验(provider引用、app_key、scene目标合法性)。

5. system_llm 页面重构为四块:Provider 模板、Dify 应用、通用 Backend、Scene 绑定,并展示插件依赖拓扑。

6. 保留 YAML 旧结构兜底展示与运行时回退,保证目录表异常时系统仍可运行。
This commit is contained in:
liuwei
2026-04-20 15:09:24 +08:00
parent 1446bf5f39
commit 061f2b8084
6 changed files with 1284 additions and 453 deletions

View File

@@ -18,6 +18,7 @@ from configuration import Config
from db.connection import DBConnectionManager
from db.contacts_db import ContactsDBOperator
from db.group_plugin_config_db import GroupPluginConfigDBOperator
from db.llm_catalog_db import LLMCatalogDBOperator
from db.llm_config_db import LLMConfigDBOperator
from db.plugin_schedule_db import PluginScheduleDBOperator
from db.system_job_db import SystemJobDBOperator
@@ -72,10 +73,14 @@ class Robot:
self.contacts_db = ContactsDBOperator(self.db_manager)
self.group_plugin_config_db = GroupPluginConfigDBOperator(self.db_manager)
self.llm_catalog_db = LLMCatalogDBOperator(self.db_manager)
self.llm_config_db = LLMConfigDBOperator(self.db_manager)
self.plugin_schedule_db = PluginScheduleDBOperator(self.db_manager)
self.system_job_db = SystemJobDBOperator(self.db_manager)
self.group_plugin_config_db.init_tables()
# 新版 LLM 目录模型Provider 模板 / Dify 应用 / Scene初始化。
self.llm_catalog_db.init_tables()
self.llm_catalog_db.bootstrap_from_legacy_llm(self.config.llm)
# LLM 配置迁移到 MySQL
# 1. 先确保表存在;
# 2. 若库里没有配置,则从 config.yaml 的 llm 节点导入一次;