@@ -48,7 +48,7 @@ def get(self, provider_id: str, umo: str | None, ttl: float) -> list[str] | None
4848 return models
4949
5050 def set (
51- self , provider_id : str , umo : str | None , models : list [str ], ttl : float
51+ self , provider_id : str , umo : str | None , models : list [str ], ttl : float ,
5252 ) -> None :
5353 if ttl <= 0 :
5454 return
@@ -67,7 +67,7 @@ def _evict_if_needed(self) -> None:
6767 self ._store .pop (key , None )
6868
6969 def invalidate (
70- self , provider_id : str | None = None , * , umo : str | None = None
70+ self , provider_id : str | None = None , * , umo : str | None = None ,
7171 ) -> None :
7272 if provider_id is None :
7373 self ._store .clear ()
@@ -106,7 +106,7 @@ def _register_provider_change_hook(self) -> None:
106106 register_change_hook (self ._on_provider_manager_changed )
107107
108108 def invalidate_provider_models_cache (
109- self , provider_id : str | None = None , * , umo : str | None = None
109+ self , provider_id : str | None = None , * , umo : str | None = None ,
110110 ) -> None :
111111 """Public hook for cache invalidation on external provider config changes."""
112112 self ._model_cache .invalidate (provider_id , umo = umo )
@@ -198,14 +198,14 @@ def _resolve_model_name(
198198 for candidate in models :
199199 cand_norm = candidate .casefold ()
200200 if cand_norm .endswith (f"/{ requested_norm } " ) or cand_norm .endswith (
201- f":{ requested_norm } "
201+ f":{ requested_norm } " ,
202202 ):
203203 return candidate
204204
205205 return None
206206
207207 def _apply_model (
208- self , prov : Provider , model_name : str , * , umo : str | None = None
208+ self , prov : Provider , model_name : str , * , umo : str | None = None ,
209209 ) -> str :
210210 prov .set_model (model_name )
211211 self .invalidate_provider_models_cache (prov .meta ().id , umo = umo )
@@ -287,7 +287,7 @@ async def _test_provider_capability(self, provider):
287287 err_code = "TEST_FAILED"
288288 err_reason = safe_error ("" , e )
289289 self ._log_reachability_failure (
290- provider , provider_capability_type , err_code , err_reason
290+ provider , provider_capability_type , err_code , err_reason ,
291291 )
292292 return False , err_code , err_reason
293293
@@ -339,7 +339,7 @@ async def fetch_models(
339339 return provider , None , err
340340
341341 results = await asyncio .gather (
342- * (fetch_models (provider ) for provider in all_providers )
342+ * (fetch_models (provider ) for provider in all_providers ),
343343 )
344344 failed_provider_errors : list [tuple [str , str ]] = []
345345 for provider , models , err in results :
@@ -405,8 +405,8 @@ async def provider(
405405 if all_providers :
406406 await event .send (
407407 MessageEventResult ().message (
408- "正在进行提供商可达性测试,请稍候..."
409- )
408+ "正在进行提供商可达性测试,请稍候..." ,
409+ ),
410410 )
411411 check_results = await asyncio .gather (
412412 * [self ._test_provider_capability (p ) for p , _ in all_providers ],
@@ -463,7 +463,7 @@ async def provider(
463463 "info" : info ,
464464 "mark" : mark ,
465465 "provider" : p ,
466- }
466+ },
467467 )
468468
469469 # 分组输出
@@ -558,7 +558,7 @@ async def provider(
558558 event .set_result (MessageEventResult ().message ("无效的参数。" ))
559559
560560 async def _switch_model_by_name (
561- self , message : AstrMessageEvent , model_name : str , prov : Provider
561+ self , message : AstrMessageEvent , model_name : str , prov : Provider ,
562562 ) -> None :
563563 model_name = model_name .strip ()
564564 if not model_name :
@@ -583,7 +583,7 @@ async def _switch_model_by_name(
583583 if matched_model_name is not None :
584584 message .set_result (
585585 MessageEventResult ().message (
586- self ._apply_model (prov , matched_model_name , umo = umo )
586+ self ._apply_model (prov , matched_model_name , umo = umo ),
587587 ),
588588 )
589589 return
@@ -620,7 +620,7 @@ async def _switch_model_by_name(
620620 except Exception as e :
621621 message .set_result (
622622 MessageEventResult ().message (
623- safe_error ("跨提供商切换并设置模型失败: " , e )
623+ safe_error ("跨提供商切换并设置模型失败: " , e ),
624624 ),
625625 )
626626
@@ -655,7 +655,7 @@ async def model_ls(
655655 curr_model = prov .get_model () or "无"
656656 parts .append (f"\n 当前模型: [{ curr_model } ]" )
657657 parts .append (
658- "\n Tips: 使用 /model <模型名/编号> 切换模型。输入模型名时可自动跨提供商查找并切换;跨提供商也可使用 /provider 切换。"
658+ "\n Tips: 使用 /model <模型名/编号> 切换模型。输入模型名时可自动跨提供商查找并切换;跨提供商也可使用 /provider 切换。" ,
659659 )
660660
661661 ret = "" .join (parts )
@@ -680,13 +680,13 @@ async def model_ls(
680680 prov ,
681681 new_model ,
682682 umo = message .unified_msg_origin ,
683- )
683+ ),
684684 ),
685685 )
686686 except Exception as e :
687687 message .set_result (
688688 MessageEventResult ().message (
689- safe_error ("切换模型未知错误: " , e )
689+ safe_error ("切换模型未知错误: " , e ),
690690 ),
691691 )
692692 return
@@ -730,7 +730,7 @@ async def key(self, message: AstrMessageEvent, index: int | None = None) -> None
730730 except Exception as e :
731731 message .set_result (
732732 MessageEventResult ().message (
733- safe_error ("切换 Key 未知错误: " , e )
733+ safe_error ("切换 Key 未知错误: " , e ),
734734 ),
735735 )
736736 return
0 commit comments