From 28a2a4b0c8a98c3b464afa39bfb0951aa433664f Mon Sep 17 00:00:00 2001 From: tt-P607 <68868379+tt-P607@users.noreply.github.com> Date: Fri, 26 Sep 2025 23:11:55 +0800 Subject: [PATCH] =?UTF-8?q?refactor(config):=20=E7=A7=BB=E9=99=A4=E5=85=A8?= =?UTF-8?q?=E5=B1=80=E8=A1=A8=E8=BE=BE=E5=BC=80=E5=85=B3=E4=BB=A5=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E5=88=86=E8=81=8A=E5=A4=A9=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 移除全局的 `enable_expression` 配置项,转而使用 `get_expression_config_for_chat` 方法在生成提示词时动态判断。 原有的全局开关不够灵活,无法满足分聊天、分群组控制表达功能的需求。此次重构通过在运行时检查每个聊天的具体配置,实现了更精细化的功能启用控制。 BREAKING CHANGE: 全局配置项 `expression.enable_expression` 已被移除。现在需要通过表达规则来为不同的聊天单独控制功能的启用状态。 --- src/chat/utils/prompt.py | 3 ++- src/config/official_configs.py | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/chat/utils/prompt.py b/src/chat/utils/prompt.py index 3ae75c923..112db6726 100644 --- a/src/chat/utils/prompt.py +++ b/src/chat/utils/prompt.py @@ -483,7 +483,8 @@ class Prompt: async def _build_expression_habits(self) -> Dict[str, Any]: """构建表达习惯""" - if not global_config.expression.enable_expression: + use_expression, _, _ = global_config.expression.get_expression_config_for_chat(self.parameters.chat_id) + if not use_expression: return {"expression_habits_block": ""} try: diff --git a/src/config/official_configs.py b/src/config/official_configs.py index 6ab914a93..3ba341997 100644 --- a/src/config/official_configs.py +++ b/src/config/official_configs.py @@ -308,7 +308,6 @@ class ExpressionRule(ValidatedConfigBase): class ExpressionConfig(ValidatedConfigBase): """表达配置类""" - enable_expression: bool = Field(default=True, description="是否启用表达") rules: List[ExpressionRule] = Field(default_factory=list, description="表达学习规则") def _parse_stream_config_to_chat_id(self, stream_config_str: str) -> Optional[str]: