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
parent dcc2e4caff
commit 3b3eb080da
6 changed files with 101 additions and 82 deletions

View File

@@ -988,10 +988,10 @@ class VideoAnalysisConfig(ConfigBase):
"""批量分析时使用的提示词"""
@dataclass
@dataclass
class WebSearchConfig(ConfigBase):
"""联网搜索组件配置类"""
enable_web_search_tool: bool = True
"""是否启用联网搜索工具"""
@@ -1002,4 +1002,13 @@ class WebSearchConfig(ConfigBase):
"""启用的搜索引擎列表,可选: 'exa', 'tavily', 'ddg'"""
search_strategy: str = "single"
"""搜索策略: 'single'(使用第一个可用引擎), 'parallel'(并行使用所有启用的引擎), 'fallback'(按顺序尝试,失败则尝试下一个)"""
"""搜索策略: 'single'(使用第一个可用引擎), 'parallel'(并行使用所有启用的引擎), 'fallback'(按顺序尝试,失败则尝试下一个)"""
@dataclass
class PluginsConfig(ConfigBase):
"""插件配置"""
centralized_config: bool = field(
default=True, metadata={"description": "是否启用插件配置集中化管理"}
)