diff --git a/pkg/config/migrations/m005_deepseek_cfg_completion.py b/pkg/config/migrations/m005_deepseek_cfg_completion.py new file mode 100644 index 00000000..bd8aa2ee --- /dev/null +++ b/pkg/config/migrations/m005_deepseek_cfg_completion.py @@ -0,0 +1,30 @@ +from __future__ import annotations + +from .. import migration + + +@migration.migration_class("deepseek-config-completion", 5) +class DeepseekConfigCompletionMigration(migration.Migration): + """OpenAI配置迁移 + """ + + async def need_migrate(self) -> bool: + """判断当前环境是否需要运行此迁移 + """ + return 'deepseek-chat-completions' not in self.ap.provider_cfg.data['requester'] \ + or 'deepseek' not in self.ap.provider_cfg.data['keys'] + + async def run(self): + """执行迁移 + """ + if 'deepseek-chat-completions' not in self.ap.provider_cfg.data['requester']: + self.ap.provider_cfg.data['requester']['deepseek-chat-completions'] = { + 'base-url': 'https://api.deepseek.com', + 'args': {}, + 'timeout': 120, + } + + if 'deepseek' not in self.ap.provider_cfg.data['keys']: + self.ap.provider_cfg.data['keys']['deepseek'] = [] + + await self.ap.provider_cfg.dump_config() \ No newline at end of file diff --git a/pkg/core/stages/migrate.py b/pkg/core/stages/migrate.py index 1146ab67..cef3b42d 100644 --- a/pkg/core/stages/migrate.py +++ b/pkg/core/stages/migrate.py @@ -5,6 +5,7 @@ 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 @stage.stage_class("MigrationStage")