From 8ea87764d0a61f300707d46dd0b085d387a84a86 Mon Sep 17 00:00:00 2001 From: Furina-1013-create <189647097+Furina-1013-create@users.noreply.github.com> Date: Thu, 14 Aug 2025 11:04:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E8=81=94=E7=BD=91?= =?UTF-8?q?=E6=8F=92=E4=BB=B6=E7=9A=84=E4=B8=80=E4=B8=AA=E5=B0=8F=E9=97=AE?= =?UTF-8?q?=E9=A2=98=EF=BC=8C=E8=92=BD=EF=BC=8C=E5=AF=B9=F0=9F=A4=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/config/config.py | 2 ++ src/config/official_configs.py | 22 ++++++++++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/config/config.py b/src/config/config.py index e41214adb..cf9d5f967 100644 --- a/src/config/config.py +++ b/src/config/config.py @@ -41,6 +41,7 @@ from src.config.official_configs import ( DependencyManagementConfig, ExaConfig, WebSearchConfig, + TavilyConfig, ) from .api_ada_configs import ( @@ -360,6 +361,7 @@ class Config(ConfigBase): dependency_management: DependencyManagementConfig = field(default_factory=lambda: DependencyManagementConfig()) exa: ExaConfig = field(default_factory=lambda: ExaConfig()) web_search: WebSearchConfig = field(default_factory=lambda: WebSearchConfig()) + tavily: TavilyConfig = field(default_factory=lambda: TavilyConfig()) @dataclass diff --git a/src/config/official_configs.py b/src/config/official_configs.py index 560479cb7..4918a1bdd 100644 --- a/src/config/official_configs.py +++ b/src/config/official_configs.py @@ -940,8 +940,16 @@ class DependencyManagementConfig(ConfigBase): class ExaConfig(ConfigBase): """EXA搜索引擎配置类""" - api_key: str = "None" - """EXA API密钥,用于联网搜索功能。请填入有效的EXA API密钥""" + api_keys: list[str] = field(default_factory=lambda: []) + """EXA API密钥列表,支持轮询机制""" + + +@dataclass +class TavilyConfig(ConfigBase): + """Tavily搜索引擎配置类""" + + api_keys: list[str] = field(default_factory=lambda: []) + """Tavily API密钥列表,支持轮询机制""" @dataclass @@ -986,6 +994,12 @@ class WebSearchConfig(ConfigBase): enable_web_search_tool: bool = True """是否启用联网搜索工具""" - + enable_url_tool: bool = True - """是否启用URL解析工具""" \ No newline at end of file + """是否启用URL解析工具""" + + enabled_engines: list[str] = field(default_factory=lambda: ["ddg"]) + """启用的搜索引擎列表,可选: 'exa', 'tavily', 'ddg'""" + + search_strategy: str = "single" + """搜索策略: 'single'(使用第一个可用引擎), 'parallel'(并行使用所有启用的引擎), 'fallback'(按顺序尝试,失败则尝试下一个)""" \ No newline at end of file