From cb41a98fc2d27fa5f9d968c5123f409c89418d45 Mon Sep 17 00:00:00 2001 From: Furina-1013-create <189647097+Furina-1013-create@users.noreply.github.com> Date: Mon, 8 Sep 2025 13:19:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BA=E5=B0=8F=E8=84=91=E5=86=B3=E7=AD=96?= =?UTF-8?q?=E5=8A=A0=E4=B8=8A=E8=A7=92=E8=89=B2=E4=BA=BA=E8=AE=BE=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E8=AF=8D=E4=BB=A5=E9=81=BF=E5=85=8D=E5=86=B3=E7=AD=96?= =?UTF-8?q?=E6=97=B6=E5=87=BA=E7=8E=B0=E7=9A=84=E4=BA=BA=E8=AE=BEooc?= =?UTF-8?q?=E7=9A=84=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 可以在配置文件里面关闭 --- src/chat/planner_actions/planner.py | 15 +++++++++++++++ src/config/official_configs.py | 1 + template/bot_config_template.toml | 4 +++- 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/chat/planner_actions/planner.py b/src/chat/planner_actions/planner.py index 9b071d954..6ad7271a1 100644 --- a/src/chat/planner_actions/planner.py +++ b/src/chat/planner_actions/planner.py @@ -147,6 +147,7 @@ def init_prompt(): Prompt( """ {name_block} +{personality_block} {chat_context_description},{time_block},现在请你根据以下聊天内容,选择一个或多个合适的action。如果没有合适的action,请选择no_action。, {chat_content_block} @@ -414,6 +415,19 @@ class ActionPlanner: bot_nickname = f",也有人叫你{','.join(global_config.bot.alias_names)}" if global_config.bot.alias_names else "" name_block = f"你的名字是{bot_name}{bot_nickname},请注意哪些是你自己的发言。" + # 构建人格信息块(仅在启用时) + personality_block = "" + if global_config.chat.include_personality: + personality_core = global_config.personality.personality_core + personality_side = global_config.personality.personality_side + if personality_core or personality_side: + personality_parts = [] + if personality_core: + personality_parts.append(f"核心人格:{personality_core}") + if personality_side: + personality_parts.append(f"人格侧面:{personality_side}") + personality_block = "你的人格特征是:" + ";".join(personality_parts) + planner_prompt_template = await global_prompt_manager.get_prompt_async("sub_planner_prompt") prompt = planner_prompt_template.format( time_block=time_block, @@ -423,6 +437,7 @@ class ActionPlanner: action_options_text=action_options_block, moderation_prompt=moderation_prompt_block, name_block=name_block, + personality_block=personality_block, ) except Exception as e: logger.error(f"构建小脑提示词时出错: {e}\n{traceback.format_exc()}") diff --git a/src/config/official_configs.py b/src/config/official_configs.py index 10bc3ae71..5a3b6fd3f 100644 --- a/src/config/official_configs.py +++ b/src/config/official_configs.py @@ -93,6 +93,7 @@ class ChatConfig(ValidatedConfigBase): ) delta_sigma: int = Field(default=120, description="采用正态分布随机时间间隔") planner_size: float = Field(default=5.0, ge=1.0, description="小脑(sub-planner)的尺寸,决定每个小脑处理多少个action") + include_personality: bool = Field(default=False, description="是否在小脑决策中包含角色人设信息") def get_current_talk_frequency(self, chat_stream_id: Optional[str] = None) -> float: """ diff --git a/template/bot_config_template.toml b/template/bot_config_template.toml index c77fb95cd..55ef3af64 100644 --- a/template/bot_config_template.toml +++ b/template/bot_config_template.toml @@ -1,5 +1,5 @@ [inner] -version = "6.7.8" +version = "6.7.9" #----以下是给开发人员阅读的,如果你只是部署了MoFox-Bot,不需要阅读---- #如果你想要修改配置文件,请递增version的值 @@ -175,6 +175,8 @@ delta_sigma = 120 # 正态分布的标准差,控制时间间隔的随机程度 # --- 大脑/小脑 Planner 配置 --- planner_size = 5.0 # 小脑(sub-planner)的尺寸,决定每个小脑处理多少个action。数值越小,并行度越高,但单个小脑的上下文越少。建议范围:3.0-8.0 +include_personality = false # 是否在小脑决策中包含角色人设信息(personality_core、personality_side) + [relationship] enable_relationship = true # 是否启用关系系统