diff --git a/astrbot/core/config/default.py b/astrbot/core/config/default.py index 4c42bf0a..1e43d77b 100644 --- a/astrbot/core/config/default.py +++ b/astrbot/core/config/default.py @@ -1436,10 +1436,7 @@ CONFIG_METADATA_2 = { "description": "服务订阅密钥", "hint": "Azure_TTS 服务的订阅密钥(注意不是令牌)", }, - "dashscope_tts_voice": { - "description": "音色", - "type": "string" - }, + "dashscope_tts_voice": {"description": "音色", "type": "string"}, "gm_resp_image_modal": { "description": "启用图片模态", "type": "bool", diff --git a/packages/astrbot/commands/conversation.py b/packages/astrbot/commands/conversation.py index a29d35ea..49f3cdcc 100644 --- a/packages/astrbot/commands/conversation.py +++ b/packages/astrbot/commands/conversation.py @@ -41,6 +41,17 @@ class ConversationCommands: self.context = context self.ltm = ltm + async def _get_current_persona_id(self, session_id): + curr = await self.context.conversation_manager.get_curr_conversation_id( + session_id + ) + if not curr: + return None + conv = await self.context.conversation_manager.get_conversation( + session_id, curr + ) + return conv.persona_id + def ltm_enabled(self, event: AstrMessageEvent): if not self.ltm: return False @@ -255,8 +266,9 @@ class ConversationCommands: ) return + cpersona = await self._get_current_persona_id(message.unified_msg_origin) cid = await self.context.conversation_manager.new_conversation( - message.unified_msg_origin, message.get_platform_id() + message.unified_msg_origin, message.get_platform_id(), persona_id=cpersona ) # 长期记忆 @@ -290,8 +302,10 @@ class ConversationCommands: session_id=sid, ) ) + + cpersona = await self._get_current_persona_id(session) cid = await self.context.conversation_manager.new_conversation( - session, message.get_platform_id() + session, message.get_platform_id(), persona_id=cpersona ) message.set_result( MessageEventResult().message(