feat:可开关精细动态发言和主动发言规则

pull/1319/head
SengokuCola 2025-10-25 16:15:27 +08:00
parent 3f7f3da4d1
commit 4e058a5c48
2 changed files with 12 additions and 3 deletions

View File

@ -85,6 +85,9 @@ class ChatConfig(ConfigBase):
auto_chat_value: float = 1
"""自动聊天,越小,麦麦主动聊天的概率越低"""
enable_auto_chat_value_rules: bool = True
"""是否启用动态自动聊天频率规则"""
at_bot_inevitable_reply: float = 1
"""@bot 必然回复1为100%回复0为不额外增幅"""
@ -94,6 +97,9 @@ class ChatConfig(ConfigBase):
talk_value: float = 1
"""思考频率"""
enable_talk_value_rules: bool = True
"""是否启用动态发言频率规则"""
talk_value_rules: list[dict] = field(default_factory=lambda: [])
"""
思考频率规则列表支持按聊天流/按日内时段配置
@ -180,7 +186,7 @@ class ChatConfig(ConfigBase):
def get_talk_value(self, chat_id: Optional[str]) -> float:
"""根据规则返回当前 chat 的动态 talk_value未匹配则回退到基础值。"""
if not self.talk_value_rules:
if not self.enable_talk_value_rules or not self.talk_value_rules:
return self.talk_value
now_min = self._now_minutes()
@ -235,7 +241,7 @@ class ChatConfig(ConfigBase):
def get_auto_chat_value(self, chat_id: Optional[str]) -> float:
"""根据规则返回当前 chat 的动态 auto_chat_value未匹配则回退到基础值。"""
if not self.auto_chat_value_rules:
if not self.enable_auto_chat_value_rules or not self.auto_chat_value_rules:
return self.auto_chat_value
now_min = self._now_minutes()

View File

@ -1,5 +1,5 @@
[inner]
version = "6.18.4"
version = "6.19.0"
#----以下是给开发人员阅读的,如果你只是部署了麦麦,不需要阅读----
#如果你想要修改配置文件请递增version的值
@ -82,6 +82,9 @@ max_context_size = 30 # 上下文长度
auto_chat_value = 1 # 自动聊天,越小,麦麦主动聊天的概率越低
planner_smooth = 5 #规划器平滑增大数值会减小planner负荷略微降低反应速度推荐2-80为关闭必须大于等于0
enable_talk_value_rules = true # 是否启用动态发言频率规则
enable_auto_chat_value_rules = false # 是否启用动态自动聊天频率规则
# 动态发言频率规则:按时段/按chat_id调整 talk_value优先匹配具体chat再匹配全局
# 推荐格式(对象数组):{ target="platform:id:type" 或 "", time="HH:MM-HH:MM", value=0.5 }
# 说明: