diff --git a/pkg/command/operators/version.py b/pkg/command/operators/version.py index ed248db9..a5d7a81b 100644 --- a/pkg/command/operators/version.py +++ b/pkg/command/operators/version.py @@ -20,7 +20,7 @@ class VersionCommand(operator.CommandOperator): try: if await self.ap.ver_mgr.is_new_version_available(): - reply_str += "\n\n有新版本可用, 使用 !update 更新" + reply_str += "\n\n有新版本可用。" except: pass diff --git a/pkg/config/migration.py b/pkg/core/migration.py similarity index 97% rename from pkg/config/migration.py rename to pkg/core/migration.py index e84a59cb..2c5c7597 100644 --- a/pkg/config/migration.py +++ b/pkg/core/migration.py @@ -3,7 +3,7 @@ from __future__ import annotations import abc import typing -from ..core import app +from . import app preregistered_migrations: list[typing.Type[Migration]] = [] diff --git a/pkg/config/migrations/__init__.py b/pkg/core/migrations/__init__.py similarity index 100% rename from pkg/config/migrations/__init__.py rename to pkg/core/migrations/__init__.py diff --git a/pkg/config/migrations/m001_sensitive_word_migration.py b/pkg/core/migrations/m001_sensitive_word_migration.py similarity index 100% rename from pkg/config/migrations/m001_sensitive_word_migration.py rename to pkg/core/migrations/m001_sensitive_word_migration.py diff --git a/pkg/config/migrations/m002_openai_config_migration.py b/pkg/core/migrations/m002_openai_config_migration.py similarity index 100% rename from pkg/config/migrations/m002_openai_config_migration.py rename to pkg/core/migrations/m002_openai_config_migration.py diff --git a/pkg/config/migrations/m003_anthropic_requester_cfg_completion.py b/pkg/core/migrations/m003_anthropic_requester_cfg_completion.py similarity index 100% rename from pkg/config/migrations/m003_anthropic_requester_cfg_completion.py rename to pkg/core/migrations/m003_anthropic_requester_cfg_completion.py diff --git a/pkg/config/migrations/m004_moonshot_cfg_completion.py b/pkg/core/migrations/m004_moonshot_cfg_completion.py similarity index 100% rename from pkg/config/migrations/m004_moonshot_cfg_completion.py rename to pkg/core/migrations/m004_moonshot_cfg_completion.py diff --git a/pkg/config/migrations/m005_deepseek_cfg_completion.py b/pkg/core/migrations/m005_deepseek_cfg_completion.py similarity index 100% rename from pkg/config/migrations/m005_deepseek_cfg_completion.py rename to pkg/core/migrations/m005_deepseek_cfg_completion.py diff --git a/pkg/config/migrations/m006_vision_config.py b/pkg/core/migrations/m006_vision_config.py similarity index 100% rename from pkg/config/migrations/m006_vision_config.py rename to pkg/core/migrations/m006_vision_config.py diff --git a/pkg/config/migrations/m007_qcg_center_url.py b/pkg/core/migrations/m007_qcg_center_url.py similarity index 100% rename from pkg/config/migrations/m007_qcg_center_url.py rename to pkg/core/migrations/m007_qcg_center_url.py diff --git a/pkg/config/migrations/m008_ad_fixwin_config_migrate.py b/pkg/core/migrations/m008_ad_fixwin_config_migrate.py similarity index 100% rename from pkg/config/migrations/m008_ad_fixwin_config_migrate.py rename to pkg/core/migrations/m008_ad_fixwin_config_migrate.py diff --git a/pkg/config/migrations/m009_msg_truncator_cfg.py b/pkg/core/migrations/m009_msg_truncator_cfg.py similarity index 100% rename from pkg/config/migrations/m009_msg_truncator_cfg.py rename to pkg/core/migrations/m009_msg_truncator_cfg.py diff --git a/pkg/config/migrations/m010_ollama_requester_config.py b/pkg/core/migrations/m010_ollama_requester_config.py similarity index 100% rename from pkg/config/migrations/m010_ollama_requester_config.py rename to pkg/core/migrations/m010_ollama_requester_config.py diff --git a/pkg/core/migrations/m011_command_prefix_config.py b/pkg/core/migrations/m011_command_prefix_config.py new file mode 100644 index 00000000..6a9e1118 --- /dev/null +++ b/pkg/core/migrations/m011_command_prefix_config.py @@ -0,0 +1,21 @@ +from __future__ import annotations + +from .. import migration + + +@migration.migration_class("command-prefix-config", 11) +class CommandPrefixConfigMigration(migration.Migration): + """迁移""" + + async def need_migrate(self) -> bool: + """判断当前环境是否需要运行此迁移""" + return 'command-prefix' not in self.ap.command_cfg.data + + async def run(self): + """执行迁移""" + + self.ap.command_cfg.data['command-prefix'] = [ + "!", "!" + ] + + await self.ap.command_cfg.dump_config() diff --git a/pkg/core/stages/migrate.py b/pkg/core/stages/migrate.py index 862d90af..54fcf60f 100644 --- a/pkg/core/stages/migrate.py +++ b/pkg/core/stages/migrate.py @@ -3,10 +3,10 @@ from __future__ import annotations import importlib from .. import stage, app -from ...config import migration -from ...config.migrations import m001_sensitive_word_migration, m002_openai_config_migration, m003_anthropic_requester_cfg_completion, m004_moonshot_cfg_completion -from ...config.migrations import m005_deepseek_cfg_completion, m006_vision_config, m007_qcg_center_url, m008_ad_fixwin_config_migrate, m009_msg_truncator_cfg -from ...config.migrations import m010_ollama_requester_config +from .. import migration +from ..migrations import m001_sensitive_word_migration, m002_openai_config_migration, m003_anthropic_requester_cfg_completion, m004_moonshot_cfg_completion +from ..migrations import m005_deepseek_cfg_completion, m006_vision_config, m007_qcg_center_url, m008_ad_fixwin_config_migrate, m009_msg_truncator_cfg +from ..migrations import m010_ollama_requester_config, m011_command_prefix_config @stage.stage_class("MigrationStage") diff --git a/pkg/pipeline/process/process.py b/pkg/pipeline/process/process.py index e58d15ee..362ece01 100644 --- a/pkg/pipeline/process/process.py +++ b/pkg/pipeline/process/process.py @@ -42,7 +42,9 @@ class Processor(stage.PipelineStage): self.ap.logger.info(f"处理 {query.launcher_type.value}_{query.launcher_id} 的请求({query.query_id}): {message_text}") async def generator(): - if message_text.startswith('!') or message_text.startswith('!'): + cmd_prefix = self.ap.command_cfg.data['command-prefix'] + + if any(message_text.startswith(prefix) for prefix in cmd_prefix): async for result in self.cmd_handler.handle(query): yield result else: diff --git a/templates/command.json b/templates/command.json index 55360fc6..7c93f647 100644 --- a/templates/command.json +++ b/templates/command.json @@ -1,3 +1,7 @@ { - "privilege": {} + "privilege": {}, + "command-prefix": [ + "!", + "!" + ] } \ No newline at end of file