chore: ruff lint

This commit is contained in:
Soulter
2025-07-10 23:23:29 +08:00
parent 7cfbc4ab8f
commit 2fa8bda5bb

View File

@@ -67,18 +67,36 @@ class SessionManagementRoute(Route):
"stt_provider_name": None,
"tts_provider_id": None,
"tts_provider_name": None,
"session_enabled": SessionServiceManager.is_session_enabled(session_id),
"llm_enabled": SessionServiceManager.is_llm_enabled_for_session(session_id),
"tts_enabled": SessionServiceManager.is_tts_enabled_for_session(session_id),
"mcp_enabled": SessionServiceManager.is_mcp_enabled_for_session(session_id),
"platform": session_id.split(":")[0] if ":" in session_id else "unknown",
"message_type": session_id.split(":")[1] if session_id.count(":") >= 1 else "unknown",
"session_name": SessionServiceManager.get_session_display_name(session_id),
"session_raw_name": session_id.split(":")[2] if session_id.count(":") >= 2 else session_id,
"session_enabled": SessionServiceManager.is_session_enabled(
session_id
),
"llm_enabled": SessionServiceManager.is_llm_enabled_for_session(
session_id
),
"tts_enabled": SessionServiceManager.is_tts_enabled_for_session(
session_id
),
"mcp_enabled": SessionServiceManager.is_mcp_enabled_for_session(
session_id
),
"platform": session_id.split(":")[0]
if ":" in session_id
else "unknown",
"message_type": session_id.split(":")[1]
if session_id.count(":") >= 1
else "unknown",
"session_name": SessionServiceManager.get_session_display_name(
session_id
),
"session_raw_name": session_id.split(":")[2]
if session_id.count(":") >= 2
else session_id,
}
# 获取对话信息
conversation = self.db_helper.get_conversation_by_user_id(session_id, conversation_id)
conversation = self.db_helper.get_conversation_by_user_id(
session_id, conversation_id
)
if conversation:
session_info["persona_id"] = conversation.persona_id
# 查找 persona 名称
@@ -125,7 +143,9 @@ class SessionManagementRoute(Route):
default_stt_provider = provider_manager.curr_stt_provider_inst
if default_stt_provider:
session_info["stt_provider_id"] = default_stt_provider.meta().id
session_info["stt_provider_name"] = default_stt_provider.meta().id
session_info["stt_provider_name"] = (
default_stt_provider.meta().id
)
# TTS provider
tts_provider_id = session_perf.get(ProviderType.TEXT_TO_SPEECH.value)
@@ -139,42 +159,52 @@ class SessionManagementRoute(Route):
default_tts_provider = provider_manager.curr_tts_provider_inst
if default_tts_provider:
session_info["tts_provider_id"] = default_tts_provider.meta().id
session_info["tts_provider_name"] = default_tts_provider.meta().id
session_info["tts_provider_name"] = (
default_tts_provider.meta().id
)
sessions.append(session_info)
# 获取可用的 personas 和 providers 列表
available_personas = [{"name": p["name"], "prompt": p.get("prompt", "")} for p in personas]
available_personas = [
{"name": p["name"], "prompt": p.get("prompt", "")} for p in personas
]
available_chat_providers = []
for provider in provider_manager.provider_insts:
meta = provider.meta()
available_chat_providers.append({
available_chat_providers.append(
{
"id": meta.id,
"name": meta.id,
"model": meta.model,
"type": meta.type,
})
}
)
available_stt_providers = []
for provider in provider_manager.stt_provider_insts:
meta = provider.meta()
available_stt_providers.append({
available_stt_providers.append(
{
"id": meta.id,
"name": meta.id,
"model": meta.model,
"type": meta.type,
})
}
)
available_tts_providers = []
for provider in provider_manager.tts_provider_insts:
meta = provider.meta()
available_tts_providers.append({
available_tts_providers.append(
{
"id": meta.id,
"name": meta.id,
"model": meta.model,
"type": meta.type,
})
}
)
result = {
"sessions": sessions,
@@ -206,16 +236,26 @@ class SessionManagementRoute(Route):
# 获取会话当前的对话 ID
conversation_manager = self.core_lifecycle.star_context.conversation_manager
conversation_id = await conversation_manager.get_curr_conversation_id(session_id)
conversation_id = await conversation_manager.get_curr_conversation_id(
session_id
)
if not conversation_id:
# 如果没有对话,创建一个新的对话
conversation_id = await conversation_manager.new_conversation(session_id)
conversation_id = await conversation_manager.new_conversation(
session_id
)
# 更新 persona
await conversation_manager.update_conversation_persona_id(session_id, persona_name)
await conversation_manager.update_conversation_persona_id(
session_id, persona_name
)
return Response().ok({"message": f"成功更新会话 {session_id} 的人格为 {persona_name}"}).__dict__
return (
Response()
.ok({"message": f"成功更新会话 {session_id} 的人格为 {persona_name}"})
.__dict__
)
except Exception as e:
error_msg = f"更新会话人格失败: {str(e)}\n{traceback.format_exc()}"
@@ -228,10 +268,16 @@ class SessionManagementRoute(Route):
data = await request.get_json()
session_id = data.get("session_id")
provider_id = data.get("provider_id")
provider_type = data.get("provider_type") # "chat_completion", "speech_to_text", "text_to_speech"
provider_type = data.get(
"provider_type"
) # "chat_completion", "speech_to_text", "text_to_speech"
if not session_id or not provider_id or not provider_type:
return Response().error("缺少必要参数: session_id, provider_id, provider_type").__dict__
return (
Response()
.error("缺少必要参数: session_id, provider_id, provider_type")
.__dict__
)
# 转换 provider_type 字符串为枚举
try:
@@ -242,9 +288,15 @@ class SessionManagementRoute(Route):
elif provider_type == "text_to_speech":
provider_type_enum = ProviderType.TEXT_TO_SPEECH
else:
return Response().error(f"不支持的 provider_type: {provider_type}").__dict__
return (
Response()
.error(f"不支持的 provider_type: {provider_type}")
.__dict__
)
except Exception as e:
return Response().error(f"无效的 provider_type: {provider_type}").__dict__
return (
Response().error(f"无效的 provider_type: {provider_type}").__dict__
)
# 设置 provider
provider_manager = self.core_lifecycle.star_context.provider_manager
@@ -254,9 +306,15 @@ class SessionManagementRoute(Route):
umo=session_id,
)
return Response().ok({
return (
Response()
.ok(
{
"message": f"成功更新会话 {session_id}{provider_type} 提供商为 {provider_id}"
}).__dict__
}
)
.__dict__
)
except Exception as e:
error_msg = f"更新会话提供商失败: {str(e)}\n{traceback.format_exc()}"
@@ -289,19 +347,33 @@ class SessionManagementRoute(Route):
"stt_provider_name": None,
"tts_provider_id": None,
"tts_provider_name": None,
"llm_enabled": SessionServiceManager.is_llm_enabled_for_session(session_id),
"llm_enabled": SessionServiceManager.is_llm_enabled_for_session(
session_id
),
"tts_enabled": None, # 将在下面设置
"mcp_enabled": SessionServiceManager.is_mcp_enabled_for_session(session_id),
"platform": session_id.split(":")[0] if ":" in session_id else "unknown",
"message_type": session_id.split(":")[1] if session_id.count(":") >= 1 else "unknown",
"session_name": session_id.split(":")[2] if session_id.count(":") >= 2 else session_id,
"mcp_enabled": SessionServiceManager.is_mcp_enabled_for_session(
session_id
),
"platform": session_id.split(":")[0]
if ":" in session_id
else "unknown",
"message_type": session_id.split(":")[1]
if session_id.count(":") >= 1
else "unknown",
"session_name": session_id.split(":")[2]
if session_id.count(":") >= 2
else session_id,
}
# 获取TTS状态
session_info["tts_enabled"] = SessionServiceManager.is_tts_enabled_for_session(session_id)
session_info["tts_enabled"] = (
SessionServiceManager.is_tts_enabled_for_session(session_id)
)
# 获取对话信息
conversation = self.db_helper.get_conversation_by_user_id(session_id, conversation_id)
conversation = self.db_helper.get_conversation_by_user_id(
session_id, conversation_id
)
if conversation:
session_info["persona_id"] = conversation.persona_id
@@ -394,19 +466,29 @@ class SessionManagementRoute(Route):
for plugin in plugin_manager.context.get_all_stars():
# 只显示已激活的插件,不包括保留插件
if plugin.activated and not plugin.reserved:
plugin_enabled = SessionPluginManager.is_plugin_enabled_for_session(session_id, plugin.name)
plugin_enabled = SessionPluginManager.is_plugin_enabled_for_session(
session_id, plugin.name
)
all_plugins.append({
all_plugins.append(
{
"name": plugin.name,
"author": plugin.author,
"desc": plugin.desc,
"enabled": plugin_enabled,
})
}
)
return Response().ok({
return (
Response()
.ok(
{
"session_id": session_id,
"plugins": all_plugins,
}).__dict__
}
)
.__dict__
)
except Exception as e:
error_msg = f"获取会话插件配置失败: {str(e)}\n{traceback.format_exc()}"
@@ -441,17 +523,29 @@ class SessionManagementRoute(Route):
return Response().error(f"插件 {plugin_name} 未激活").__dict__
if plugin.reserved:
return Response().error(f"插件 {plugin_name} 是系统保留插件,无法管理").__dict__
return (
Response()
.error(f"插件 {plugin_name} 是系统保留插件,无法管理")
.__dict__
)
# 使用 SessionPluginManager 更新插件状态
SessionPluginManager.set_plugin_status_for_session(session_id, plugin_name, enabled)
SessionPluginManager.set_plugin_status_for_session(
session_id, plugin_name, enabled
)
return Response().ok({
return (
Response()
.ok(
{
"message": f"插件 {plugin_name}{'启用' if enabled else '禁用'}",
"session_id": session_id,
"plugin_name": plugin_name,
"enabled": enabled,
}).__dict__
}
)
.__dict__
)
except Exception as e:
error_msg = f"更新会话插件状态失败: {str(e)}\n{traceback.format_exc()}"
@@ -474,11 +568,17 @@ class SessionManagementRoute(Route):
# 使用 SessionServiceManager 更新LLM状态
SessionServiceManager.set_llm_status_for_session(session_id, enabled)
return Response().ok({
return (
Response()
.ok(
{
"message": f"LLM已{'启用' if enabled else '禁用'}",
"session_id": session_id,
"llm_enabled": enabled,
}).__dict__
}
)
.__dict__
)
except Exception as e:
error_msg = f"更新会话LLM状态失败: {str(e)}\n{traceback.format_exc()}"
@@ -501,11 +601,17 @@ class SessionManagementRoute(Route):
# 使用 SessionServiceManager 更新TTS状态
SessionServiceManager.set_tts_status_for_session(session_id, enabled)
return Response().ok({
return (
Response()
.ok(
{
"message": f"TTS已{'启用' if enabled else '禁用'}",
"session_id": session_id,
"tts_enabled": enabled,
}).__dict__
}
)
.__dict__
)
except Exception as e:
error_msg = f"更新会话TTS状态失败: {str(e)}\n{traceback.format_exc()}"
@@ -528,11 +634,17 @@ class SessionManagementRoute(Route):
# 使用 SessionServiceManager 更新MCP状态
SessionServiceManager.set_mcp_status_for_session(session_id, enabled)
return Response().ok({
return (
Response()
.ok(
{
"message": f"MCP工具调用已{'启用' if enabled else '禁用'}",
"session_id": session_id,
"mcp_enabled": enabled,
}).__dict__
}
)
.__dict__
)
except Exception as e:
error_msg = f"更新会话MCP状态失败: {str(e)}\n{traceback.format_exc()}"
@@ -552,12 +664,20 @@ class SessionManagementRoute(Route):
# 使用 SessionServiceManager 更新会话名称
SessionServiceManager.set_session_custom_name(session_id, custom_name)
return Response().ok({
return (
Response()
.ok(
{
"message": f"会话名称已更新为: {custom_name if custom_name.strip() else '已清除自定义名称'}",
"session_id": session_id,
"custom_name": custom_name,
"display_name": SessionServiceManager.get_session_display_name(session_id),
}).__dict__
"display_name": SessionServiceManager.get_session_display_name(
session_id
),
}
)
.__dict__
)
except Exception as e:
error_msg = f"更新会话名称失败: {str(e)}\n{traceback.format_exc()}"
@@ -580,11 +700,17 @@ class SessionManagementRoute(Route):
# 使用 SessionServiceManager 更新会话整体状态
SessionServiceManager.set_session_status(session_id, session_enabled)
return Response().ok({
return (
Response()
.ok(
{
"message": f"会话整体状态已更新为: {'启用' if session_enabled else '禁用'}",
"session_id": session_id,
"session_enabled": session_enabled,
}).__dict__
}
)
.__dict__
)
except Exception as e:
error_msg = f"更新会话整体状态失败: {str(e)}\n{traceback.format_exc()}"