## ADDED Requirements ### Requirement: 连接管理函数迁移至独立模块 系统 SHALL 将所有 LLM / SD / MCP 连接管理及认证相关函数从 `main.py` 提取至 `services/connection.py`,包括:`_get_llm_config`、`connect_llm`、`add_llm_provider`、`remove_llm_provider`、`on_provider_selected`、`connect_sd`、`on_sd_model_change`、`check_mcp_status`、`get_login_qrcode`、`logout_xhs`、`_auto_fetch_xsec_token`、`check_login`、`save_my_user_id`、`upload_face_image`、`load_saved_face_image`。 #### Scenario: 模块导入成功 - **WHEN** `main.py` 执行 `from services.connection import connect_llm, connect_sd` 等导入 - **THEN** 所有函数可正常调用,行为与迁移前完全一致 #### Scenario: 外部依赖通过参数传入 - **WHEN** `services/connection.py` 中的函数需要访问 `cfg`、`llm`(`LLMService`)、`sd`(`SDService`)、`mcp`(`MCPClient`) - **THEN** 这些依赖 SHALL 通过函数参数接收,`services/connection.py` 模块顶层不创建单例实例 #### Scenario: 无循环导入 - **WHEN** Python 解释器加载 `services/connection.py` - **THEN** 不产生 `ImportError` 或循环导入错误