Update hfcloop_observation.py

This commit is contained in:
SengokuCola
2025-05-30 12:24:34 +08:00
parent 78df7ab553
commit cb7ed9482a

View File

@@ -38,6 +38,8 @@ class HFCloopObservation:
consecutive_text_replies = 0
responses_for_prompt = []
cycle_last_reason = ""
# 检查这最近的活动循环中有多少是连续的文本回复 (从最近的开始看)
for cycle in recent_active_cycles:
action_type = cycle.loop_plan_info["action_result"]["action_type"]
@@ -50,22 +52,28 @@ class HFCloopObservation:
# print(is_taken)
# print(action_taken_time_str)
# print("--------------------------------")
if action_reasoning != cycle_last_reason:
cycle_last_reason = action_reasoning
action_reasoning_str = f"你选择这个action的原因是:{action_reasoning}"
else:
action_reasoning_str = ""
if action_type == "reply":
consecutive_text_replies += 1
response_text = cycle.loop_plan_info["action_result"]["action_data"].get("text", "[空回复]")
responses_for_prompt.append(response_text)
if is_taken:
action_detailed_str += f"{action_taken_time_str}时,你选择回复(action:{action_type},内容是:'{response_text}')。你选择这个action的原因是:{action_reasoning}\n"
action_detailed_str += f"{action_taken_time_str}时,你选择回复(action:{action_type},内容是:'{response_text}')。{action_reasoning_str}\n"
else:
action_detailed_str += f"{action_taken_time_str}时,你选择回复(action:{action_type},内容是:'{response_text}'),但是动作失败了。你选择这个action的原因是:{action_reasoning}\n"
action_detailed_str += f"{action_taken_time_str}时,你选择回复(action:{action_type},内容是:'{response_text}'),但是动作失败了。{action_reasoning_str}\n"
elif action_type == "no_reply":
action_detailed_str += f"{action_taken_time_str}时,你选择不回复(action:{action_type})你选择了沉默,原因是:{action_reasoning}\n"
action_detailed_str += f"{action_taken_time_str}时,你选择不回复(action:{action_type}){action_reasoning_str}\n"
else:
if is_taken:
action_detailed_str += f"{action_taken_time_str}时,你选择执行了(action:{action_type})你选择这个action的原因是:{action_reasoning}\n"
action_detailed_str += f"{action_taken_time_str}时,你选择执行了(action:{action_type}){action_reasoning_str}\n"
else:
action_detailed_str += f"{action_taken_time_str}时,你选择执行了(action:{action_type}),但是动作失败了。你选择这个action的原因是:{action_reasoning}\n"
action_detailed_str += f"{action_taken_time_str}时,你选择执行了(action:{action_type}),但是动作失败了。{action_reasoning_str}\n"
if action_detailed_str:
cycle_info_block = f"\n你最近做的事:\n{action_detailed_str}\n"