refactor(sleep): 重构睡眠系统以实现睡后失眠机制

重构了原有的睡眠管理状态机,将睡前失眠逻辑调整为更真实的“睡后失眠”模式。现在系统会在角色入睡一段时间后,根据当前的睡眠压力判断是否触发失眠状态。

主要变更:
- **状态机调整**: 移除了入睡前的失眠检查,改为在进入`SLEEPING`状态后,延迟一段时间再根据睡眠压力触发`INSOMNIA`状态。
- **通知系统重构**: `NotificationSender`被简化,现在通过触发主动思考事件 (`goodnight`, `post_sleep_insomnia`) 来发送通知,而不是直接调用生成器API。
- **配置更新**: 将固定的失眠持续时间改为一个随机范围,并增加了触发失眠判定的延迟时间配置。
- **代码解耦**: `EnergyManager`现在直接依赖新的`SleepManager`,不再通过旧的`schedule_manager`。
This commit is contained in:
minecraft1024a
2025-09-06 13:34:53 +08:00
parent 11ada53b0d
commit 36b9eae6c8
6 changed files with 127 additions and 142 deletions

View File

@@ -70,7 +70,7 @@ class HfcContext:
# breaking形式下的累积兴趣值
self.breaking_accumulated_interest = 0.0
# 引用HeartFChatting实例以便其他组件可以调用其方法
self.chat_instance: Optional["HeartFChatting"] = None
self.chat_instance: "HeartFChatting"
def save_context_state(self):
"""将当前状态保存到聊天流"""