@@ -185,23 +185,30 @@ def __init__(
185185 "/config/provider/list" : ("GET" , self .get_provider_config_list ),
186186 "/config/provider/model_list" : ("GET" , self .get_provider_model_list ),
187187 "/config/provider/get_embedding_dim" : ("POST" , self .get_embedding_dim ),
188- "/config/provider_sources/<provider_source_id>/ models" : (
188+ "/config/provider_sources/models" : (
189189 "GET" ,
190190 self .get_provider_source_models ,
191191 ),
192- "/config/provider_sources/<provider_source_id>/ update" : (
192+ "/config/provider_sources/update" : (
193193 "POST" ,
194194 self .update_provider_source ,
195195 ),
196- "/config/provider_sources/<provider_source_id>/ delete" : (
196+ "/config/provider_sources/delete" : (
197197 "POST" ,
198198 self .delete_provider_source ,
199199 ),
200200 }
201201 self .register_routes ()
202202
203- async def delete_provider_source (self , provider_source_id : str ):
203+ async def delete_provider_source (self ):
204204 """删除 provider_source,并更新关联的 providers"""
205+ post_data = await request .json
206+ if not post_data :
207+ return Response ().error ("缺少配置数据" ).__dict__
208+
209+ provider_source_id = post_data .get ("id" )
210+ if not provider_source_id :
211+ return Response ().error ("缺少 provider_source_id" ).__dict__
205212
206213 provider_sources = self .config .get ("provider_sources" , [])
207214 target_idx = next (
@@ -235,15 +242,16 @@ async def delete_provider_source(self, provider_source_id: str):
235242
236243 return Response ().ok (message = "删除 provider source 成功" ).__dict__
237244
238- async def update_provider_source (self , provider_source_id : str ):
245+ async def update_provider_source (self ):
239246 """更新或新增 provider_source,并重载关联的 providers"""
240-
241247 post_data = await request .json
242248 if not post_data :
243249 return Response ().error ("缺少配置数据" ).__dict__
244250
245251 new_source_config = post_data .get ("config" ) or post_data
246- original_id = provider_source_id
252+ original_id = post_data .get ("original_id" )
253+ if not original_id :
254+ return Response ().error ("缺少 original_id" ).__dict__
247255
248256 if not isinstance (new_source_config , dict ):
249257 return Response ().error ("缺少或错误的配置数据" ).__dict__
@@ -684,11 +692,15 @@ async def get_embedding_dim(self):
684692 logger .error (traceback .format_exc ())
685693 return Response ().error (f"获取嵌入维度失败: { e !s} " ).__dict__
686694
687- async def get_provider_source_models (self , provider_source_id : str ):
695+ async def get_provider_source_models (self ):
688696 """获取指定 provider_source 支持的模型列表
689697
690698 本质上会临时初始化一个 Provider 实例,调用 get_models() 获取模型列表,然后销毁实例
691699 """
700+ provider_source_id = request .args .get ("source_id" )
701+ if not provider_source_id :
702+ return Response ().error ("缺少参数 source_id" ).__dict__
703+
692704 try :
693705 from astrbot .core .provider .register import provider_cls_map
694706
0 commit comments