From 7a69b046addeebc2432b631eb1a2ccce759166c7 Mon Sep 17 00:00:00 2001 From: Bakadax Date: Thu, 24 Apr 2025 11:19:57 +0800 Subject: [PATCH 1/2] 3.11 --- src/plugins/PFC/action_planner.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/plugins/PFC/action_planner.py b/src/plugins/PFC/action_planner.py index 9a8783986..b270a8d4e 100644 --- a/src/plugins/PFC/action_planner.py +++ b/src/plugins/PFC/action_planner.py @@ -232,7 +232,8 @@ class ActionPlanner: prompt = f"""{persona_text}。现在你在参与一场QQ聊天,请根据以下【所有信息】审慎决策下一步行动,可以发言,可以等待,可以倾听,可以调取知识: 【当前对话目标】 -{goals_str if goals_str.strip() else "- 目前没有明确对话目标,请考虑设定一个。\n"} +{goals_str if goals_str.strip() else "- 目前没有明确对话目标,请考虑设定一个。"} + 【最近行动历史概要】 {action_history_summary} @@ -241,7 +242,8 @@ class ActionPlanner: 【时间和超时提示】 {time_since_last_bot_message_info}{timeout_context} 【最近的对话记录】(包括你已成功发送的消息 和 新收到的消息) -{chat_history_text if chat_history_text.strip() else "还没有聊天记录。\n"} +{chat_history_text if chat_history_text.strip() else "还没有聊天记录。"} + --- 行动决策指南 --- 1. **仔细分析【上一次行动的详细情况和结果】**。如果上次行动是 direct_reply 且因“内容与你上一条发言完全相同”或“高度相似”而被取消(status: recall),那么【绝对不要】立即再次规划 direct_reply。在这种特定情况下,你应该优先考虑 wait (等待用户的新回应) 或 rethink_goal (如果对话似乎因此卡住了)。 2. 结合【当前对话目标】和【最近的对话记录】来判断是否需要回应、回应什么。如果【最近的对话记录】中有新的用户消息,通常需要 direct_reply。如果上次行动成功,或者上次失败的原因不是重复,可以根据对话内容考虑 direct_reply。 From 72857d21426bd511a46c03a94d5930a7b838739f Mon Sep 17 00:00:00 2001 From: Bakadax Date: Thu, 24 Apr 2025 11:28:44 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8DNoneType=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/chat/bot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/chat/bot.py b/src/plugins/chat/bot.py index fdb2576a2..4517138cd 100644 --- a/src/plugins/chat/bot.py +++ b/src/plugins/chat/bot.py @@ -82,7 +82,7 @@ class ChatBot: logger.debug(f"用户{userinfo.user_id}被禁止回复") return - if groupinfo.group_id not in global_config.talk_allowed_groups: + if groupinfo != None and groupinfo.group_id not in global_config.talk_allowed_groups: logger.debug(f"群{groupinfo.group_id}被禁止回复") return