diff --git a/src/config/official_configs.py b/src/config/official_configs.py index 23ddce7a4..7ca08116b 100644 --- a/src/config/official_configs.py +++ b/src/config/official_configs.py @@ -548,6 +548,8 @@ class WebSearchConfig(ValidatedConfigBase): enable_url_tool: bool = Field(default=True, description="启用URL工具") tavily_api_keys: list[str] = Field(default_factory=lambda: [], description="Tavily API密钥列表,支持轮询机制") exa_api_keys: list[str] = Field(default_factory=lambda: [], description="exa API密钥列表,支持轮询机制") + searxng_instances: list[str] = Field(default_factory=list, description="SearXNG 实例 URL 列表") + searxng_api_keys: list[str] = Field(default_factory=list, description="SearXNG 实例 API 密钥列表") enabled_engines: list[str] = Field(default_factory=lambda: ["ddg"], description="启用的搜索引擎") search_strategy: Literal["fallback", "single", "parallel"] = Field(default="single", description="搜索策略") diff --git a/src/main.py b/src/main.py index 506dfc84c..63faddfbc 100644 --- a/src/main.py +++ b/src/main.py @@ -414,13 +414,13 @@ MoFox_Bot(第三方修改版) manager_init_tasks = [] # 表情管理器 - manager_init_tasks.append(self._safe_init("表情包管理器", get_emoji_manager().initialize)) + manager_init_tasks.append(self._safe_init("表情包管理器", get_emoji_manager().initialize)()) # 情绪管理器 - manager_init_tasks.append(self._safe_init("情绪管理器", mood_manager.start)) + manager_init_tasks.append(self._safe_init("情绪管理器", mood_manager.start)()) # 聊天管理器 - manager_init_tasks.append(self._safe_init("聊天管理器", get_chat_manager()._initialize)) + manager_init_tasks.append(self._safe_init("聊天管理器", get_chat_manager()._initialize)()) # 等待所有管理器初始化完成 results = await asyncio.gather(*manager_init_tasks, return_exceptions=True) @@ -502,7 +502,7 @@ MoFox_Bot(第三方修改版) except Exception as e: logger.error(f"日程表管理器初始化失败: {e}") - async def _safe_init(self, component_name: str, init_func) -> callable: + def _safe_init(self, component_name: str, init_func) -> callable: """安全初始化组件,捕获异常""" async def wrapper(): try: diff --git a/src/plugins/built_in/web_search_tool/plugin.py b/src/plugins/built_in/web_search_tool/plugin.py index 681e829f4..33e67bcab 100644 --- a/src/plugins/built_in/web_search_tool/plugin.py +++ b/src/plugins/built_in/web_search_tool/plugin.py @@ -72,7 +72,7 @@ class WEBSEARCHPLUGIN(BasePlugin): logger.error(f"❌ 搜索引擎初始化失败: {e}", exc_info=True) # Python包依赖列表 - python_dependencies: list[PythonDependency] = [ + python_dependencies: list[PythonDependency] = [ # noqa: RUF012 PythonDependency(package_name="asyncddgs", description="异步DuckDuckGo搜索库", optional=False), PythonDependency( package_name="exa_py", diff --git a/template/bot_config_template.toml b/template/bot_config_template.toml index 9e64beee6..321fa9155 100644 --- a/template/bot_config_template.toml +++ b/template/bot_config_template.toml @@ -1,5 +1,5 @@ [inner] -version = "7.2.1" +version = "7.2.2" #----以下是给开发人员阅读的,如果你只是部署了MoFox-Bot,不需要阅读---- #如果你想要修改配置文件,请递增version的值 @@ -470,6 +470,8 @@ enable_web_search_tool = true # 是否启用联网搜索tool enable_url_tool = true # 是否启用URL解析tool tavily_api_keys = ["None"]# Tavily API密钥列表,支持轮询机制 exa_api_keys = ["None"]# EXA API密钥列表,支持轮询机制 +searxng_instances = [] # SearXNG 实例 URL 列表 +searxng_api_keys = []# SearXNG 实例 API 密钥列表 # 搜索引擎配置 enabled_engines = ["ddg"] # 启用的搜索引擎列表,可选: "exa", "tavily", "ddg","bing"