diff --git a/src/do_tool/tool_can_use/rename_person_tool.py b/src/do_tool/tool_can_use/rename_person_tool.py index d9f23cf4d..c8210f5cc 100644 --- a/src/do_tool/tool_can_use/rename_person_tool.py +++ b/src/do_tool/tool_can_use/rename_person_tool.py @@ -8,14 +8,14 @@ logger = get_logger("rename_person_tool") class RenamePersonTool(BaseTool): name = "rename_person" - description = "这个工具可以改变用户的昵称。你可以选择改变对他人的称呼。" + description = "这个工具可以改变用户的昵称。你可以选择改变对他人的称呼。你想给人改名,叫别人别的称呼,需要调用这个工具。" parameters = { "type": "object", "properties": { "person_name": {"type": "string", "description": "需要重新取名的用户的当前昵称"}, "message_content": { "type": "string", - "description": "可选的。当前的聊天内容或特定要求,用于提供取名建议的上下文。", + "description": "当前的聊天内容或特定要求,用于提供取名建议的上下文,尽可能详细。", }, }, "required": ["person_name"], diff --git a/src/heart_flow/subheartflow_manager.py b/src/heart_flow/subheartflow_manager.py index 1cf584964..f25594b7f 100644 --- a/src/heart_flow/subheartflow_manager.py +++ b/src/heart_flow/subheartflow_manager.py @@ -672,12 +672,12 @@ class SubHeartflowManager: """处理来自 HeartFChatting 的连续无回复信号 (通过 partial 绑定 ID)""" # 注意:这里不需要再获取锁,因为 sbhf_focus_into_absent 内部会处理锁 logger.debug(f"[管理器 HFC 处理器] 接收到来自 {subheartflow_id} 的 HFC 无回复信号") - await self.sbhf_focus_into_absent(subheartflow_id) + await self.sbhf_focus_into_absent_or_chat(subheartflow_id) # --- 结束新增 --- # # --- 新增:处理来自 HeartFChatting 的状态转换请求 --- # - async def sbhf_focus_into_absent(self, subflow_id: Any): + async def sbhf_focus_into_absent_or_chat(self, subflow_id: Any): """ 接收来自 HeartFChatting 的请求,将特定子心流的状态转换为 ABSENT 或 CHAT。 通常在连续多次 "no_reply" 后被调用。 @@ -729,6 +729,8 @@ class SubHeartflowManager: f"[状态转换请求] 接收到请求,将 {stream_name} (当前: {current_state.value}) 尝试转换为 {target_state.value} ({log_reason})" ) try: + # 从HFC到CHAT时,清空兴趣字典 + subflow.clear_interest_dict() await subflow.change_chat_state(target_state) final_state = subflow.chat_state.chat_status if final_state == target_state: diff --git a/src/plugins/person_info/person_info.py b/src/plugins/person_info/person_info.py index d4e69d7e2..15311de57 100644 --- a/src/plugins/person_info/person_info.py +++ b/src/plugins/person_info/person_info.py @@ -215,9 +215,9 @@ class PersonInfoManager: if old_name: qv_name_prompt += f"你之前叫他{old_name},是因为{old_reason}," - qv_name_prompt += f"\n其他取名的要求是:{request}" + qv_name_prompt += f"\n其他取名的要求是:{request},不要太浮夸" - qv_name_prompt += "\n请根据以上用户信息,想想你叫他什么比较好,请最好使用用户的qq昵称,可以稍作修改" + qv_name_prompt += "\n请根据以上用户信息,想想你叫他什么比较好,不要太浮夸,请最好使用用户的qq昵称,可以稍作修改" if existing_names: qv_name_prompt += f"\n请注意,以下名称已被使用,不要使用以下昵称:{existing_names}。\n" qv_name_prompt += "请用json给出你的想法,并给出理由,示例如下:" diff --git a/template/bot_config_template.toml b/template/bot_config_template.toml index 5f215009f..52280783d 100644 --- a/template/bot_config_template.toml +++ b/template/bot_config_template.toml @@ -69,8 +69,8 @@ nonebot-qq="http://127.0.0.1:18002/api/message" allow_focus_mode = true # 是否允许专注聊天状态 # 是否启用heart_flowC(HFC)模式 # 启用后麦麦会自主选择进入heart_flowC模式(持续一段时间),进行主动的观察和回复,并给出回复,比较消耗token -base_normal_chat_num = 3 # 最多允许多少个群进行普通聊天 -base_focused_chat_num = 2 # 最多允许多少个群进行专注聊天 +base_normal_chat_num = 8 # 最多允许多少个群进行普通聊天 +base_focused_chat_num = 5 # 最多允许多少个群进行专注聊天 observation_context_size = 15 # 观察到的最长上下文大小,建议15,太短太长都会导致脑袋尖尖 message_buffer = true # 启用消息缓冲器?启用此项以解决消息的拆分问题,但会使麦麦的回复延迟