From 869d11f9a688ef2f07825dad0ef5f87f979730b7 Mon Sep 17 00:00:00 2001 From: Soulter <905617992@qq.com> Date: Tue, 23 Sep 2025 21:04:14 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=97=B6=E7=9A=84=E6=80=A7=E8=83=BD=EF=BC=8C?= =?UTF-8?q?=E7=A7=BB=E9=99=A4=E9=85=8D=E7=BD=AE=E9=9A=90=E5=BC=8F=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E8=BD=AC=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fixes: #2646 --- astrbot/dashboard/routes/config.py | 31 +++++++----------------------- 1 file changed, 7 insertions(+), 24 deletions(-) diff --git a/astrbot/dashboard/routes/config.py b/astrbot/dashboard/routes/config.py index 0983cf8d5..1cc2319a0 100644 --- a/astrbot/dashboard/routes/config.py +++ b/astrbot/dashboard/routes/config.py @@ -51,24 +51,6 @@ def validate_config( def validate(data: dict, metadata: dict = schema, path=""): for key, value in data.items(): if key not in metadata: - # 无 schema 的配置项,执行类型猜测 - if isinstance(value, str): - try: - data[key] = int(value) - continue - except ValueError: - pass - - try: - data[key] = float(value) - continue - except ValueError: - pass - - if value.lower() == "true": - data[key] = True - elif value.lower() == "false": - data[key] = False continue meta = metadata[key] if "type" not in meta: @@ -127,12 +109,12 @@ def validate_config( ) if is_core: - for key, group in schema.items(): - group_meta = group.get("metadata") - if not group_meta: - continue - # logger.info(f"验证配置: 组 {key} ...") - validate(data, group_meta, path=f"{key}.") + meta_all = { + **schema["platform_group"]["metadata"], + **schema["provider_group"]["metadata"], + **schema["misc_config_group"]["metadata"], + } + validate(data, meta_all) else: validate(data, schema) @@ -142,6 +124,7 @@ def validate_config( def save_config(post_config: dict, config: AstrBotConfig, is_core: bool = False): """验证并保存配置""" errors = None + logger.info(f"Saving config, is_core={is_core}") try: if is_core: errors, post_config = validate_config(