From 740c142d4fc921a70f63082a7a2ddd5dffe09ff7 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 a91211759..1eb04c77d 100644 --- a/src/config/config.py +++ b/src/config/config.py @@ -40,6 +40,7 @@ from src.config.official_configs import ( DependencyManagementConfig, ExaConfig, WebSearchConfig, + TavilyConfig, ) from .api_ada_configs import ( @@ -373,6 +374,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 0baa5378f..4a8af4688 100644 --- a/src/config/official_configs.py +++ b/src/config/official_configs.py @@ -998,8 +998,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 @@ -1044,6 +1052,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