改进focus模式下的回复逻辑,理论上现在focus模式下在bot被@ / 提及 时应该会回复了

采用的是在focus模式下移除no_reply动作的方式
同步更新bot_config_template里面的注释
This commit is contained in:
Furina-1013-create
2025-08-19 22:15:13 +08:00
parent 7a9845b8a4
commit f835dcb5e2
3 changed files with 16 additions and 6 deletions

View File

@@ -28,7 +28,7 @@
- 大工程 - 大工程
· 增加一个基于Rust后端daisyui为前端的启动器以下是详细功能 · 增加一个基于Rust后端daisyui为(装饰的)前端的启动器,以下是详细功能
- 一个好看的ui - 一个好看的ui
- 支持所有的非core的插件管理 - 支持所有的非core的插件管理
- 支持一键部署所有环境 - 支持一键部署所有环境

View File

@@ -553,6 +553,15 @@ class HeartFChatting:
except Exception as e: except Exception as e:
logger.error(f"{self.log_prefix} 动作修改失败: {e}") logger.error(f"{self.log_prefix} 动作修改失败: {e}")
# 在focus模式下如果你的bot被@/提到了那么就移除no_reply动作
is_mentioned_bot = message_data.get("is_mentioned", False)
at_bot_mentioned = (global_config.chat.mentioned_bot_inevitable_reply and is_mentioned_bot) or \
(global_config.chat.at_bot_inevitable_reply and is_mentioned_bot)
if self.loop_mode == ChatMode.FOCUS and at_bot_mentioned and "no_reply" in available_actions:
logger.info(f"{self.log_prefix} Focus模式下检测到@或提及bot移除no_reply动作以确保回复")
available_actions = {k: v for k, v in available_actions.items() if k != "no_reply"} # 用一个循环来移除no_reply
# 检查是否在normal模式下没有可用动作除了reply相关动作 # 检查是否在normal模式下没有可用动作除了reply相关动作
skip_planner = False skip_planner = False
if self.loop_mode == ChatMode.NORMAL: if self.loop_mode == ChatMode.NORMAL:

View File

@@ -1,5 +1,5 @@
[inner] [inner]
version = "6.3.8" version = "6.3.9"
#----以下是给开发人员阅读的,如果你只是部署了麦麦,不需要阅读---- #----以下是给开发人员阅读的,如果你只是部署了麦麦,不需要阅读----
#如果你想要修改配置文件请递增version的值 #如果你想要修改配置文件请递增version的值
@@ -104,8 +104,9 @@ max_context_size = 25 # 上下文长度
thinking_timeout = 40 # 麦麦一次回复最长思考规划时间超过这个时间的思考会放弃往往是api反应太慢 thinking_timeout = 40 # 麦麦一次回复最长思考规划时间超过这个时间的思考会放弃往往是api反应太慢
replyer_random_probability = 0.5 # 首要replyer模型被选择的概率 replyer_random_probability = 0.5 # 首要replyer模型被选择的概率
mentioned_bot_inevitable_reply = true # 提及 bot 大概率回复 mentioned_bot_inevitable_reply = true # 提及 bot 必然回复
at_bot_inevitable_reply = true # @bot 或 提及bot 大概率回复 at_bot_inevitable_reply = true # @bot 或 提及bot 必然回复
# 兼容normal、focus在focus模式下为强制移除no_reply动作
talk_frequency_adjust = [ talk_frequency_adjust = [
["", "8:00,1", "12:00,1.2", "18:00,1.5", "01:00,0.6"], ["", "8:00,1", "12:00,1.2", "18:00,1.5", "01:00,0.6"],
@@ -161,8 +162,8 @@ ban_msgs_regex = [
] ]
[anti_prompt_injection] # LLM反注入系统配置 [anti_prompt_injection] # LLM反注入系统配置
enabled = true # 是否启用反注入系统 enabled = false # 是否启用反注入系统
enabled_rules = true # 是否启用规则检测 enabled_rules = false # 是否启用规则检测
enabled_LLM = false # 是否启用LLM检测 enabled_LLM = false # 是否启用LLM检测
process_mode = "lenient" # 处理模式strict(严格模式,直接丢弃), lenient(宽松模式,消息加盾), auto(自动模式), counter_attack(反击模式使用LLM反击并丢弃消息) process_mode = "lenient" # 处理模式strict(严格模式,直接丢弃), lenient(宽松模式,消息加盾), auto(自动模式), counter_attack(反击模式使用LLM反击并丢弃消息)