feat(plugin): 实现插件配置集中化管理

将插件配置文件从各自的插件目录迁移至项目根目录下的 `config/plugins/` 文件夹中,方便用户统一管理和修改。

主要变更:
- 新增 `plugins.centralized_config` 总开关,用于控制是否启用此功能。
- 修改插件加载逻辑,现在会从 `config/plugins/<plugin_name>/` 目录读取用户配置。
- 如果用户配置不存在,会自动从插件目录下的模板配置文件复制一份。
- 保留了原有的配置版本检查和自动迁移功能,现在作用于用户配置文件。
This commit is contained in:
minecraft1024a
2025-08-18 13:00:13 +08:00
committed by Windpicker-owo
parent d30403e182
commit 9b382a9505
6 changed files with 101 additions and 82 deletions

View File

@@ -40,7 +40,8 @@ from src.config.official_configs import (
DependencyManagementConfig,
ExaConfig,
WebSearchConfig,
TavilyConfig
TavilyConfig,
PluginsConfig
)
from .api_ada_configs import (
@@ -375,6 +376,7 @@ class Config(ConfigBase):
exa: ExaConfig = field(default_factory=lambda: ExaConfig())
web_search: WebSearchConfig = field(default_factory=lambda: WebSearchConfig())
tavily: TavilyConfig = field(default_factory=lambda: TavilyConfig())
plugins: PluginsConfig = field(default_factory=lambda: PluginsConfig())
@dataclass