feat(chat): 新增私聊强制回复功能
当在私聊场景下,如果大脑决策为“no_reply”,此功能会将其强制修改为“reply”,以确保机器人总能响应私聊消息。 该功能通过新的配置项 `force_reply_private` 控制,默认为关闭状态。同时,原配置项 `force_focus_private` 已被重命名为 `force_reply_private` 以更准确地反映其功能。
This commit is contained in:
@@ -582,6 +582,12 @@ class ActionPlanner:
|
|||||||
action, reasoning = "no_reply", f"大脑处理错误: {e}"
|
action, reasoning = "no_reply", f"大脑处理错误: {e}"
|
||||||
|
|
||||||
# --- 4. 整合大脑和小脑的决策 ---
|
# --- 4. 整合大脑和小脑的决策 ---
|
||||||
|
# 如果是私聊且开启了强制回复,则将no_reply强制改为reply
|
||||||
|
if not is_group_chat and global_config.chat.force_reply_private and action == "no_reply":
|
||||||
|
action = "reply"
|
||||||
|
reasoning = "私聊强制回复"
|
||||||
|
logger.info(f"{self.log_prefix}私聊强制回复已触发,将动作从 'no_reply' 修改为 'reply'")
|
||||||
|
|
||||||
is_parallel = True
|
is_parallel = True
|
||||||
for info in all_sub_planner_results:
|
for info in all_sub_planner_results:
|
||||||
action_type = info.get("action_type")
|
action_type = info.get("action_type")
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ class ChatConfig(ValidatedConfigBase):
|
|||||||
at_bot_inevitable_reply: bool = Field(default=False, description="@机器人的必然回复")
|
at_bot_inevitable_reply: bool = Field(default=False, description="@机器人的必然回复")
|
||||||
talk_frequency_adjust: list[list[str]] = Field(default_factory=lambda: [], description="聊天频率调整")
|
talk_frequency_adjust: list[list[str]] = Field(default_factory=lambda: [], description="聊天频率调整")
|
||||||
focus_value: float = Field(default=1.0, description="专注值")
|
focus_value: float = Field(default=1.0, description="专注值")
|
||||||
force_focus_private: bool = Field(default=False, description="强制专注私聊")
|
force_reply_private: bool = Field(default=False, description="强制回复私聊")
|
||||||
group_chat_mode: Literal["auto", "normal", "focus"] = Field(default="auto", description="群聊模式")
|
group_chat_mode: Literal["auto", "normal", "focus"] = Field(default="auto", description="群聊模式")
|
||||||
timestamp_display_mode: Literal["normal", "normal_no_YMD", "relative"] = Field(
|
timestamp_display_mode: Literal["normal", "normal_no_YMD", "relative"] = Field(
|
||||||
default="normal_no_YMD", description="时间戳显示模式"
|
default="normal_no_YMD", description="时间戳显示模式"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
[inner]
|
[inner]
|
||||||
version = "6.7.4"
|
version = "6.7.5"
|
||||||
|
|
||||||
#----以下是给开发人员阅读的,如果你只是部署了MoFox-Bot,不需要阅读----
|
#----以下是给开发人员阅读的,如果你只是部署了MoFox-Bot,不需要阅读----
|
||||||
#如果你想要修改配置文件,请递增version的值
|
#如果你想要修改配置文件,请递增version的值
|
||||||
@@ -114,8 +114,8 @@ focus_value = 1
|
|||||||
# breaking模式配置
|
# breaking模式配置
|
||||||
enable_breaking_mode = true # 是否启用自动进入breaking模式,关闭后不会自动进入breaking形式
|
enable_breaking_mode = true # 是否启用自动进入breaking模式,关闭后不会自动进入breaking形式
|
||||||
|
|
||||||
# 强制私聊专注模式
|
# 强制私聊回复
|
||||||
force_focus_private = false # 是否强制私聊进入专注模式,开启后私聊将始终保持专注状态
|
force_reply_private = false # 是否强制私聊回复,开启后私聊将强制回复
|
||||||
|
|
||||||
max_context_size = 25 # 上下文长度
|
max_context_size = 25 # 上下文长度
|
||||||
thinking_timeout = 40 # MoFox-Bot一次回复最长思考规划时间,超过这个时间的思考会放弃(往往是api反应太慢)
|
thinking_timeout = 40 # MoFox-Bot一次回复最长思考规划时间,超过这个时间的思考会放弃(往往是api反应太慢)
|
||||||
|
|||||||
Reference in New Issue
Block a user